This is an automated email from the ASF dual-hosted git repository. jleroux pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push: new 7d3a069b36 Improved: Have library dependencies moved to a dependencies.gradle file (OFBIZ-10924) (#717) 7d3a069b36 is described below commit 7d3a069b36d60fa9b049be5cbdbda2c24af8c6a8 Author: Pierre Smits <pierre.sm...@somonar.com> AuthorDate: Fri Mar 1 18:24:46 2024 +0100 Improved: Have library dependencies moved to a dependencies.gradle file (OFBIZ-10924) (#717) * Improved: Have library dependencies moved to a dependencies.gradle file (OFBIZ-10924) Currently the libraries needed by ofbiz are defined in the build.gradle file. These should reside in a separate dependencies.gradle file that is referenced in the build.gradle file, like the common.gradle. As is common practice in other projects/solutions that work with dependencies on external libraries. modified: build.gradle: removed implementation, testImplementation and runtimeOnly library dependencies added: dependencies.gradle, having the implementation, testImplementation and runtimeOnly library dependencies * adding 'apply from' regarding dependencies --- build.gradle | 88 +----------------------------------------- dependencies.gradle | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 87 deletions(-) diff --git a/build.gradle b/build.gradle index 4f81066913..be8f4d25e4 100644 --- a/build.gradle +++ b/build.gradle @@ -72,6 +72,7 @@ if (project.hasProperty('enableDependencyUpdates')) { } apply from: 'common.gradle' +apply from: 'dependencies.gradle' // global properties ext.os = System.getProperty('os.name').toLowerCase() @@ -205,91 +206,6 @@ configurations.all { } dependencies { - implementation 'com.github.ben-manes.caffeine:caffeine:3.1.8' - implementation 'com.google.zxing:core:3.5.3' - implementation 'com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2' - implementation 'com.googlecode.ez-vcard:ez-vcard:0.11.3' // 0.12.1 does not compile - implementation 'com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20220608.1' - implementation 'com.googlecode.libphonenumber:libphonenumber:8.13.31' - implementation 'com.ibm.icu:icu4j:74.2' - implementation ('com.lowagie:itext:2.1.7') { // Don't update due to license change in newer versions, see OFBIZ-10455 - exclude group: 'bouncycastle', module: 'bcmail-jdk14' - exclude group: 'bouncycastle', module: 'bcprov-jdk14' - exclude group: 'bouncycastle', module: 'bctsp-jdk14' - } - implementation 'com.sun.mail:javax.mail:1.6.2' - implementation 'com.rometools:rome:2.1.0' - implementation 'com.thoughtworks.xstream:xstream:1.4.20' - implementation 'commons-cli:commons-cli:1.5.0' // with 1.6.0, 2 tests of OfbizStartupUnitTests don't pass - implementation 'commons-fileupload:commons-fileupload:1.5' - implementation 'commons-net:commons-net:3.10.0' - implementation 'commons-validator:commons-validator:1.8.0' - implementation 'de.odysseus.juel:juel-impl:2.2.7' - implementation 'javax.transaction:javax.transaction-api:1.3' - implementation 'net.fortuna.ical4j:ical4j:1.0-rc4-atlassian-12' - implementation 'net.lingala.zip4j:zip4j:2.11.5' - implementation 'org.apache.ant:ant-junit:1.10.14' - implementation 'org.apache.commons:commons-collections4:4.4' - implementation 'org.apache.commons:commons-csv:1.10.0' - implementation 'org.apache.commons:commons-dbcp2:2.10.0'// 2.11.0 does not compile. - implementation 'org.apache.commons:commons-imaging:1.0-alpha3' // Alpha but OK, "Imaging was working and was used by a number of projects in production even before reaching its initial release as an Apache Commons component." - implementation 'org.apache.commons:commons-text:1.11.0' - implementation 'org.apache.geronimo.components:geronimo-transaction:3.1.5' // 4.0.0 does not compile - implementation 'org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1' - implementation 'org.apache.httpcomponents:httpclient-cache:4.5.14' - implementation 'org.apache.logging.log4j:log4j-api:2.20.0' // the API of log4j 2 - implementation 'org.apache.logging.log4j:log4j-core:2.20.0' // Somehow needed by Buildbot to compile OFBizDynamicThresholdFilter.java - implementation 'org.apache.poi:poi:4.1.2' // poi-ooxml-schemas-5.0.0.pom'. Received status code 401 from server - implementation 'org.apache.pdfbox:pdfbox:2.0.29' // 3.0.1 does not compile - implementation 'org.apache.shiro:shiro-core:1.13.0' - implementation 'org.apache.sshd:sshd-core:2.10.0' - implementation 'org.apache.sshd:sshd-sftp:2.10.0' - implementation 'org.apache.tika:tika-core:2.5.0' - implementation 'org.apache.tika:tika-parsers:2.5.0' - implementation 'org.apache.tika:tika-parser-pdf-module:2.5.0' - implementation 'org.apache.cxf:cxf-rt-frontend-jaxrs:3.5.6' // 4.0.3 does not compile - implementation 'org.apache.tomcat:tomcat-catalina-ha:9.0.82' // Remember to change the version number (9 now) in javadoc block if needed. - implementation 'org.apache.tomcat:tomcat-jasper:9.0.82' - implementation 'org.apache.axis2:axis2-kernel:1.8.2' - implementation 'org.apache.xmlgraphics:batik-anim:1.17' - implementation 'org.apache.xmlgraphics:batik-util:1.17' - implementation 'org.apache.xmlgraphics:batik-bridge:1.17' - implementation 'org.apache.xmlgraphics:fop:2.3' // NOTE: since 2.4 dependencies are messed up. See https://github.com/moqui/moqui-fop/blob/master/build.gradle - implementation 'org.clojure:clojure:1.11.1' - implementation 'org.codehaus.groovy:groovy-all:3.0.20' - implementation 'org.freemarker:freemarker:2.3.32' // Remember to change the version number in FreeMarkerWorker class when upgrading. See OFBIZ-10019 if >= 2.4 - implementation 'org.owasp.esapi:esapi:2.5.3.1' - implementation 'org.cyberneko:html:1.9.8' - implementation 'org.springframework:spring-test:5.3.29' // 6.1.4 does not compile - implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2' - implementation 'oro:oro:2.0.8' - implementation 'wsdl4j:wsdl4j:1.6.3' - implementation 'com.auth0:java-jwt:4.4.0' - implementation 'org.jdom:jdom:1.1.3' // don't upgrade above 1.1.3, makes a lot of not obvious and useless complications, see last commits of OFBIZ-12092 for more - implementation 'com.google.re2j:re2j:1.7' - implementation 'xerces:xercesImpl:2.12.2' - implementation 'org.mustangproject:library:2.8.0' // 2.10.0 did not work, cf. OFBIZ-12920 (https://github.com/apache/ofbiz-framework/pull/712#issuecomment-1968960963) - - - testImplementation 'org.hamcrest:hamcrest-library:2.2' // Enable junit4 to not depend on hamcrest-1.3 - testImplementation 'org.mockito:mockito-core:5.10.0' - testImplementation 'org.jmockit:jmockit:1.49' - testImplementation 'com.pholser:junit-quickcheck-generators:1.0' - - runtimeOnly 'javax.xml.soap:javax.xml.soap-api:1.4.0' - runtimeOnly 'de.odysseus.juel:juel-spi:2.2.7' - runtimeOnly 'net.sf.barcode4j:barcode4j-fop-ext:2.1' - runtimeOnly 'net.sf.barcode4j:barcode4j:2.1' - runtimeOnly 'org.apache.axis2:axis2-transport-http:1.8.2' - runtimeOnly 'org.apache.axis2:axis2-transport-local:1.8.2' - runtimeOnly 'org.apache.derby:derby:10.14.2.0' // 10.17.1.0 does not compile - runtimeOnly 'org.apache.geronimo.specs:geronimo-jaxrpc_1.1_spec:2.1' - runtimeOnly 'org.apache.logging.log4j:log4j-1.2-api:2.20.0' // for external jars using the old log4j1.2: routes logging to log4j 2 - runtimeOnly 'org.apache.logging.log4j:log4j-jul:2.20.0' // for external jars using the java.util.logging: routes logging to log4j 2 - runtimeOnly 'org.apache.logging.log4j:log4j-slf4j-impl:2.20.0' // for external jars using slf4j: routes logging to log4j 2 - runtimeOnly 'org.apache.logging.log4j:log4j-web:2.20.0' //??? - runtimeOnly 'org.apache.logging.log4j:log4j-jcl:2.20.0' // need to constrain to version to avoid classpath conflict (ReflectionUtil) - // Dependencies defined by the plugins subprojects.each { subProject -> implementation project(path: subProject.path, configuration: 'pluginLibsCompile') @@ -305,8 +221,6 @@ dependencies { getDirectoryInActiveComponentsIfExists('lib').each { libDir -> implementation fileTree(dir: libDir, include: '**/*.jar') } - // specify last codenarc version for java 17 compliance - codenarc('org.codenarc:CodeNarc:3.4.0') } def excludedJavaSources = [ diff --git a/dependencies.gradle b/dependencies.gradle new file mode 100644 index 0000000000..cc1cf24d65 --- /dev/null +++ b/dependencies.gradle @@ -0,0 +1,107 @@ +/* + * 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. + */ +dependencies { + implementation 'com.github.ben-manes.caffeine:caffeine:3.1.8' + implementation 'com.google.zxing:core:3.5.3' + implementation 'com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2' + implementation 'com.googlecode.ez-vcard:ez-vcard:0.11.3' // 0.12.1 does not compile + implementation 'com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20220608.1' + implementation 'com.googlecode.libphonenumber:libphonenumber:8.13.31' + implementation 'com.ibm.icu:icu4j:74.2' + implementation ('com.lowagie:itext:2.1.7') { // Don't update due to license change in newer versions, see OFBIZ-10455 + exclude group: 'bouncycastle', module: 'bcmail-jdk14' + exclude group: 'bouncycastle', module: 'bcprov-jdk14' + exclude group: 'bouncycastle', module: 'bctsp-jdk14' + } + implementation 'com.sun.mail:javax.mail:1.6.2' + implementation 'com.rometools:rome:2.1.0' + implementation 'com.thoughtworks.xstream:xstream:1.4.20' + implementation 'commons-cli:commons-cli:1.5.0' // with 1.6.0, 2 tests of OfbizStartupUnitTests don't pass + implementation 'commons-fileupload:commons-fileupload:1.5' + implementation 'commons-net:commons-net:3.10.0' + implementation 'commons-validator:commons-validator:1.8.0' + implementation 'de.odysseus.juel:juel-impl:2.2.7' + implementation 'javax.transaction:javax.transaction-api:1.3' + implementation 'net.fortuna.ical4j:ical4j:1.0-rc4-atlassian-12' + implementation 'net.lingala.zip4j:zip4j:2.11.5' + implementation 'org.apache.ant:ant-junit:1.10.14' + implementation 'org.apache.commons:commons-collections4:4.4' + implementation 'org.apache.commons:commons-csv:1.10.0' + implementation 'org.apache.commons:commons-dbcp2:2.10.0'// 2.11.0 does not compile. + implementation 'org.apache.commons:commons-imaging:1.0-alpha3' // Alpha but OK, "Imaging was working and was used by a number of projects in production even before reaching its initial release as an Apache Commons component." + implementation 'org.apache.commons:commons-text:1.11.0' + implementation 'org.apache.geronimo.components:geronimo-transaction:3.1.5' // 4.0.0 does not compile + implementation 'org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1' + implementation 'org.apache.httpcomponents:httpclient-cache:4.5.14' + implementation 'org.apache.logging.log4j:log4j-api:2.20.0' // the API of log4j 2 + implementation 'org.apache.logging.log4j:log4j-core:2.20.0' // Somehow needed by Buildbot to compile OFBizDynamicThresholdFilter.java + implementation 'org.apache.poi:poi:4.1.2' // poi-ooxml-schemas-5.0.0.pom'. Received status code 401 from server + implementation 'org.apache.pdfbox:pdfbox:2.0.29' // 3.0.1 does not compile + implementation 'org.apache.shiro:shiro-core:1.13.0' + implementation 'org.apache.sshd:sshd-core:2.10.0' + implementation 'org.apache.sshd:sshd-sftp:2.10.0' + implementation 'org.apache.tika:tika-core:2.5.0' + implementation 'org.apache.tika:tika-parsers:2.5.0' + implementation 'org.apache.tika:tika-parser-pdf-module:2.5.0' + implementation 'org.apache.cxf:cxf-rt-frontend-jaxrs:3.5.6' // 4.0.3 does not compile + implementation 'org.apache.tomcat:tomcat-catalina-ha:9.0.82' // Remember to change the version number (9 now) in javadoc block if needed. + implementation 'org.apache.tomcat:tomcat-jasper:9.0.82' + implementation 'org.apache.axis2:axis2-kernel:1.8.2' + implementation 'org.apache.xmlgraphics:batik-anim:1.17' + implementation 'org.apache.xmlgraphics:batik-util:1.17' + implementation 'org.apache.xmlgraphics:batik-bridge:1.17' + implementation 'org.apache.xmlgraphics:fop:2.3' // NOTE: since 2.4 dependencies are messed up. See https://github.com/moqui/moqui-fop/blob/master/build.gradle + implementation 'org.clojure:clojure:1.11.1' + implementation 'org.codehaus.groovy:groovy-all:3.0.20' + implementation 'org.freemarker:freemarker:2.3.32' // Remember to change the version number in FreeMarkerWorker class when upgrading. See OFBIZ-10019 if >= 2.4 + implementation 'org.owasp.esapi:esapi:2.5.3.1' + implementation 'org.cyberneko:html:1.9.8' + implementation 'org.springframework:spring-test:5.3.29' // 6.1.4 does not compile + implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2' + implementation 'oro:oro:2.0.8' + implementation 'wsdl4j:wsdl4j:1.6.3' + implementation 'com.auth0:java-jwt:4.4.0' + implementation 'org.jdom:jdom:1.1.3' // don't upgrade above 1.1.3, makes a lot of not obvious and useless complications, see last commits of OFBIZ-12092 for more + implementation 'com.google.re2j:re2j:1.7' + implementation 'xerces:xercesImpl:2.12.2' + implementation 'org.mustangproject:library:2.8.0' // 2.10.0 did not work, cf. OFBIZ-12920 (https://github.com/apache/ofbiz-framework/pull/712#issuecomment-1968960963) + + + testImplementation 'org.hamcrest:hamcrest-library:2.2' // Enable junit4 to not depend on hamcrest-1.3 + testImplementation 'org.mockito:mockito-core:5.10.0' + testImplementation 'org.jmockit:jmockit:1.49' + testImplementation 'com.pholser:junit-quickcheck-generators:1.0' + + runtimeOnly 'javax.xml.soap:javax.xml.soap-api:1.4.0' + runtimeOnly 'de.odysseus.juel:juel-spi:2.2.7' + runtimeOnly 'net.sf.barcode4j:barcode4j-fop-ext:2.1' + runtimeOnly 'net.sf.barcode4j:barcode4j:2.1' + runtimeOnly 'org.apache.axis2:axis2-transport-http:1.8.2' + runtimeOnly 'org.apache.axis2:axis2-transport-local:1.8.2' + runtimeOnly 'org.apache.derby:derby:10.14.2.0' // 10.17.1.0 does not compile + runtimeOnly 'org.apache.geronimo.specs:geronimo-jaxrpc_1.1_spec:2.1' + runtimeOnly 'org.apache.logging.log4j:log4j-1.2-api:2.20.0' // for external jars using the old log4j1.2: routes logging to log4j 2 + runtimeOnly 'org.apache.logging.log4j:log4j-jul:2.20.0' // for external jars using the java.util.logging: routes logging to log4j 2 + runtimeOnly 'org.apache.logging.log4j:log4j-slf4j-impl:2.20.0' // for external jars using slf4j: routes logging to log4j 2 + runtimeOnly 'org.apache.logging.log4j:log4j-web:2.20.0' //??? + runtimeOnly 'org.apache.logging.log4j:log4j-jcl:2.20.0' // need to constrain to version to avoid classpath conflict (ReflectionUtil) + + // specify last codenarc version for java 17 compliance + codenarc('org.codenarc:CodeNarc:3.4.0') +} \ No newline at end of file