Compare commits

..

33 Commits

Author SHA1 Message Date
Misagh Moayyed fad84305ee
update tomcat 2020-03-19 11:02:52 +03:30
Misagh Moayyed 75828fb101
Updated: code cleanup and styling; fixes test cases 2020-03-03 18:59:26 +03:30
Misagh Moayyed 4d26b4cc87
Updated: code cleanup and styling; fixes test cases 2020-02-26 19:36:32 +03:30
Misagh Moayyed cd8ff40c8c
switch to gradle 6.2 2020-02-18 09:55:40 +04:00
Misagh Moayyed 37d40bddac
minor adjustments to build 2020-02-12 12:03:41 +04:00
Misagh Moayyed a9137ac532
clean up build repos 2020-02-11 18:43:08 +04:00
Misagh Moayyed 9e88707343
bring bootRun back 2020-02-10 22:37:01 +04:00
Misagh Moayyed 5113450681
docker refinements 2020-01-31 16:02:49 +04:00
Misagh Moayyed b6cd25a9e5
Upgrade jib plugin (#44) 2020-01-29 13:11:43 +04:00
Hal Deadman 794331ff63
add missing gradle repository (#43)
* add missing gradle repository 

The CAS snapshot repository is needed if building a overlay on a snapshot version if you haven't been building CAS locally.

* Update tasks.gradle

Co-authored-by: Misagh Moayyed <mm1844@gmail.com>
2020-01-29 12:12:22 +04:00
Misagh Moayyed fbdcb23696
Updated: code cleanup and styling; fixes test cases 2020-01-21 18:14:22 +04:00
Misagh Moayyed 93ef556b98
Update gradle.properties 2020-01-21 18:12:49 +04:00
Misagh Moayyed c658edcef8
bump to spring boot 2.2.3 2020-01-18 11:03:31 +04:00
Misagh Moayyed 70097b86bf
Updated: code cleanup and styling; fixes test cases 2020-01-16 10:33:21 +04:00
Misagh Moayyed fee67b81e3
Updated: code cleanup and styling; fixes test cases 2020-01-16 10:29:56 +04:00
Misagh Moayyed 71889cfe5f
support payara micro deployments 2020-01-12 17:23:09 +04:00
Misagh Moayyed 57d82dc57e
fix image tag 2020-01-08 09:57:15 +04:00
Misagh Moayyed 5ad1e9e254
fix docker push scripts
(cherry picked from commit ecb2aa52b188d5a1ed040c4ad332df707f95283c)
2020-01-06 17:09:40 +04:00
Misagh Moayyed 9b4a5db948
workout boot-run in overlay. clean up build 2019-12-31 11:08:28 +04:00
Misagh Moayyed bbf788fd6e
build task for config metadata 2019-12-14 13:46:02 +04:00
Misagh Moayyed 704908dfae
Update gradle.properties 2019-12-08 12:49:17 +04:00
Misagh Moayyed 2466fbe872
switch to implementation from compile 2019-12-01 17:00:48 +04:00
Misagh Moayyed aa08664f70
Merge branch 'master' of github.com:apereo/cas-overlay-template 2019-12-01 16:46:56 +04:00
NgSekLong 37db128082 Feature request: Allow copy resource by name with suffix (#40)
* Update tasks.gradle

* Update tasks.gradle
2019-12-01 16:46:47 +04:00
Misagh Moayyed 4ba7fc6bed
upgrade build; add lombok for comfort 2019-12-01 16:45:39 +04:00
Misagh Moayyed 742b6cee08
switch to gradle 6 2019-12-01 16:28:25 +04:00
Misagh Moayyed 2a0dab938e
Update gradle.properties 2019-11-15 22:41:40 +04:00
Misagh Moayyed 3a159a043a
Update gradle.properties 2019-11-07 13:14:08 +04:00
Misagh Moayyed f3b7a4d9fc
Update gradle.properties 2019-10-30 21:44:23 +04:00
Misagh Moayyed b3d8698cba
update versions 2019-10-28 13:05:51 +04:00
Misagh Moayyed e9105bf459
fix jib issue with registry options 2019-10-20 13:18:40 +04:00
Misagh Moayyed ce08720a1e
upgrade gradle 2019-10-19 01:05:12 +04:00
Misagh Moayyed 3ebfa1da19
Update gradle.properties 2019-10-18 19:54:41 +04:00
26 changed files with 290 additions and 534 deletions

7
.dockerignore Normal file
View File

@ -0,0 +1,7 @@
target/**
build/**
bin/**
.idea/**
.history/**
.github/**
.git/**

11
.github/renovate.json vendored Normal file
View File

@ -0,0 +1,11 @@
{
"extends": [
"config:base",
":preserveSemverRanges",
":rebaseStalePrs",
":disableRateLimiting",
":semanticCommits",
":semanticCommitTypeAll(renovatebot)"
],
"labels": ["dependencies", "bot"]
}

3
.gitignore vendored
View File

@ -18,4 +18,5 @@ bin/
*.log
tmp/
./apache-tomcat
apache-tomcat.zip
apache-tomcat.zip
config-metadata.properties

View File

@ -59,7 +59,4 @@ jobs:
name: "Build Docker Image via Docker Compose"
- stage: docker
script: ./docker-build.sh
name: "Build Docker Image"
- stage: docker
script: cd docker/full && ./build.sh
name: "Build Full Docker Image"
name: "Build Docker Image"

View File

@ -13,7 +13,7 @@ RUN mkdir -p ~/.gradle \
&& ./gradlew --version;
RUN cd cas-overlay \
&& ./gradlew clean build --parallel;
&& ./gradlew clean build --parallel --no-daemon;
FROM adoptopenjdk/openjdk11:alpine-jre AS cas

View File

@ -5,7 +5,7 @@ Generic CAS WAR overlay to exercise the latest versions of CAS. This overlay cou
# Versions
- CAS `6.1.x`
- CAS `6.2.x`
- JDK `11`
# Overview

View File

@ -1,17 +1,28 @@
buildscript {
repositories {
mavenLocal()
gradlePluginPortal()
mavenCentral()
jcenter()
maven { url "https://repo.spring.io/libs-milestone" }
maven { url "https://repo.spring.io/libs-snapshot" }
maven { url "https://plugins.gradle.org/m2/" }
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}"
}
}
@ -19,16 +30,26 @@ repositories {
mavenLocal()
mavenCentral()
jcenter()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
maven { url "https://oss.sonatype.org/content/repositories/releases" }
maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" }
maven { url "https://repo.spring.io/milestone/" }
maven { url "https://repo.spring.io/snapshot/" }
maven { url "https://repo.spring.io/libs-release/" }
maven { url "https://oss.jfrog.org/artifactory/oss-snapshot-local" }
maven { url "https://dl.bintray.com/uniconiam/maven" }
maven { url "https://maven.repository.redhat.com/ga/" }
maven { url "https://jitpack.io" }
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'
@ -38,6 +59,7 @@ 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"
@ -46,13 +68,10 @@ apply plugin: "idea"
apply from: rootProject.file("gradle/springboot.gradle")
apply from: rootProject.file("gradle/dockerjib.gradle")
apply from: rootProject.file("gradle/cassupport.gradle")
dependencies {
def buildAll = project.hasProperty("buildAll") && Boolean.valueOf(project.getProperty("buildAll"))
if (buildAll) {
compile libraries.cassupport
}
// Other CAS dependencies/modules may be listed here...
// implementation "org.apereo.cas:cas-server-support-json-service-registry:${casServerVersion}"
}
tasks.findByName("jibDockerBuild")
@ -63,16 +82,6 @@ tasks.findByName("jib")
.dependsOn(copyWebAppIntoJib, copyConfigIntoJib)
.finalizedBy(deleteWebAppFromJib)
// temporary exclusions for jars finding there way into cas.war
// transitive dependencies should be tracked down and appropriate exclusions added
configurations {
runtime.exclude group: 'ch.qos.logback'
runtime.exclude module: 'ehcache-core'
compile.exclude group: 'ch.qos.logback'
compile.exclude module: 'ehcache-core'
}
configurations.all {
resolutionStrategy {
cacheChangingModulesFor 0, "seconds"
@ -89,8 +98,8 @@ configurations.all {
eclipse {
classpath {
downloadSources = true
downloadJavadoc = true
downloadSources = true
downloadJavadoc = true
}
}
@ -99,25 +108,4 @@ idea {
downloadJavadoc = true
downloadSources = true
}
}
bootWar {
entryCompression = ZipEntryCompression.STORED
overlays {
// https://docs.freefair.io/gradle-plugins/current/reference/#_io_freefair_war_overlay
// Note: The "excludes" property is only for files in the war dependency.
// If a jar is excluded from the war, it could be brought back into the final war as a dependency
// of non-war dependencies. Those should be excluded via normal gradle dependency exclusions.
cas {
from "org.apereo.cas:cas-server-webapp${project.appServer}:${casServerVersion}@war"
provided = false
//excludes = ["WEB-INF/lib/somejar-1.0*"]
}
}
}
wrapper {
distributionType = Wrapper.DistributionType.BIN
gradleVersion = "${project.gradleVersion}"
}
}

View File

@ -2,9 +2,9 @@
image_tag=(`cat gradle.properties | grep "cas.version" | cut -d= -f2`)
echo "Building CAS docker image tagged as [$image_tag]"
echo "Building CAS docker image tagged as [v$image_tag]"
# read -p "Press [Enter] to continue..." any_key;
docker build --tag="org.apereo.cas/cas:$image_tag" . \
&& echo "Built CAS image successfully tagged as org.apereo.cas/cas:$image_tag" \
&& docker images "org.apereo.cas/cas:$image_tag"
docker build --tag="org.apereo.cas/cas:v$image_tag" . \
&& echo "Built CAS image successfully tagged as org.apereo.cas/cas:v$image_tag" \
&& docker images "org.apereo.cas/cas:v$image_tag"

View File

@ -7,6 +7,6 @@ echo "$docker_psw" | docker login --username "$docker_user" --password-stdin
image_tag=(`cat gradle.properties | grep "cas.version" | cut -d= -f2`)
echo "Pushing CAS docker image tagged as $image_tag to org.apereo.cas/cas..."
docker push org.apereo.cas/cas:"$image_tag" \
&& echo "Pushed org.apereo.cas/cas:$image_tag successfully.";
echo "Pushing CAS docker image tagged as v$image_tag to org.apereo.cas/cas..."
docker push org.apereo.cas/cas:"v$image_tag" \
&& echo "Pushed org.apereo.cas/cas:v$image_tag successfully.";

View File

@ -3,5 +3,5 @@
docker stop cas > /dev/null 2>&1
docker rm cas > /dev/null 2>&1
image_tag=(`cat gradle.properties | grep "cas.version" | cut -d= -f2`)
docker run -d -p 8080:8080 -p 8443:8443 --name="cas" org.apereo.cas/cas:"${image_tag}"
docker run -d -p 8080:8080 -p 8443:8443 --name="cas" org.apereo.cas/cas:"v${image_tag}"
docker logs -f cas

View File

@ -1,59 +0,0 @@
# syntax=docker/dockerfile:experimental
FROM adoptopenjdk/openjdk11:alpine-slim AS overlay
COPY ./src cas-overlay/src/
COPY ./gradle/ cas-overlay/gradle/
COPY ./gradlew ./settings.gradle ./build.gradle ./gradle.properties /cas-overlay/
RUN --mount=type=cache,target=/root/.gradle echo "org.gradle.daemon=false" > ~/.gradle/gradle.properties \
&& echo "org.gradle.configureondemand=true" >> ~/.gradle/gradle.properties \
&& cd cas-overlay \
&& chmod 750 ./gradlew \
&& ./gradlew --version
# build war with all support jars in lib folder rather than in war
RUN --mount=type=cache,target=/root/.gradle cd cas-overlay \
&& ./gradlew clean build -PbuildAll=true --parallel;
# create fresh keystore (can be volume mapped with real certs by runner)
RUN --mount=type=cache,target=/root/.gradle cd cas-overlay \
&& ./gradlew createKeystore
# put support jars in support folder
# switch to PropertiesLauncher so we can reference external libs
# repackage war without suport jars
RUN cd cas-overlay/build/libs/ && \
jar xf cas.war && \
mkdir ../support && \
rm cas.war && \
mv WEB-INF/lib/cas-server-support*.jar ../support && \
sed -i 's/WarLauncher/PropertiesLauncher/g' META-INF/MANIFEST.MF && \
jar --create --file cas.war --manifest=META-INF/MANIFEST.MF --no-compress .
# build runtime image with war and support libs from previous layer
FROM adoptopenjdk/openjdk11:alpine AS cas
LABEL "Organization"="Apereo"
LABEL "Description"="Apereo CAS"
RUN cd / \
&& mkdir -p /etc/cas/config \
&& mkdir -p /etc/cas/services \
&& mkdir -p /etc/cas/saml \
&& mkdir -p cas-overlay \
&& apk update && apk add bash
COPY etc/cas/config/ /etc/cas/config/
COPY etc/cas/services/ /etc/cas/services/
COPY etc/cas/saml/ /etc/cas/saml/
COPY --from=overlay /etc/cas/thekeystore /etc/cas/thekeystore
COPY --from=overlay cas-overlay/build/libs/cas.war cas-overlay/
COPY --from=overlay cas-overlay/build/support cas-overlay/support
EXPOSE 8080 8443
ARG VERSION
ENV VERSION=${VERSION}
ENV PATH $PATH:$JAVA_HOME/bin:.
ENV SUPPORT_LIBS=""
ADD docker/full/start_cas.sh cas-overlay
WORKDIR cas-overlay
ENTRYPOINT ["/cas-overlay/start_cas.sh"]

View File

@ -1,13 +0,0 @@
#!/bin/bash
# enable experimental features https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/experimental.md
export DOCKER_BUILDKIT=1
image_tag=(`cat ../../gradle.properties | grep "cas.version" | cut -d= -f2`)
echo "Building CAS docker image tagged as [$image_tag]"
# read -p "Press [Enter] to continue..." any_key;
docker build $1 --build-arg VERSION=$image_tag --tag="org.apereo.cas/cas:$image_tag" --file Dockerfile ../.. \
&& echo "Built CAS image successfully tagged as org.apereo.cas/cas:$image_tag" \
&& docker images "org.apereo.cas/cas:$image_tag"

View File

@ -1,7 +0,0 @@
#!/bin/bash
CONTAINER_NAME=${1:-cas}
image_tag=(`cat ../../gradle.properties | grep "cas.version" | cut -d= -f2`)
docker stop $CONTAINER_NAME
docker rm $CONTAINER_NAME
docker run --rm -d -p 9010:9010 -p 8443:8443 -p 8080:8080 --name $CONTAINER_NAME org.apereo.cas/cas:$image_tag
docker logs cas -f

View File

@ -1,35 +0,0 @@
#!/bin/bash
DEFAULT_JVM_ARGS="-Xms1500M -Xmx3000M"
RESULT_JVM_ARGS=${JVM_ARGS:-$DEFAULT_JVM_ARGS}
CLOUD_VAULT_CONFIG=${CLOUD_VAULT_CONFIG:-false}
CLOUD_CONSUL_CONFIG=${CLOUD_CONSUL_CONFIG:-false}
CLOUD_ZOOKEEPER_CONFIG=${CLOUD_ZOOKEEPER_CONFIG:-false}
DEFAULT_SUPPORT_LIBS=actions,geolocation,jpa-util,ldap-core,pac4j-api,pac4j-authentication,pac4j-core,person-directory,themes,token-core-api,validation,validation-core
SUPPORT_LIBS=$DEFAULT_SUPPORT_LIBS,$SUPPORT_LIBS
if [[ ! -z ${SUPPORT_LIBS} ]]; then
if [[ ! -d /cas-overlay/libs ]] ; then
mkdir /cas-overlay/libs
fi
rm -f /cas-overlay/libs/*
for SUPPORT_LIB in $(echo $SUPPORT_LIBS | sed "s/,/ /g")
do
if [[ ! -z ${SUPPORT_LIB} ]] ; then
echo "Linking support library ${SUPPORT_LIB}"
ln -s /cas-overlay/support/cas-server-support-${SUPPORT_LIB}-${VERSION}.jar /cas-overlay/libs/cas-server-support-${SUPPORT_LIB}.jar
fi
done
fi
# turn off some things, mostly cloud config options, make configurable later
CAS_ARGS="--spring.cloud.zookeeper.enabled=${CLOUD_ZOOKEEPER_CONFIG} --spring.cloud.amqp.enabled=false --spring.cloud.vault.enabled=${CLOUD_VAULT_CONFIG} --spring.cloud.consul.enabled=${CLOUD_CONSUL_CONFIG} --eureka.client.enabled=false --spring.zipkin.enabled=false --spring.sleuth.enabled=false --ribbon.eureka.enabled=false --feign.hystrix.enabled=false"
exec /opt/java/openjdk/bin/java -Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9010 \
-Dcom.sun.management.jmxremote.local.only=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-server -noverify \
-Dloader.path=WEB-INF/classes,WEB-INF/lib,/cas-overlay/libs $RESULT_JVM_ARGS -jar cas.war $CAS_ARGS

View File

@ -4,6 +4,3 @@ cas.server.prefix=${cas.server.name}/cas
logging.config: file:/etc/cas/config/log4j2.xml
# cas.authn.accept.users=
# properties needed for startup

View File

@ -1,27 +1,28 @@
# Versions
cas.version=6.1.0-SNAPSHOT
springBootVersion=2.2.0.RC1
cas.version=6.2.0-SNAPSHOT
springBootVersion=2.2.5.RELEASE
# Use -jetty, -undertow to other containers
# Or blank if you want to deploy to an external container
appServer=-tomcat
executable=false
gradleVersion=5.6.2
tomcatVersion=9.0.24
tomcatVersion=9.0.33
group=org.apereo.cas
sourceCompatibility=11
targetCompatibility=11
jibVersion=1.6.0
jibVersion=2.1.0
# Location of the downloaded CAS shell JAR
shellDir=build/libs
ivyVersion=2.4.0
gradleDownloadTaskVersion=3.4.3
gradleMavenPluginVersion=3.8.4
gradleMavenPluginVersion=4.1.5
gradleLombokPluginVersion=4.1.5
# use without "-slim" in tag name if you want tools like jstack, adds about 100MB to image size
# (https://hub.docker.com/r/adoptopenjdk/openjdk11/tags/)
baseDockerImage=adoptopenjdk/openjdk11:alpine-jre
allowInsecureRegistries=false

View File

@ -1,293 +0,0 @@
//for f in `ls -d cas* | grep -v -logback | grep -v -shell` ; do echo "dependencies.create(\"org.apereo.cas:$f:\${casServerVersion}\"),"; done
ext.libraries = [
shell : [
//dependencies.create("org.apereo.cas:cas-server-support-shell:${casServerVersion}"),
],
logback : [
//dependencies.create("org.apereo.cas:cas-server-support-logback:${casServerVersion}")
],
cassupport : [
dependencies.create("org.apereo.cas:cas-server-support-acceptto-mfa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-actions:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-audit-couchbase:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-audit-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-audit-dynamodb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-audit-jdbc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-audit-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-audit-redis:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-audit-rest:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aup-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aup-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aup-jdbc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aup-ldap:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aup-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aup-redis:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aup-rest:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aup-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-authy:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-authy-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aws:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-aws-cognito-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-basic:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-bom:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-bootadmin-client:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-captcha:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-cassandra-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-cassandra-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-cassandra-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-cassandra-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-cloud-directory-authentication:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-amqp:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-aws-s3:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-aws-secretsmanager:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-azure-keyvault:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-dynamodb:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-jdbc:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-kafka:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-mongo:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-vault:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-configuration-cloud-zookeeper:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consent-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consent-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consent-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consent-jdbc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consent-ldap:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consent-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consent-redis:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consent-rest:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consent-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-consul-client:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-cosmosdb-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-cosmosdb-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-couchbase-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-couchbase-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-couchbase-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-couchbase-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-couchdb-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-couchdb-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-couchdb-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-couchdb-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-digest-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-discovery-profile:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-duo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-duo-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-duo-core-mfa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-dynamodb-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-dynamodb-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-dynamodb-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ehcache-monitor:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ehcache-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-electrofence:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-eureka-client:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-events-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-events-influxdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-events-jpa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-events-memory:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-events-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-fortress:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-gauth:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-gauth-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-gauth-core-mfa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-gauth-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-gauth-jpa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-gauth-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-gauth-redis:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-generic:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-generic-remote-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-geolocation:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-geolocation-googlemaps:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-geolocation-maxmind:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-git-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-google-analytics:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-grouper:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-grouper-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-gua:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-hazelcast:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-hazelcast-core:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-hazelcast-discovery-aws:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-hazelcast-discovery-azure:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-hazelcast-discovery-jclouds:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-hazelcast-discovery-kubernetes:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-hazelcast-discovery-swarm:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-hazelcast-monitor:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-hazelcast-ticket-registry:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-ignite-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-infinispan-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-influxdb-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-interrupt-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-interrupt-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-interrupt-webflow:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-javamelody:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-jdbc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-jdbc-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-jdbc-drivers:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-jdbc-monitor:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-jms-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-jmx:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-jpa-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-jpa-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-jpa-util:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-json-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ldap:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ldap-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ldap-monitor:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ldap-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-logging-config-cloudwatch:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-logging-config-splunk:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-memcached-aws-elasticache:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-memcached-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-memcached-monitor:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-memcached-spy:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-memcached-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-metrics:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-mongo-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-mongo-monitor:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-mongo-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-mongo-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oauth:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oauth-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oauth-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oauth-core-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oauth-services:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oauth-uma:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oauth-uma-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oauth-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oidc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oidc-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oidc-core-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-oidc-services:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-openid:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-openid-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-otp-mfa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-otp-mfa-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pac4j:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pac4j-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pac4j-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pac4j-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pac4j-core-clients:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pac4j-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-passwordless:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-person-directory:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pm:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pm-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pm-jdbc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pm-ldap:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pm-rest:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-pm-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-radius:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-radius-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-radius-core-mfa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-radius-mfa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-redis-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-redis-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-redis-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-redis-ticket-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-reports:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-reports-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-rest:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-rest-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-rest-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-rest-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-rest-services:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-rest-tokens:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-rest-x509:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-core-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-googleapps:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-googleapps-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp-metadata:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp-metadata-aws-s3:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp-metadata-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp-metadata-jpa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp-metadata-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp-metadata-rest:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp-ticket:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-idp-web:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-mdui:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-mdui-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-saml-sp-integrations:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-scim:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-script-engines:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-sentry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-service-registry-stream:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-service-registry-stream-hazelcast:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-session-hazelcast:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-session-jdbc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-session-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-session-redis:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-shibboleth:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-shiro-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-simple-mfa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-sleuth:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-sms-aws-sns:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-sms-clickatell:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-sms-nexmo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-sms-textmagic:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-sms-twilio:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-soap-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-spnego:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-spnego-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-surrogate-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-surrogate-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-surrogate-authentication-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-surrogate-authentication-jdbc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-surrogate-authentication-ldap:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-surrogate-authentication-rest:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-surrogate-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-swivel:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-swivel-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-syncope-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-themes:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-throttle:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-throttle-bucket4j:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-throttle-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-throttle-couchdb:${casServerVersion}"),
//dependencies.create("org.apereo.cas:cas-server-support-throttle-hazelcast:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-throttle-jdbc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-throttle-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-throttle-redis:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-token-authentication:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-token-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-token-core-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-token-tickets:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-token-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-trusted:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-trusted-mfa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-trusted-mfa-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-trusted-mfa-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-trusted-mfa-dynamodb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-trusted-mfa-jdbc:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-trusted-mfa-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-trusted-mfa-rest:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-trusted-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-u2f:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-u2f-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-u2f-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-u2f-jpa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-u2f-mongo:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-u2f-redis:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-validation:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-validation-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-wsfederation:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-wsfederation-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ws-idp:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ws-idp-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ws-sts:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-ws-sts-api:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-x509:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-x509-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-x509-webflow:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-yaml-service-registry:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-yubikey:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-yubikey-core:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-yubikey-core-mfa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-yubikey-couchdb:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-yubikey-jpa:${casServerVersion}"),
dependencies.create("org.apereo.cas:cas-server-support-yubikey-mongo:${casServerVersion}")
]
]

View File

@ -17,11 +17,11 @@ jib {
username = "*******"
password = "*******"
}
tags = [casServerVersion]
*/
tags = ["v" + casServerVersion]
}
container {
useCurrentTimestamp = true
creationTime = "USE_CURRENT_TIMESTAMP"
entrypoint = ['docker/entrypoint.sh']
ports = ['80', '443', '8080', '8443']
labels = [version:casServerVersion, name:project.name, group:project.group]
@ -32,6 +32,7 @@ jib {
'/docker/entrypoint.sh': '755'
]
}
allowInsecureRegistries = project.allowInsecureRegistries
}
task copyWebAppIntoJib(type: Copy, group: "Docker", description: "Copy the web application into Docker image") {

View File

@ -1,24 +1,101 @@
apply plugin: "org.springframework.boot"
bootRun.enabled = false
bootRun.onlyIf { return false }
tasks.remove(tasks['bootRun'])
configurations {
bootRunConfig.extendsFrom compileClasspath
}
dependencies {
bootRunConfig "org.apereo.cas:cas-server-webapp-init:${casServerVersion}"
bootRunConfig "org.apereo.cas:cas-server-webapp-tomcat:${casServerVersion}"
bootRunConfig "org.springframework.boot:spring-boot-devtools:${project.springBootVersion}"
}
sourceSets {
bootRunSources {
resources {
srcDirs new File("//etc/cas/templates/"),
new File("${project.getProjectDir()}/src/main/resources/")
}
}
}
bootRun {
classpath = configurations.bootRunConfig + sourceSets.main.compileClasspath + sourceSets.main.runtimeClasspath
doFirst {
sourceResources sourceSets.bootRunSources
systemProperties = System.properties
}
def list = []
list.add("-XX:TieredStopAtLevel=1")
list.add("-Xverify:none")
list.add("--add-modules")
list.add("java.se")
list.add("--add-exports")
list.add("java.base/jdk.internal.ref=ALL-UNNAMED")
list.add("--add-opens")
list.add("java.base/java.lang=ALL-UNNAMED")
list.add("--add-opens")
list.add("java.base/java.nio=ALL-UNNAMED")
list.add("--add-opens")
list.add("java.base/sun.nio.ch=ALL-UNNAMED")
list.add("--add-opens")
list.add("java.management/sun.management=ALL-UNNAMED")
list.add("--add-opens")
list.add("jdk.management/com.sun.management.internal=ALL-UNNAMED")
list.add("-XX:+UnlockExperimentalVMOptions")
list.add("-XX:+EnableJVMCI")
list.add("-XX:+UseJVMCICompiler")
list.add("-Xrunjdwp:transport=dt_socket,address=5000,server=y,suspend=n")
jvmArgs = list
def appArgList = []
args = appArgList
}
springBoot {
buildInfo()
mainClassName = "org.apereo.cas.web.CasWebApplication"
}
bootWar {
doFirst {
def executable = project.hasProperty("executable") && Boolean.valueOf(project.getProperty("executable"))
if (executable) {
logger.info "Including launch script for executable WAR artifact"
launchScript()
} else {
logger.info "WAR artifact is not marked as an executable"
}
archiveName "${casWebApplicationBinaryName}"
baseName "cas"
excludeDevtools = true
def executable = project.hasProperty("executable") && Boolean.valueOf(project.getProperty("executable"))
if (executable) {
logger.info "Including launch script for executable WAR artifact"
launchScript()
} else {
logger.info "WAR artifact is not marked as an executable"
}
}
archiveName "${casWebApplicationBinaryName}"
baseName "cas"
excludeDevtools = false
entryCompression = ZipEntryCompression.STORED
/*
attachClasses = true
classesClassifier = 'classes'
archiveClasses = true
*/
overlays {
/*
https://docs.freefair.io/gradle-plugins/current/reference/#_io_freefair_war_overlay
Note: The "excludes" property is only for files in the war dependency.
If a jar is excluded from the war, it could be brought back into the final war as a dependency
of non-war dependencies. Those should be excluded via normal gradle dependency exclusions.
*/
cas {
from "org.apereo.cas:cas-server-webapp${project.appServer}:${casServerVersion}@war"
provided = false
/*
excludes = ["WEB-INF/lib/somejar-1.0*"]
enableCompilation = true
includes = ["*.xyz"]
targetPath = "sub-path/bar"
skip = false
*/
}
}
}

View File

@ -1,19 +1,28 @@
import org.apache.ivy.util.url.*
import org.apache.ivy.util.url.ApacheURLLister
import org.apache.tools.ant.taskdefs.condition.Os
import org.gradle.api.tasks.Copy
import org.gradle.internal.logging.text.StyledTextOutputFactory
import java.nio.file.*
import org.gradle.internal.logging.text.StyledTextOutputFactory;
import static org.gradle.internal.logging.text.StyledTextOutput.Style;
import java.nio.file.Files
import java.nio.file.Paths
import java.nio.file.StandardCopyOption
import static org.gradle.internal.logging.text.StyledTextOutput.Style
buildscript {
repositories {
mavenLocal()
mavenCentral()
jcenter()
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
mavenContent { snapshotsOnly() }
}
}
dependencies {
classpath "org.apache.ivy:ivy:${project.ivyVersion}"
classpath "org.apereo.cas:cas-server-core-api-configuration-model:${project.'cas.version'}"
classpath "org.apereo.cas:cas-server-core-configuration-metadata-repository:${project.'cas.version'}"
}
}
@ -22,8 +31,8 @@ apply plugin: "de.undercouch.download"
def tomcatDirectory = "${buildDir}/apache-tomcat-${tomcatVersion}"
project.ext."tomcatDirectory" = tomcatDirectory
def explodedDir="${buildDir}/cas"
def explodedResourcesDir="${buildDir}/cas-resources"
def explodedDir = "${buildDir}/cas"
def explodedResourcesDir = "${buildDir}/cas-resources"
def resourceJarName = "cas-server-webapp-resources"
task copyCasConfiguration(type: Copy, group: "build", description: "Copy the CAS configuration from this project to /etc/cas/config") {
@ -54,6 +63,7 @@ task run(group: "build", description: "Run the CAS web application in embedded c
main = "-jar"
jvmArgs = casRunArgs
args = ["build/libs/${casWebApplicationBinaryName}"]
systemProperties = System.properties
logger.info "Started ${commandLine}"
}
}
@ -66,7 +76,7 @@ task setExecutable(group: "build", description: "Configure the project to run in
}
}
task executable(type:Exec, group: "build", description: "Run the CAS web application in standalone executable mode") {
task executable(type: Exec, group: "build", description: "Run the CAS web application in standalone executable mode") {
dependsOn setExecutable, 'build'
doFirst {
workingDir "."
@ -88,6 +98,7 @@ task debug(group: "build", description: "Debug the CAS web application in embedd
jvmArgs = casArgs
debug = true
args = ["build/libs/${casWebApplicationBinaryName}"]
systemProperties = System.properties
logger.info "Started ${commandLine}"
}
}
@ -102,7 +113,7 @@ task downloadShell(group: "shell", description: "Download CAS shell jar from sna
if (isRunningCasServerSnapshot(casServerVersion)) {
def snapshotDir = "https://oss.sonatype.org/content/repositories/snapshots/org/apereo/cas/cas-server-support-shell/${casServerVersion}/"
def files = new ApacheURLLister().listFiles(new URL(snapshotDir))
files = files.sort{it.path}
files = files.sort { it.path }
files.each {
if (it.path.endsWith(".jar")) {
downloadFile = it
@ -120,7 +131,7 @@ task downloadShell(group: "shell", description: "Download CAS shell jar from sna
}
}
task runShell(group: "shell", description: "Run the CAS shell") {
task runShell(group: "shell", description: "Run the CAS shell") {
dependsOn downloadShell
doLast {
println "Run the following command to launch the shell:\n\tjava -jar ${project.shellDir}/cas-server-support-shell-${casServerVersion}.jar"
@ -148,7 +159,7 @@ task allDependenciesInsight(group: "build", type: DependencyInsightReportTask, d
task allDependencies(group: "build", type: DependencyReportTask, description: "Display a graph of all project dependencies") {}
task casVersion (group: "build", description: "Display the current CAS version") {
task casVersion(group: "build", description: "Display the current CAS version") {
doFirst {
def verbose = project.hasProperty("verbose") && Boolean.valueOf(project.getProperty("verbose"))
if (verbose) {
@ -204,16 +215,73 @@ task createKeystore(group: "build", description: "Create CAS keystore") {
}
}
task listTemplateViews (group: "build", description: "List all CAS views") {
task listTemplateViews(group: "build", description: "List all CAS views") {
dependsOn explodeWar
doFirst {
fileTree(explodedResourcesDir).matching {
include "**/*.html"
}
.collect { it.name }
.toSorted()
.each { println it }
.collect { it.name }
.toSorted()
.each { println it }
}
}
task exportConfigMetadata(group: "build", description: "Export collection of CAS properties") {
doLast {
def file = new File(project.rootDir, 'config-metadata.properties')
file.withWriter('utf-8') { writer ->
def metadataRepository = new org.apereo.cas.metadata.CasConfigurationMetadataRepository()
def repository = metadataRepository.repository;
repository.allGroups
.values()
.sort { o1, o2 -> o1.id <=> o2.id }
.each({ group ->
def groupProperties = group.properties
if (!groupProperties.isEmpty()) {
def groupId = group.id.equalsIgnoreCase("_ROOT_GROUP_") ? "" : group.id + "."
writer.writeLine("# Group ${group.id}");
writer.writeLine("# ====================")
groupProperties
.values()
.sort { o1, o2 -> o1.id <=> o2.id }
.each({ property ->
def description = property.shortDescription
if (!property.shortDescription?.equalsIgnoreCase(property.description) && property.description != null) {
description = property.description.replace('\n', '#')
}
writer.writeLine("# ${description}");
writer.writeLine("# Type: ${property.type}");
if (property.deprecated) {
def deprecation = property.deprecation
writer.writeLine("# This setting is deprecated with a severity level of ${deprecation.level}.")
if (deprecation.shortReason != null) {
writer.writeLine("# because ${deprecation.shortReason}")
}
if (deprecation.replacement != null) {
writer.writeLine("# Replace with: ${deprecation.replacement}")
}
}
property.hints.valueHints.each {
if (it.value instanceof Object[]) {
if (it.value[0].toString().contains("RequiresModule")) {
writer.writeLine("# Required module: org.apereo.cas:${it.description}")
writer.writeLine("# Automatically included/available: ${it.value[1]}")
}
}
if (it.value.toString().contains("RequiredProperty")) {
writer.writeLine("# Note: This setting is required!")
}
}
writer.writeLine("${groupId}${property.name}=${property.defaultValue}")
writer.writeLine("")
});
}
});
}
println "Configuration metadata is available at ${file.absolutePath}"
}
}
@ -225,6 +293,7 @@ task getResource(group: "build", description: "Fetch a CAS resource and move it
def results = fileTree(explodedResourcesDir).matching {
include "**/${resourceName}.*"
include "**/${resourceName}"
}
if (results.isEmpty()) {
println "No resources could be found matching ${resourceName}"
@ -252,4 +321,11 @@ task getResource(group: "build", description: "Fetch a CAS resource and move it
def isRunningCasServerSnapshot(casServerVersion) {
return "${casServerVersion}".contains("-SNAPSHOT")
}
}
task verifyRequiredJavaVersion {
logger.info "Checking current Java version ${JavaVersion.current()} for required Java version ${project.targetCompatibility}"
if (!JavaVersion.current().name.equalsIgnoreCase("${project.targetCompatibility}")) {
throw new GradleException("Current Java version ${JavaVersion.current()} does not match required Java version ${project.targetCompatibility}")
}
}

Binary file not shown.

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

29
gradlew vendored
View File

@ -154,19 +154,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
i=`expr $i + 1`
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
@ -175,14 +175,9 @@ save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

3
gradlew.bat vendored
View File

@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

2
lombok.config Normal file
View File

@ -0,0 +1,2 @@
# This file is generated by the 'io.freefair.lombok' Gradle plugin
config.stopBubbling = true

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1"
metadata-complete="true"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
</web-app>