buildscript { repositories { if (rootProject.hasProperty("cacheLocation")) { mavenLocal() maven { url cacheLocation } } else { mavenLocal() gradlePluginPortal() mavenCentral() jcenter() maven { url "https://repo.spring.io/libs-milestone" mavenContent { releasesOnly() } } maven { url "https://repo.spring.io/libs-snapshot" mavenContent { snapshotsOnly() } } maven { url "https://plugins.gradle.org/m2/" mavenContent { releasesOnly() } } } } dependencies { classpath "de.undercouch:gradle-download-task:${project.gradleDownloadTaskVersion}" classpath "org.springframework.boot:spring-boot-gradle-plugin:${project.springBootVersion}" classpath "gradle.plugin.com.google.cloud.tools:jib-gradle-plugin:${project.jibVersion}" classpath "io.freefair.gradle:maven-plugin:${project.gradleMavenPluginVersion}" classpath "io.freefair.gradle:lombok-plugin:${project.gradleLombokPluginVersion}" } } repositories { if (rootProject.hasProperty("cacheLocation")) { mavenLocal() maven { url cacheLocation } } else { mavenLocal() mavenCentral() jcenter() maven { url "https://oss.sonatype.org/content/repositories/snapshots" mavenContent { snapshotsOnly() } } maven { mavenContent { releasesOnly() } url "https://build.shibboleth.net/nexus/content/repositories/releases/" } maven { mavenContent { releasesOnly() } url "https://repo.spring.io/milestone/" } maven { url "https://repo.spring.io/snapshot/" mavenContent { snapshotsOnly() } } maven { mavenContent { snapshotsOnly() } url "https://oss.jfrog.org/artifactory/oss-snapshot-local" } } } def casServerVersion = project.'cas.version' def casWebApplicationBinaryName = "cas.war" project.ext."casServerVersion" = casServerVersion project.ext."casWebApplicationBinaryName" = casWebApplicationBinaryName apply plugin: "io.freefair.war-overlay" apply plugin: "io.freefair.lombok" apply from: rootProject.file("gradle/tasks.gradle") apply plugin: "war" apply plugin: "eclipse" apply plugin: "idea" apply from: rootProject.file("gradle/springboot.gradle") apply from: rootProject.file("gradle/dockerjib.gradle") dependencies { // Other CAS dependencies/modules may be listed here... implementation "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-saml-idp:${project.'cas.version'}" implementation "org.apereo.cas:cas-server-support-oidc:${project.'cas.version'}" } tasks.findByName("jibDockerBuild") .dependsOn(copyWebAppIntoJib, copyConfigIntoJib) .finalizedBy(deleteWebAppFromJib) tasks.findByName("jib") .dependsOn(copyWebAppIntoJib, copyConfigIntoJib) .finalizedBy(deleteWebAppFromJib) configurations.all { resolutionStrategy { cacheChangingModulesFor 0, "seconds" cacheDynamicVersionsFor 0, "seconds" preferProjectModules() def failIfConflict = project.hasProperty("failOnVersionConflict") && Boolean.valueOf(project.getProperty("failOnVersionConflict")) if (failIfConflict) { failOnVersionConflict() } } } eclipse { classpath { downloadSources = true downloadJavadoc = true } } idea { module { downloadJavadoc = true downloadSources = true } }