Compare commits

...

3 Commits

Author SHA1 Message Date
hdeadman efaec9ab70 update travis 2019-10-07 08:49:41 -04:00
hdeadman 8f8e0f0e67 comment out some dependencies
trying to figure out why get no response when browsing to app
2019-10-06 23:39:13 -04:00
hdeadman 6c0e4d8ae9 add all dependencies to war
wip - trying to make single cas image with all support plugins and deps
2019-10-06 23:38:44 -04:00
8 changed files with 438 additions and 7 deletions

View File

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

View File

@ -20,10 +20,15 @@ repositories {
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" }
}
def casServerVersion = project.'cas.version'
@ -41,10 +46,13 @@ 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 {
// Other CAS dependencies/modules may be listed here...
// compile "org.apereo.cas:cas-server-support-json-service-registry:${casServerVersion}"
def buildAll = project.hasProperty("buildAll") && Boolean.valueOf(project.getProperty("buildAll"))
if (buildAll) {
compile libraries.cassupport
}
}
tasks.findByName("jibDockerBuild")
@ -54,7 +62,17 @@ tasks.findByName("jibDockerBuild")
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"
@ -71,8 +89,8 @@ configurations.all {
eclipse {
classpath {
downloadSources = true
downloadJavadoc = true
downloadSources = true
downloadJavadoc = true
}
}
@ -95,7 +113,7 @@ bootWar {
provided = false
//excludes = ["WEB-INF/lib/somejar-1.0*"]
}
}
}
}

59
docker/full/Dockerfile Normal file
View File

@ -0,0 +1,59 @@
# 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"]

13
docker/full/build.sh Executable file
View File

@ -0,0 +1,13 @@
#!/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"

7
docker/full/run.sh Executable file
View File

@ -0,0 +1,7 @@
#!/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

35
docker/full/start_cas.sh Executable file
View File

@ -0,0 +1,35 @@
#!/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,3 +4,6 @@ cas.server.prefix=${cas.server.name}/cas
logging.config: file:/etc/cas/config/log4j2.xml
# cas.authn.accept.users=
# properties needed for startup

293
gradle/cassupport.gradle Normal file
View File

@ -0,0 +1,293 @@
//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}")
]
]