You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by jo...@apache.org on 2020/07/15 11:33:45 UTC

[isis] branch ISIS-2374 updated: ISIS-2374 extracting bill of materials from gradle.build files into dependencies.gradle 1/2

This is an automated email from the ASF dual-hosted git repository.

joergrade pushed a commit to branch ISIS-2374
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/ISIS-2374 by this push:
     new 3ea2ae9   ISIS-2374 extracting bill of materials from gradle.build files into dependencies.gradle 1/2
3ea2ae9 is described below

commit 3ea2ae9677bcc70b28812e30f9989c457eda1f52
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Wed Jul 15 13:28:56 2020 +0200

     ISIS-2374 extracting bill of materials from gradle.build files into dependencies.gradle 1/2
---
 api/applib/build.gradle                            | 14 ++--
 api/schema/build.gradle                            |  2 +-
 build.gradle                                       |  2 +
 core/codegen-bytebuddy/build.gradle                |  2 +-
 core/commons/build.gradle                          | 24 +++----
 core/internaltestsupport/build.gradle              | 18 ++---
 core/metamodel/build.gradle                        | 10 +--
 core/runtimeservices/build.gradle                  |  2 +-
 core/security/build.gradle                         | 12 ++--
 dependencies.gradle                                | 49 +++++++++++++
 examples/demo/wicket/build.gradle                  |  2 +-
 extensions/core/flyway/impl/build.gradle           |  2 +-
 gradle.properties                                  | 80 ++++++++++++++++++++++
 legacy/extensions/core/applib/build.gradle         |  4 +-
 legacy/extensions/core/commons/build.gradle        |  4 +-
 legacy/extensions/core/metamodel/build.gradle      |  4 +-
 legacy/extensions/core/runtime/build.gradle        |  4 +-
 mappings/jaxrsclient/api/build.gradle              |  2 +-
 mappings/restclient/api/build.gradle               |  2 +-
 persistence/jdo/applib/build.gradle                |  2 +-
 subdomains/base/applib/build.gradle                |  4 +-
 subdomains/excel/applib/build.gradle               |  2 +-
 subdomains/excel/integtests/build.gradle           |  2 +-
 subdomains/xdocreport/applib/build.gradle          |  2 +-
 subdomains/zip/applib/build.gradle                 |  2 +-
 testing/fakedata/applib/build.gradle               |  2 +-
 testing/fakedata/fixtures/build.gradle             |  2 +-
 testing/fixtures/applib/build.gradle               |  2 +-
 testing/h2console/ui/build.gradle                  |  2 +-
 testing/hsqldbmgr/ui/build.gradle                  |  2 +-
 testing/integtestsupport/applib/build.gradle       | 17 ++---
 testing/specsupport/applib/build.gradle            | 10 ++-
 testing/unittestsupport/applib/build.gradle        | 12 ++--
 .../restfulobjects/jaxrs-resteasy-4/build.gradle   |  2 +-
 viewers/restfulobjects/viewer/build.gradle         |  2 +-
 viewers/wicket/model/build.gradle                  |  2 +-
 viewers/wicket/ui/build.gradle                     |  8 +--
 viewers/wicket/viewer/build.gradle                 |  2 +-
 38 files changed, 221 insertions(+), 97 deletions(-)

diff --git a/api/applib/build.gradle b/api/applib/build.gradle
index 9277f89..6ff43d8 100644
--- a/api/applib/build.gradle
+++ b/api/applib/build.gradle
@@ -8,19 +8,19 @@ dependencies {
 
     compile 'javax:javaee-api:8.0'
     compile 'com.google.code.findbugs:annotations:2.0.1'
-    compile 'org.springframework:spring-context:5.2.6.RELEASE'
+    compile (Libs.springContext)
     compile 'joda-time:joda-time:2.10.6'
 
-    compile('org.springframework.boot:spring-boot-starter-log4j2:2.2.7.RELEASE') {
+    compile(Libs.springBootStarterLog4j2) {
         exclude(module: 'slf4j-api')
     }
-    compile 'org.slf4j:slf4j-api:1.7.26'
+    compile (Libs.slf4jApi)
 
-    testCompile 'org.junit.jupiter:junit-jupiter-api:5.6.2'
-    testCompile 'org.junit.jupiter:junit-jupiter-engine:5.6.2'
-    testCompile 'org.junit.vintage:junit-vintage-engine:5.6.2'
+    testCompile(Libs.junitJupiterApi)
+    testCompile(Libs.junitJupiterEngine)
+    testCompile(Libs.junitVintageEngine)
     testCompile 'org.jmock:jmock:2.11.0'
-    testCompile('org.jmock:jmock-junit4:2.11.0') {
+    testCompile(Libs.jmockJunit4) {
         exclude(module: 'junit-dep')
         exclude(module: 'byte-buddy')
     }
diff --git a/api/schema/build.gradle b/api/schema/build.gradle
index 4fa885c..a18d393 100644
--- a/api/schema/build.gradle
+++ b/api/schema/build.gradle
@@ -13,7 +13,7 @@ sourceSets {
 dependencies {
     compile project(':isis-parent:isis:isis-core-commons')
 
-    compile 'org.springframework:spring-context:5.2.6.RELEASE'
+    compile (Libs.springContext)
     compile 'joda-time:joda-time:2.10.6'
 
     // These dependencies are required in order to build on jdk11
diff --git a/build.gradle b/build.gradle
index d2a45b1..b4d6193 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,6 +7,8 @@ buildscript {
     }
 }
 
+apply from: '/dependencies.gradle'
+
 allprojects {
     apply plugin: "io.freefair.lombok"
     apply plugin: 'maven'
diff --git a/core/codegen-bytebuddy/build.gradle b/core/codegen-bytebuddy/build.gradle
index aa5c842..cd77f31 100644
--- a/core/codegen-bytebuddy/build.gradle
+++ b/core/codegen-bytebuddy/build.gradle
@@ -4,7 +4,7 @@ dependencies {
     compile group: 'net.bytebuddy', name: 'byte-buddy', version: '1.10.10'
     compile group: 'org.objenesis', name: 'objenesis', version: '2.6'
     compile project(':isis-parent:isis:isis-core-commons')
-    testCompile(group: 'org.jmock', name: 'jmock-junit4', version: '2.11.0') {
+    testCompile(Libs.jmockJunit4) {
         exclude(module: 'junit-dep')
         exclude(module: 'byte-buddy')
     }
diff --git a/core/commons/build.gradle b/core/commons/build.gradle
index b0fdf79..70d4e5a 100644
--- a/core/commons/build.gradle
+++ b/core/commons/build.gradle
@@ -5,28 +5,22 @@ dependencies {
     compile 'javax:javaee-api:8.0'
     compile 'com.google.code.findbugs:annotations:2.0.1'
     compile 'com.fasterxml.jackson.core:jackson-databind:2.10.4'
-    compile 'org.springframework:spring-context:5.2.6.RELEASE'
-    compile 'org.springframework:spring-tx:5.2.6.RELEASE'
-    compile('org.springframework.boot:spring-boot-starter:2.2.7.RELEASE') {
+    compile (Libs.springContext)
+    compile (Libs.springTx)
+    compile(Libs.springBootStarter) {
         exclude(module: 'validation-api')
         exclude(module: 'spring-boot-starter-logging')
     }
-    compile('org.springframework.boot:spring-boot-starter-log4j2:2.2.7.RELEASE') {
+    compile(Libs.springBootStarterLog4j2) {
         exclude(module: 'slf4j-api')
     }
-    compile 'org.slf4j:slf4j-api:1.7.26'
+    compile (Libs.slf4jApi)
 
-    compileOnly 'org.projectlombok:lombok:1.18.12'
-    annotationProcessor 'org.projectlombok:lombok:1.18.12'
+    compile(Libs.hamcrestLibrary)
 
-    testCompileOnly 'org.projectlombok:lombok:1.18.12'
-    testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'
-
-    compile 'org.hamcrest:hamcrest-library:2.1'
-
-    testCompile 'org.junit.jupiter:junit-jupiter-api:5.5.2'
-    testCompile 'org.junit.jupiter:junit-jupiter-engine:5.5.2'
-    testCompile 'org.junit.vintage:junit-vintage-engine:5.5.2'
+    testCompile(Libs.junitJupiterApi)
+    testCompile(Libs.junitJupiterEngine)
+    testCompile(Libs.junitVintageEngine)
 }
 
 task packageTests(type: Jar) {
diff --git a/core/internaltestsupport/build.gradle b/core/internaltestsupport/build.gradle
index 0c3e4da..68f3a50 100644
--- a/core/internaltestsupport/build.gradle
+++ b/core/internaltestsupport/build.gradle
@@ -3,9 +3,9 @@ apply plugin: 'war'
 
 dependencies {
     compile project(':isis-parent:isis:isis-core-commons')
-    compile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.2'
-    compile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.2'
-    compile group: 'org.junit.vintage', name: 'junit-vintage-engine', version: '5.5.2'
+    compile (Libs.junitJupiterApi)
+    compile (Libs.junitJupiterEngine)
+    compile (Libs.junitVintageEngine)
     compile group: 'org.assertj', name: 'assertj-core', version: '3.13.2'
     compile group: 'net.bytebuddy', name: 'byte-buddy', version: '1.10.10'
     compile(group: 'org.mockito', name: 'mockito-core', version: '3.1.0') {
@@ -13,26 +13,26 @@ dependencies {
         exclude(module: 'byte-buddy-agent')
     }
     compile project(':isis-parent:isis:isis-core-codegen-bytebuddy')
-    compile group: 'org.hamcrest', name: 'hamcrest-library', version: '2.1'
-    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.26'
-    compile(group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.2.7.RELEASE') {
+    compile(Libs.hamcrestLibrary)
+    compile (Libs.slf4jApi)
+    compile(Libs.springBootStarterTest) {
         exclude(module: 'asm')
         exclude(module: 'spring-test')
         exclude(module: 'spring-core')
         exclude(module: 'spring-boot-starter-logging')
         exclude(module: 'slf4j-api')
     }
-    compile group: 'org.springframework', name: 'spring-test', version: '5.2.6.RELEASE'
+    compile(Libs.springTest)
     compile group: 'org.picocontainer', name: 'picocontainer', version: '2.15'
     compile(group: 'org.jmock', name: 'jmock', version: '2.11.0') {
         exclude(module: 'asm')
     }
-    compile(group: 'org.jmock', name: 'jmock-junit4', version: '2.11.0') {
+    compile(Libs.jmockJunit4) {
         exclude(module: 'junit-dep')
         exclude(module: 'asm')
         exclude(module: 'byte-buddy')
     }
-    compileOnly group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compileOnly (Libs.javaxJdo)
 }
 
 task packageTests(type: Jar) {
diff --git a/core/metamodel/build.gradle b/core/metamodel/build.gradle
index 7cd71b6..acbbd5f 100644
--- a/core/metamodel/build.gradle
+++ b/core/metamodel/build.gradle
@@ -3,7 +3,7 @@ dependencies {
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-core-config')
     compile project(':isis-parent:isis:isis-core-security')
-    compile('io.swagger:swagger-core:1.6.0') {
+    compile(Libs.swaggerCore) {
         exclude(module: 'guava')
         exclude(module: 'validation-api')
         exclude(module: 'snakeyaml')
@@ -17,11 +17,11 @@ dependencies {
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
     testCompile project(':isis-parent:isis:isis-core-runtimeservices')
 
-    testCompile('org.junit.jupiter:junit-jupiter-api:5.6.2')
-    testCompile('org.junit.jupiter:junit-jupiter-engine:5.6.2')
-    testCompile('org.junit.vintage:junit-vintage-engine:5.6.2')
+    testCompile(Libs.junitJupiterApi)
+    testCompile(Libs.junitJupiterEngine)
+    testCompile(Libs.junitVintageEngine)
     testCompile('org.jmock:jmock:2.11.0')
-    testCompile('org.jmock:jmock-junit4:2.11.0') {
+    testCompile(Libs.jmockJunit4) {
         exclude(module: 'junit-dep')
         exclude(module: 'byte-buddy')
     }
diff --git a/core/runtimeservices/build.gradle b/core/runtimeservices/build.gradle
index aada5c1..546289e 100644
--- a/core/runtimeservices/build.gradle
+++ b/core/runtimeservices/build.gradle
@@ -2,7 +2,7 @@ description = 'Apache Isis Core - Runtime Services'
 dependencies {
     compile project(':isis-parent:isis:isis-core-runtime')
     compile project(':isis-parent:isis:isis-core-codegen-bytebuddy')
-    compile group: 'org.hsqldb', name: 'hsqldb', version: '2.5.0'
+    compile(Libs.hsqldb)
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
     testCompile project(':isis-parent:isis:isis-core-config')
     testCompile project(':isis-parent:isis:isis-core-metamodel')
diff --git a/core/security/build.gradle b/core/security/build.gradle
index 8f21889..c51feff 100644
--- a/core/security/build.gradle
+++ b/core/security/build.gradle
@@ -2,16 +2,16 @@ description = 'Apache Isis Core - Security'
 dependencies {
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-core-config')
-    compile('org.springframework.boot:spring-boot-starter-log4j2:2.2.7.RELEASE') {
+    compile(Libs.springBootStarterLog4j2) {
         exclude(module: 'slf4j-api')
     }
-    testCompile(group: 'org.jmock', name: 'jmock-junit4', version: '2.11.0') {
+    testCompile(Libs.jmockJunit4) {
         exclude(module: 'junit-dep')
     }
-    testCompile group: 'org.hamcrest', name: 'hamcrest-library', version: '2.1'
-    testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.2'
-    testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.2'
-    testCompile group: 'org.junit.vintage', name: 'junit-vintage-engine', version: '5.5.2'
+    testCompile(Libs.hamcrestLibrary)
+    testCompile(Libs.junitJupiterApi)
+    testCompile(Libs.junitJupiterEngine)
+    testCompile(Libs.junitVintageEngine)
 }
 
 task packageTests(type: Jar) {
diff --git a/dependencies.gradle b/dependencies.gradle
new file mode 100644
index 0000000..97d4886
--- /dev/null
+++ b/dependencies.gradle
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+ext {
+    cucumberVersion = "5.1.2"
+    junitVersion = "5.6.2"
+    springBootVersion = "2.2.7.RELEASE"
+    springVersion = "5.2.6.RELEASE"
+    //Support Libraries dependencies
+    Libs = [
+            approvaltests          : "com.approvaltests:approvaltests:4.0.2",
+            cucumberJava           : "io.cucumber:cucumber-java:$cucumberVersion",
+            cucumberSpring         : "io.cucumber:cucumber-spring:$cucumberVersion",
+            cucumberJunit          : "io.cucumber:cucumber-junit:$cucumberVersion",
+            guava                  : "com.google.guava:guava:28.1-jre",
+            hamcrestLibrary        : "org.hamcrest:hamcrest-library:2.1",
+            hsqldb                 : "org.hsqldb:hsqldb:2.5.0",
+            h2                     : "com.h2database:h2:1.4.200",
+            javaxJdo               : "org.datanucleus:javax.jdo:3.2.0-m13",
+            jmockJunit4            : "org.jmock:jmock-junit4:2.11.0",
+            junitJupiterApi        : "org.junit.jupiter:junit-jupiter-api:$junitVersion",
+            junitJupiterEngine     : "org.junit.jupiter:junit-jupiter-engine:$junitVersion",
+            junitVintageEngine     : "org.junit.vintage:junit-vintage-engine:$junitVersion",
+            slf4jApi               : "org.slf4j:slf4j-api:1.7.26",
+            springBootStarter      : "org.springframework.boot:spring-boot-starter:$springBootVersion",
+            springBootStarterLog4j2: "org.springframework.boot:spring-boot-starter-log4j2:$springBootVersion",
+            springBootStarterTest  : "org.springframework.boot:spring-boot-starter-test:$springBootVersion",
+            springContext          : "org.springframework:spring-context:$springVersion",
+            springTx               : "org.springframework:spring-tx:$springVersion",
+            springTest             : "org.springframework:spring-test:$springVersion",
+            swaggerCore            : "io.swagger:swagger-core:1.6.0"
+    ]
+}
diff --git a/examples/demo/wicket/build.gradle b/examples/demo/wicket/build.gradle
index 47b59f1..14d27e0 100644
--- a/examples/demo/wicket/build.gradle
+++ b/examples/demo/wicket/build.gradle
@@ -8,7 +8,7 @@ dependencies {
     compile project(':isis-parent:isis:isis-valuetypes:isis-valuetypes-markdown:isis-valuetypes-markdown-applib')
     compile project(':isis-parent:isis:isis-valuetypes:isis-valuetypes-markdown:isis-valuetypes-markdown-ui')
     compile project(':isis-parent:isis:isis-valuetypes:isis-valuetypes-asciidoc:isis-valuetypes-asciidoc-applib')
-    compile('org.springframework.boot:spring-boot-starter-log4j2:2.2.7.RELEASE') {
+    compile(Libs.springBootStarterLog4j2) {
         exclude(module: 'slf4j-api')
     }
     compile project(':isis-parent:isis:isis-mavendeps:isis-mavendeps-webapp')
diff --git a/extensions/core/flyway/impl/build.gradle b/extensions/core/flyway/impl/build.gradle
index c252d38..86c6a60 100644
--- a/extensions/core/flyway/impl/build.gradle
+++ b/extensions/core/flyway/impl/build.gradle
@@ -3,7 +3,7 @@ description = 'Apache Isis Ext - Flyway Impl'
 dependencies {
     compile project(':isis-parent:isis:isis-core-config')
     compile group: 'org.flywaydb', name: 'flyway-core', version: '6.0.8'
-    compile group: 'org.springframework', name: 'spring-context', version: '5.2.6.RELEASE'
+    compile (Libs.springContext)
     compile group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version: '2.2.7.RELEASE'
     compile group: 'org.springframework', name: 'spring-jdbc', version: '5.2.6.RELEASE'
 }
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..99ca3ec
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,80 @@
+// copied from core/pom.xml - to be synced automatically
+//ext {
+approvaltests_version='4.0.2'
+assertjGuava_version="3.1.0"
+camel_version="2.24.2"
+commonsEmail_version="1.5"
+commonsHttpclient_version="3.1"
+commonsIo_version="2.6"
+commonsLang3_version="3.9"
+commonsLogging_version="1.2"
+cucumber_version="5.1.2"
+cxfRtRsClient_version="3.3.4"
+danhaywoodJavaAssertjext="0.1.0"
+danhaywoodJavaTestsupport="1.0.0"
+datanucleusApiJdo="5.2.4"
+datanucleusCore="5.2.3"
+datanucleusJdoApi="3.2.0-m13"
+datanucleusJdoQuery="5.0.9"
+datanucleusJodatime="5.2.0-release"
+datanucleusMavenPlugin="5.2.1"
+datanucleusRdbms="5.2.3"
+docx4j="3.2.1"
+easymock="2.5.2"
+error_prone_annotations="2.3.2"
+findbugsAnnotations="2.0.1"
+gitCommitIdPlugin="3.0.1"
+guava_version='28.1-jre'
+htmlparser="2.1"
+jakartaAnnotationApi="1.3.5"
+javaee="8.0"
+javafaker="1.0.1"
+javassist="3.19.0-GA"
+javaxServlet="3.1.0"
+jaxbCore="2.3.0.1"
+jaxbImpl="2.3.2"
+jaxwsRi="2.3.3"
+jbcrypt="0.4"
+jbossJaxrsApi_2_0Spec="1.0.0.Final"
+jdom="2.0.22"
+jmock="2.11.0"
+jodaTime="2.10.6"
+joptSimple="6.0-alpha-3"
+jqueryUi="1.12.1"
+jsr305="3.0.2"
+junitPlatform="1.6.0"
+log4jdbcRemix="0.2.7"
+mavenEclipsePlugin="2.10"
+mavenReleasePlugin="2.5.3"
+node="v12.14.0"
+npm="6.13.1"
+objenesis="2.2"
+ognl="3.0.9"
+pdfbox="2.0.15"
+picocontainer="2.15"
+poi="4.1.1"
+quartzScheduler="2.2.1"
+resteasy4SpringBootStarter="4.4.0.Final"
+reflections="0.9.11"
+select2="4.0.10"
+shiro="1.4.1 "
+corsFilter="1.0.1"
+simpleslackapi="1.2.0"
+slf4jApi="1.7.26"
+springFramework="5.2.7.RELEASE"
+springBoot="2.3.1.RELEASE"
+summernote="0.8.11"
+swaggerCore="1.6.0"
+togglz="2.1.0.Final"
+vaadin="14.3.0"
+wicket="8.8.0"
+wicketBootstrap="2.0.13"
+wicketBootstrapCore="2.0.13"
+wicketBootstrapDatetimepicker="4.17.47"
+wicketFullcalendar="4.2"
+wicketSource="7.0.0"
+wicketWebjars="2.0.15"
+wicketstuff="8.8.0"
+wicketstufGmap3=${wicket}
+xdocreport="1.0.6"
+//}
diff --git a/legacy/extensions/core/applib/build.gradle b/legacy/extensions/core/applib/build.gradle
index 3fd0ba3..9ff44dc 100644
--- a/legacy/extensions/core/applib/build.gradle
+++ b/legacy/extensions/core/applib/build.gradle
@@ -2,11 +2,11 @@ group = 'org.apache.isis.legacy'
 description = 'Apache Isis Legacy - Applib'
 apply plugin: 'war'
 dependencies {
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    compile(Libs.guava)
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-core-runtime')
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
-    compileOnly group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compileOnly(Libs.javaxJdo)
     providedCompile project(':isis-parent:isis:isis-persistence-jdo:isis-persistence-jdo-applib')
 }
 
diff --git a/legacy/extensions/core/commons/build.gradle b/legacy/extensions/core/commons/build.gradle
index f2bcaa1..29b99c9 100644
--- a/legacy/extensions/core/commons/build.gradle
+++ b/legacy/extensions/core/commons/build.gradle
@@ -2,11 +2,11 @@ group = 'org.apache.isis.legacy'
 description = 'Apache Isis Legacy - Commons'
 apply plugin: 'war'
 dependencies {
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    compile(Libs.guava)
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-core-runtime')
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
-    compileOnly group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compileOnly(Libs.javaxJdo)
     providedCompile project(':isis-parent:isis:isis-persistence-jdo:isis-persistence-jdo-applib')
 }
 
diff --git a/legacy/extensions/core/metamodel/build.gradle b/legacy/extensions/core/metamodel/build.gradle
index 4c1e610..920c81a 100644
--- a/legacy/extensions/core/metamodel/build.gradle
+++ b/legacy/extensions/core/metamodel/build.gradle
@@ -2,14 +2,14 @@ group = 'org.apache.isis.legacy'
 description = 'Apache Isis Legacy - Metamodel'
 apply plugin: 'war'
 dependencies {
-    compile ('com.google.guava:guava:28.1-jre')
+    compile(Libs.guava)
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-legacy:isis-legacy-applib')
     compile project(':isis-parent:isis:isis-core-metamodel')
     testCompile project(':isis-parent:isis:isis-core-config')
     testCompile project(':isis-parent:isis:isis-core-metamodel')
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
-    compileOnly ('org.datanucleus:javax.jdo:3.2.0-m13')
+    compileOnly(Libs.javaxJdo)
     providedCompile project(':isis-parent:isis:isis-persistence-jdo:isis-persistence-jdo-applib')
 }
 
diff --git a/legacy/extensions/core/runtime/build.gradle b/legacy/extensions/core/runtime/build.gradle
index e3a4802..704ba38 100644
--- a/legacy/extensions/core/runtime/build.gradle
+++ b/legacy/extensions/core/runtime/build.gradle
@@ -2,12 +2,12 @@ group = 'org.apache.isis.legacy'
 description = 'Apache Isis Legacy - Runtime'
 apply plugin: 'war'
 dependencies {
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    compile(Libs.guava)
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-legacy:isis-legacy-applib')
     compile project(':isis-parent:isis:isis-core-runtime')
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
-    compileOnly group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compileOnly(Libs.javaxJdo)
     providedCompile project(':isis-parent:isis:isis-persistence-jdo:isis-persistence-jdo-applib')
     providedCompile project(':isis-parent:isis:isis-persistence-jdo:isis-persistence-jdo-datanucleus5')
     providedCompile project(':isis-parent:isis:isis-viewer-wicket:isis-viewer-wicket-ui')
diff --git a/mappings/jaxrsclient/api/build.gradle b/mappings/jaxrsclient/api/build.gradle
index 9bc6eef..122c231 100644
--- a/mappings/jaxrsclient/api/build.gradle
+++ b/mappings/jaxrsclient/api/build.gradle
@@ -1,7 +1,7 @@
 group = 'org.apache.isis.mappings'
 description = 'Apache Isis Map - JaxRS Client (api)'
 dependencies {
-    compile group: 'org.springframework', name: 'spring-context', version:'5.2.6.RELEASE'
+    compile (Libs.springContext)
 }
 
 task packageTests(type: Jar) {
diff --git a/mappings/restclient/api/build.gradle b/mappings/restclient/api/build.gradle
index 8edae00..ec2b8aa 100644
--- a/mappings/restclient/api/build.gradle
+++ b/mappings/restclient/api/build.gradle
@@ -3,7 +3,7 @@ description = 'Apache Isis Ext - REST Client'
 dependencies {
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-core-commons')
-    compile group: 'org.springframework', name: 'spring-context', version: '5.2.6.RELEASE'
+    compile (Libs.springContext)
 }
 
 task packageTests(type: Jar) {
diff --git a/persistence/jdo/applib/build.gradle b/persistence/jdo/applib/build.gradle
index a6d75c3..55d95a1 100644
--- a/persistence/jdo/applib/build.gradle
+++ b/persistence/jdo/applib/build.gradle
@@ -3,7 +3,7 @@ description = 'Apache Isis Persistence - JDO (applib)'
 dependencies {
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-core-commons')
-    compile group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compile(Libs.javaxJdo)
     compile group: 'org.datanucleus', name: 'datanucleus-rdbms', version: '5.2.1'
 }
 
diff --git a/subdomains/base/applib/build.gradle b/subdomains/base/applib/build.gradle
index b3f9ee4..fc5d1cf 100644
--- a/subdomains/base/applib/build.gradle
+++ b/subdomains/base/applib/build.gradle
@@ -2,11 +2,11 @@ group = 'org.apache.isis.subdomains'
 description = 'Apache Isis Sub - Base (applib)'
 dependencies {
     compile project(':isis-parent:isis-applib')
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    compile (Libs.guava)
     compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.9'
     testCompile group: 'org.reflections', name: 'reflections', version: '0.9.11'
     testCompile project(':isis-parent:isis:isis-core-metamodel')
-    testCompile group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    testCompile (Libs.javaxJdo)
     testCompile project(':isis-parent:isis:isis-testing:isis-testing-unittestsupport:isis-testing-unittestsupport-applib')
 }
 
diff --git a/subdomains/excel/applib/build.gradle b/subdomains/excel/applib/build.gradle
index 1872bd3..5978c43 100644
--- a/subdomains/excel/applib/build.gradle
+++ b/subdomains/excel/applib/build.gradle
@@ -4,7 +4,7 @@ dependencies {
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-core-runtime')
     compile project(':isis-parent:isis:isis-testing:isis-testing-fixtures:isis-testing-fixtures-applib')
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    compile(Libs.guava)
     compile group: 'org.datanucleus', name: 'datanucleus-core', version: '5.2.2'
     compile group: 'org.apache.poi', name: 'poi-ooxml', version: '4.1.1'
     compile group: 'org.apache.poi', name: 'poi-ooxml-schemas', version: '4.1.1'
diff --git a/subdomains/excel/integtests/build.gradle b/subdomains/excel/integtests/build.gradle
index 9957e4d..7e39cd0 100644
--- a/subdomains/excel/integtests/build.gradle
+++ b/subdomains/excel/integtests/build.gradle
@@ -5,7 +5,7 @@ dependencies {
     testCompile project(':isis-parent:isis:isis-testing:isis-testing-fakedata:isis-testing-fakedata-applib')
     testCompile project(':isis-parent:isis:isis-mavendeps:isis-mavendeps-integtests')
     testCompile project(':isis-parent:isis:isis-persistence-jdo:isis-persistence-jdo-datanucleus5')
-    testCompile group: 'org.hsqldb', name: 'hsqldb', version: '2.5.0'
+    testCompile(Libs.hsqldb)
 }
 
 task packageTests(type: Jar) {
diff --git a/subdomains/xdocreport/applib/build.gradle b/subdomains/xdocreport/applib/build.gradle
index ce89273..ad70a29 100644
--- a/subdomains/xdocreport/applib/build.gradle
+++ b/subdomains/xdocreport/applib/build.gradle
@@ -8,7 +8,7 @@ dependencies {
     compile group: 'fr.opensagres.xdocreport', name: 'org.apache.poi.xwpf.converter.pdf', version: '1.0.6'
     compile group: 'fr.opensagres.xdocreport', name: 'org.apache.poi.xwpf.converter.core', version: '1.0.6'
     testCompile project(':isis-parent:isis:isis-testing:isis-testing-unittestsupport:isis-testing-unittestsupport-applib')
-    testCompile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    testCompile(Libs.guava)
 }
 
 task packageTests(type: Jar) {
diff --git a/subdomains/zip/applib/build.gradle b/subdomains/zip/applib/build.gradle
index 6550b24..181734b 100644
--- a/subdomains/zip/applib/build.gradle
+++ b/subdomains/zip/applib/build.gradle
@@ -2,7 +2,7 @@ group = 'org.apache.isis.subdomains'
 description = 'Apache Isis Sub - Zip (applib)'
 dependencies {
     compile project(':isis-parent:isis-applib')
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    compile(Libs.guava)
 }
 
 task packageTests(type: Jar) {
diff --git a/testing/fakedata/applib/build.gradle b/testing/fakedata/applib/build.gradle
index 2b5e9fe..557072c 100644
--- a/testing/fakedata/applib/build.gradle
+++ b/testing/fakedata/applib/build.gradle
@@ -5,7 +5,7 @@ dependencies {
     compile(group: 'com.github.javafaker', name: 'javafaker', version: '1.0.1') {
         exclude(module: 'snakeyaml')
     }
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    compile(Libs.guava)
     testCompile project(':isis-parent:isis:isis-testing:isis-testing-unittestsupport:isis-testing-unittestsupport-applib')
 }
 
diff --git a/testing/fakedata/fixtures/build.gradle b/testing/fakedata/fixtures/build.gradle
index 0dac780..d673e54 100644
--- a/testing/fakedata/fixtures/build.gradle
+++ b/testing/fakedata/fixtures/build.gradle
@@ -5,7 +5,7 @@ dependencies {
     compile project(':isis-parent:isis-applib')
     compile project(':isis-parent:isis:isis-testing:isis-testing-fixtures:isis-testing-fixtures-applib')
     compile project(':isis-parent:isis:isis-persistence-jdo:isis-persistence-jdo-datanucleus5')
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    compile(Libs.guava)
 }
 
 task packageTests(type: Jar) {
diff --git a/testing/fixtures/applib/build.gradle b/testing/fixtures/applib/build.gradle
index ee079c2..0fd7748 100644
--- a/testing/fixtures/applib/build.gradle
+++ b/testing/fixtures/applib/build.gradle
@@ -5,7 +5,7 @@ dependencies {
     compile group: 'joda-time', name: 'joda-time', version: '2.10.6'
     compile project(':isis-parent:isis:isis-subdomains:isis-subdomains-spring:isis-subdomains-spring-applib')
     providedCompile project(':isis-parent:isis:isis-testing:isis-testing-integtestsupport:isis-testing-integtestsupport-applib')
-    compileOnly group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compileOnly(Libs.javaxJdo)
     providedCompile project(':isis-parent:isis:isis-persistence-jdo:isis-persistence-jdo-applib')
     providedCompile project(':isis-parent:isis:isis-core-runtime')
 }
diff --git a/testing/h2console/ui/build.gradle b/testing/h2console/ui/build.gradle
index dbc5102..41f73dd 100644
--- a/testing/h2console/ui/build.gradle
+++ b/testing/h2console/ui/build.gradle
@@ -2,7 +2,7 @@ group = 'org.apache.isis.testing'
 description = 'Apache Isis Tst - H2 Console (ui)'
 dependencies {
     compile project(':isis-parent:isis:isis-core-webapp')
-    compile group: 'com.h2database', name: 'h2', version: '1.4.200'
+    compile (Libs.h2)
 }
 
 task packageTests(type: Jar) {
diff --git a/testing/hsqldbmgr/ui/build.gradle b/testing/hsqldbmgr/ui/build.gradle
index c58a649..422f5be 100644
--- a/testing/hsqldbmgr/ui/build.gradle
+++ b/testing/hsqldbmgr/ui/build.gradle
@@ -2,7 +2,7 @@ group = 'org.apache.isis.testing'
 description = 'Apache Isis Tst - HSQLDB Manager'
 dependencies {
     compile project(':isis-parent:isis:isis-core-webapp')
-    compile group: 'org.hsqldb', name: 'hsqldb', version: '2.5.0'
+    compile(Libs.hsqldb)
 }
 
 task packageTests(type: Jar) {
diff --git a/testing/integtestsupport/applib/build.gradle b/testing/integtestsupport/applib/build.gradle
index 7c636be..b181576 100644
--- a/testing/integtestsupport/applib/build.gradle
+++ b/testing/integtestsupport/applib/build.gradle
@@ -1,7 +1,8 @@
 group = 'org.apache.isis.testing'
 description = 'Apache Isis Tst - Integ Test Support (applib)'
+
 dependencies {
-    compile(group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.2.7.RELEASE') {
+    compile(Libs.springBootStarterTest) {
         exclude(module: 'asm')
         exclude(module: 'spring-test')
         exclude(module: 'spring-core')
@@ -9,16 +10,16 @@ dependencies {
         exclude(module: 'slf4j-api')
         exclude(module: 'junit-vintage-engine')
     }
-    compile group: 'org.springframework', name: 'spring-test', version: '5.2.6.RELEASE'
-    compile group: 'com.approvaltests', name: 'approvaltests', version: '4.0.2'
-    compile group: 'org.hamcrest', name: 'hamcrest-library', version: '2.1'
-    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.26'
+    compile (Libs.springTest)
+    compile (Libs.approvaltests)
+    compile (Libs.hamcrestLibrary)
+    compile (Libs.slf4jApi)
     compile project(':isis-parent:isis:isis-security-bypass')
     compile project(':isis-parent:isis:isis-core-runtimeservices')
     compile project(':isis-parent:isis:isis-persistence-jdo:isis-persistence-jdo-datanucleus5')
-    compile group: 'org.hsqldb', name: 'hsqldb', version: '2.5.0'
-    compile group: 'com.h2database', name: 'h2', version: '1.4.200'
-    compileOnly group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compile(Libs.hsqldb)
+    compile (Libs.h2)
+    compileOnly (Libs.javaxJdo)
 }
 
 task packageTests(type: Jar) {
diff --git a/testing/specsupport/applib/build.gradle b/testing/specsupport/applib/build.gradle
index b9809be..99483d4 100644
--- a/testing/specsupport/applib/build.gradle
+++ b/testing/specsupport/applib/build.gradle
@@ -2,12 +2,10 @@ group = 'org.apache.isis.testing'
 description = 'Apache Isis Tst - Spec/Cucumber (applib)'
 dependencies {
     compile project(':isis-parent:isis:isis-testing:isis-testing-integtestsupport:isis-testing-integtestsupport-applib')
-    compile group: 'io.cucumber', name: 'cucumber-java', version: '5.1.2'
-    compile group: 'io.cucumber', name: 'cucumber-spring', version: '5.1.2'
-    compile group: 'io.cucumber', name: 'cucumber-junit', version: '5.1.2'
-//    compile group: 'io.cucumber', name: 'cucumber-junit-platform-engine', version: '5.1.2'
-    compile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.2'
-//    compile group: 'org.junit.platform', name: 'junit-platform-console', version: '1.6.0'
+    compile(Libs.cucumberJava)
+    compile(Libs.cucumberSpring)
+    compile(Libs.cucumberJunit)
+    compile(Libs.junitJupiterApi)
 }
 
 task packageTests(type: Jar) {
diff --git a/testing/unittestsupport/applib/build.gradle b/testing/unittestsupport/applib/build.gradle
index f2a89ee..0fe3296 100644
--- a/testing/unittestsupport/applib/build.gradle
+++ b/testing/unittestsupport/applib/build.gradle
@@ -2,18 +2,18 @@ group = 'org.apache.isis.testing'
 description = 'Apache Isis Tst - Unit Test Support (applib)'
 dependencies {
     compile project(':isis-parent:isis-applib')
-    compile(group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.2.7.RELEASE') {
+    compile(Libs.springBootStarterTest) {
         exclude(module: 'asm')
         exclude(module: 'spring-test')
         exclude(module: 'spring-core')
         exclude(module: 'spring-boot-starter-logging')
         exclude(module: 'slf4j-api')
     }
-    compile group: 'org.springframework', name: 'spring-test', version: '5.2.6.RELEASE'
+    compile(Libs.springTest)
     compile(group: 'org.jmock', name: 'jmock', version: '2.11.0') {
         exclude(module: 'asm')
     }
-    compile(group: 'org.jmock', name: 'jmock-junit4', version: '2.11.0') {
+    compile(Libs.jmockJunit4) {
         exclude(module: 'junit-dep')
         exclude(module: 'asm')
         exclude(module: 'byte-buddy')
@@ -21,10 +21,10 @@ dependencies {
     compile group: 'com.approvaltests', name: 'approvaltests', version: '4.0.2'
     compile project(':isis-parent:isis:isis-core-codegen-bytebuddy')
     compile group: 'org.picocontainer', name: 'picocontainer', version: '2.15'
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
-    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.26'
+    compile(Libs.guava)
+    compile(Libs.slf4jApi)
 
-    compile group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compile(Libs.javaxJdo)
 
     compile project(':isis-parent:isis:isis-valuetypes:isis-valuetypes-asciidoc:isis-valuetypes-asciidoc-applib')
     testCompile project(':isis-parent:isis:isis-valuetypes:isis-valuetypes-asciidoc:isis-valuetypes-asciidoc-applib')
diff --git a/viewers/restfulobjects/jaxrs-resteasy-4/build.gradle b/viewers/restfulobjects/jaxrs-resteasy-4/build.gradle
index 22b00b4..4a6efc5 100644
--- a/viewers/restfulobjects/jaxrs-resteasy-4/build.gradle
+++ b/viewers/restfulobjects/jaxrs-resteasy-4/build.gradle
@@ -11,7 +11,7 @@ dependencies {
     testCompile project(':isis-parent:isis:isis-core-metamodel')
     testCompile project(':isis-parent:isis:isis-viewer-restfulobjects:isis-viewer-restfulobjects-viewer')
     testCompile project(':isis-parent:isis:isis-viewer-restfulobjects:isis-viewer-restfulobjects-applib')
-    testCompile group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    testCompile(Libs.javaxJdo)
 }
 
 task packageTests(type: Jar) {
diff --git a/viewers/restfulobjects/viewer/build.gradle b/viewers/restfulobjects/viewer/build.gradle
index 8ccc45c..ec51310 100644
--- a/viewers/restfulobjects/viewer/build.gradle
+++ b/viewers/restfulobjects/viewer/build.gradle
@@ -7,7 +7,7 @@ dependencies {
     compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: '2.10.4'
     testCompile project(':isis-parent:isis:isis-core-metamodel')
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
-    compileOnly group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compileOnly(Libs.javaxJdo)
 }
 
 task packageTests(type: Jar) {
diff --git a/viewers/wicket/model/build.gradle b/viewers/wicket/model/build.gradle
index 4b356cb..333b72e 100644
--- a/viewers/wicket/model/build.gradle
+++ b/viewers/wicket/model/build.gradle
@@ -13,7 +13,7 @@ dependencies {
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
     testCompile project(':isis-parent:isis:isis-core-metamodel')
     testCompile project(':isis-parent:isis:isis-testing:isis-testing-unittestsupport:isis-testing-unittestsupport-applib')
-    testCompile ('com.google.guava:guava:28.1-jre')
+    testCompile(Libs.guava)
 }
 
 task packageTests(type: Jar) {
diff --git a/viewers/wicket/ui/build.gradle b/viewers/wicket/ui/build.gradle
index 9279947..b2bbbe1 100644
--- a/viewers/wicket/ui/build.gradle
+++ b/viewers/wicket/ui/build.gradle
@@ -9,7 +9,7 @@ dependencies {
     compile(group: 'org.apache.wicket', name: 'wicket-devutils', version: '8.8.0') {
         exclude(module: 'slf4j-api')
     }
-    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.26'
+    compile(Libs.slf4jApi)
     compile(group: 'org.apache.wicket', name: 'wicket-extensions', version: '8.8.0') {
         exclude(module: 'slf4j-api')
     }
@@ -63,14 +63,14 @@ dependencies {
     compile(group: 'de.agilecoders.wicket', name: 'wicket-bootstrap-themes', version: '2.0.13') {
         exclude(module: 'wicket-core')
     }
-    compile group: 'com.google.guava', name: 'guava', version: '28.1-jre'
+    compile(Libs.guava)
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
     testCompile project(':isis-parent:isis:isis-core-metamodel')
-    testCompile(group: 'org.jmock', name: 'jmock-junit4', version: '2.11.0') {
+    testCompile(Libs.jmockJunit4) {
         exclude(module: 'asm')
         exclude(module: 'junit-dep')
     }
-    compileOnly group: 'org.datanucleus', name: 'javax.jdo', version: '3.2.0-m13'
+    compileOnly(Libs.javaxJdo)
 }
 
 task packageTests(type: Jar) {
diff --git a/viewers/wicket/viewer/build.gradle b/viewers/wicket/viewer/build.gradle
index 17b888c..8f77375 100644
--- a/viewers/wicket/viewer/build.gradle
+++ b/viewers/wicket/viewer/build.gradle
@@ -25,7 +25,7 @@ dependencies {
     compile group: 'org.springframework', name: 'spring-web', version: '5.2.6.RELEASE'
     compile group: 'commons-io', name: 'commons-io', version: '2.6'
     testCompile project(':isis-parent:isis:isis-core-internaltestsupport')
-    testCompile(group: 'org.jmock', name: 'jmock-junit4', version: '2.11.0') {
+    testCompile(Libs.jmockJunit4) {
         exclude(module: 'asm')
         exclude(module: 'junit-dep')
     }