/* * Dieses Script soll als Grundlage für die weitere Entwicklung dienen. * Derzeit (2024.12) können durch "gradle simulateUpdate" alle im MavenRepo liegenden Abhängigkeiten in * Temp-Ordner geladen werden. * Der nächste Schritt sollte die Zusammenführung der bestehenden Strukturen und des .classpath sein. * * Simulate update: * gradle simulateUpdate * * Create dependency tree: * gradle dependencies * */ // Define which plugins gradle should use plugins { id 'java' id 'eclipse' } // Define which repos gradle may contact repositories { mavenCentral() //https://repo1.maven.org/maven2/ maven { url 'https://packages.atlassian.com/mvn/maven-atlassian-external/' } } configurations { springSecurity /* Global excludes */ // all*.exclude group: 'org.apache.xmlgraphics', module: 'batik-extension' // Just an example } eclipse { classpath { // Sources are downloaded when the eclipseClasspath-task is executed downloadSources = true downloadJavadoc = true // Add all resolvable configs to .classpath plusConfigurations = project.configurations.findAll { config -> config.canBeResolved == true } } } dependencies { /* * Patched libraries * ================= * * Publicly available libraries that have been patched by HIS */ implementation files( ) /* * HIS libraries * ============= * * Exclusive HIS libraries that are not publicly available */ implementation files( ) /* * Non-Public 3rd party libraries * ============================== * * Libraries that are not publicly available on the repos that gradle may contact */ implementation files ( ) /* * Publicly available libraries * ============================ * * Libraries that are publicly available on the repos that gradle may contact * * Notes: * - This list is alphabetically sorted - please keep it that way. This is done to easier spot * groups of dependencies * - Adding "!!" after the version number, forces this version. * - Instead of globally deactivating transitive dependency resolution, we set the transitive flag to false * for every dependency. This makes it easier to activate transitive dependency resolution later on for * specific dependencies. */ implementation('aopalliance:aopalliance:1.0!!') { transitive = false } implementation('asm:asm:3.3.1!!') { transitive = false } implementation('cglib:cglib-nodep:3.2.4!!') { transitive = false } implementation('com.fasterxml.jackson.core:jackson-annotations:2.17.0!!') { transitive = false } implementation('com.fasterxml.jackson.core:jackson-core:2.17.2!!') { transitive = false } implementation('com.fasterxml.jackson.core:jackson-databind:2.17.0!!') { transitive = false } implementation('com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.17.2!!') { transitive = false } implementation('com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.0!!') { transitive = false } implementation('com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.17.0!!') { transitive = false } implementation('com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.17.0!!') { transitive = false } implementation('com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.17.0!!') { transitive = false } implementation('com.github.librepdf:openpdf:2.0.3!!') { transitive = false } implementation('com.github.log4jdbc-forjdbi:log4jdbc:1.2!!') { transitive = false } implementation('com.github.virtuald:curvesapi:1.06!!') { transitive = false } implementation('com.google.guava:failureaccess:1.0.1!!') { transitive = false } implementation('com.google.guava:guava:33.2.1-jre!!') { transitive = false } implementation('com.h2database:h2:2.2.222!!') { transitive = false } implementation('com.hynnet:commons-lang3:3.4!!') { transitive = false } implementation('com.jcraft:jsch:0.1.54!!') { transitive = false } implementation('com.sun.jersey.contribs:jersey-multipart:1.19.4!!') { transitive = false } implementation('com.sun.jersey.contribs:jersey-spring:1.19.4!!') { transitive = false } implementation('com.sun.jersey:jersey-bundle:1.19.4!!') { transitive = false } implementation('com.sun.jersey:jersey-core:1.19.4!!') { transitive = false } implementation('com.sun.jersey:jersey-json:1.19.4!!') { transitive = false } implementation('com.sun.jersey:jersey-servlet:1.19.4!!') { transitive = false } implementation('com.sun.org.apache.xml.internal:resolver:20050927!!') { transitive = false } implementation('com.sun.xml.stream.buffer:streambuffer:0.9!!') { transitive = false } implementation('com.sun.xml.ws:jaxws-rt:2.1.7!!') { transitive = false } implementation('com.zaxxer:HikariCP:4.0.3!!') { transitive = false } implementation('com.zaxxer:SparseBitSet:1.2!!') { transitive = false } implementation('commons-beanutils:commons-beanutils:1.9.4!!') { transitive = false } implementation('commons-cli:commons-cli:1.2!!') { transitive = false } implementation('commons-codec:commons-codec:1.15!!') { transitive = false } implementation('commons-dbcp:commons-dbcp:1.4!!') { transitive = false } implementation('commons-digester:commons-digester:1.7!!') { transitive = false } implementation('commons-el:commons-el:1.0!!') { transitive = false } implementation('commons-fileupload:commons-fileupload:1.5!!') { transitive = false } implementation('commons-io:commons-io:2.16.1!!') { transitive = false } implementation('commons-lang:commons-lang:2.4!!') { transitive = false } implementation('commons-math:commons-math:1.2!!') { transitive = false } implementation('commons-pool:commons-pool:1.4!!') { transitive = false } implementation('commons-validator:commons-validator:1.0.2!!') { transitive = false } implementation('commons-vfs:commons-vfs:1.0!!') { transitive = false } implementation('io.micrometer:micrometer-core:1.12.5!!') { transitive = false } implementation('io.micrometer:micrometer-commons:1.12.5!!') { transitive = false } implementation('io.micrometer:micrometer-observations:1.12.5!!') { transitive = false } implementation('javax.activation:activation:1.1!!') { transitive = false } implementation('javax.batch:javax.batch-api:1.0.1!!') { transitive = false } implementation('javax.jcr:jcr:2.0!!') { transitive = false } implementation('javax.mail:mail:1.4.4!!') { transitive = false } implementation('javax.persistence:javax.persistence-api:2.2!!') { transitive = false } implementation('javax.ws.rs:jsr311-api:1.1.1!!') { transitive = false } implementation('javax.xml.bind:jaxb-api:2.2.2!!') { transitive = false } implementation('javax.xml.soap:javax.xml.soap-api:1.4.0!!') { transitive = false } implementation('javax.xml.ws:jaxws-api:2.1!!') { transitive = false } implementation('jaxen:jaxen:1.2.0!!') { transitive = false } implementation('jline:jline:2.14.6!!') { transitive = false } implementation('joda-time:joda-time:2.4!!') { transitive = false } implementation('junit:junit:4.13.1!!') { transitive = false } implementation('logkit:logkit:1.0.1!!') { transitive = false } implementation('net.java.dev.javacc:javacc:5.0!!') { transitive = false } implementation('net.sf.jasperreports:jasperreports-fonts:6.21.3!!') { transitive = false } implementation('net.sf.jasperreports:jasperreports-functions:6.21.3!!') { transitive = false } implementation('net.sf.jasperreports:jasperreports:6.21.3!!') { transitive = false } implementation('net.sf.opencsv:opencsv:2.0!!') { transitive = false } implementation('net.sf.scannotation:scannotation:1.0.2!!') { transitive = false } implementation('net.sourceforge.htmlcleaner:htmlcleaner:2.29!!') { transitive = false } implementation('org.antlr:ST4:4.0.4!!') { transitive = false } implementation('org.antlr:antlr-runtime:3.4!!') { transitive = false } implementation('org.apache.ant:ant-launcher:1.10.14!!') { transitive = false } implementation('org.apache.commons:commons-collections4:4.1!!') { transitive = false } implementation('org.apache.commons:commons-compress:1.27.0!!') { transitive = false } implementation('org.apache.commons:commons-exec:1.1!!') { transitive = false } implementation('org.apache.commons:commons-math3:3.6.1!!') { transitive = false } implementation('org.apache.httpcomponents:httpclient:4.2.5!!') { transitive = false } implementation('org.apache.httpcomponents:httpcore:4.3-alpha1!!') { transitive = false } implementation('org.apache.httpcomponents:httpmime:4.3.2!!') { transitive = false } implementation('org.apache.jackrabbit:jackrabbit-core:2.22.0!!') { transitive = false } implementation('org.apache.jackrabbit:jackrabbit-data:2.22.0!!') { transitive = false } implementation('org.apache.jackrabbit:jackrabbit-jcr-commons:2.22.0!!') { transitive = false } implementation('org.apache.jackrabbit:jackrabbit-spi-commons:2.22.0!!') { transitive = false } implementation('org.apache.jackrabbit:jackrabbit-spi:2.22.0!!') { transitive = false } implementation('org.apache.jackrabbit:oak-jackrabbit-api:1.42.0!!') { transitive = false } implementation('org.apache.lucene:lucene-core:3.6.0!!') { transitive = false } implementation('org.apache.pdfbox:pdfbox:2.0.32!!') { transitive = false } implementation('org.apache.poi:poi-examples:4.1.2!!') { transitive = false } implementation('org.apache.poi:poi-excelant:4.1.2!!') { transitive = false } implementation('org.apache.poi:poi-ooxml-schemas:4.1.2!!') { transitive = false } implementation('org.apache.poi:poi-ooxml:4.1.2!!') { transitive = false } implementation('org.apache.poi:poi-scratchpad:4.1.2!!') { transitive = false } implementation('org.apache.poi:poi:4.1.2!!') { transitive = false } implementation('org.apache.stratos:guice:3.0!!') { transitive = false } implementation('org.apache.tika:tika-core:2.9.2!!') { transitive = false } implementation('org.apache.tomcat:tomcat-catalina:9.0.90!!') { transitive = false } implementation('org.apache.xbean:xbean-spring:2.7!!') { transitive = false } implementation('org.apache.xmlgraphics:batik-all:1.17!!') { transitive = false } implementation('org.apache.xmlgraphics:fop:2.2!!') { transitive = false } implementation('org.apache.xmlgraphics:xmlgraphics-commons:2.9!!') { transitive = false } implementation('org.aspectj:aspectjrt:1.9.20!!') { transitive = false } implementation('org.aspectj:aspectjweaver:1.9.20!!') { transitive = false } implementation('org.checkerframework.annotatedlib:commons-csv:1.8!!') { transitive = false } implementation('org.codehaus.enunciate:enunciate-core-annotations:1.28!!') { transitive = false } implementation('org.codehaus.enunciate:enunciate-core-rt:1.28!!') { transitive = false } implementation('org.codehaus.enunciate:enunciate-jaxws-ri-rt:1.28!!') { transitive = false } implementation('org.codehaus.enunciate:enunciate-jersey-rt:1.28!!') { transitive = false } implementation('org.codehaus.enunciate:enunciate-rt:1.28!!') { transitive = false } implementation('org.codehaus.enunciate:enunciate-spring-jaxws-rt:1.28!!') { transitive = false } implementation('org.codehaus.enunciate:enunciate-spring3-app-rt:1.28!!') { transitive = false } implementation('org.codehaus.groovy:groovy-all:2.4.21!!') { transitive = false } implementation('org.codehaus.janino:janino:2.5.16!!') { transitive = false } implementation('org.codehaus.jettison:jettison:1.5.4!!') { transitive = false } implementation('org.daisy.libs:saxon-he:10.5!!') { transitive = false } implementation('org.dom4j:dom4j:2.1.4!!') { transitive = false } implementation('org.dspace.xmlui.concurrent:concurrent:1.3.4!!') { transitive = false } implementation('org.exist-db.thirdparty.xerces:xercesImpl:2.12.2!!') { transitive = false } implementation('org.glassfish.external:antlr:2.7.7!!') { transitive = false } implementation('org.glassfish.jersey.containers:jersey-container-servlet:3.0.0!!') { transitive = false } implementation('org.glassfish.jersey.core:jersey-common:3.0.0!!') { transitive = false } implementation('org.glassfish.jersey.core:jersey-server:3.0.0!!') { transitive = false } implementation('org.javassist:javassist:3.20.0-GA!!') { transitive = false } implementation('org.jdom:jdom2:2.0.6.1!!') { transitive = false } implementation('org.jfree:jcommon:1.0.23!!') { transitive = false } implementation('org.jfree:jfreechart:1.0.19!!') { transitive = false } implementation('org.json:json:20240303!!') { transitive = false } implementation('org.jvnet.jax-ws-commons.spring:jaxws-spring:1.8!!') { transitive = false } implementation('org.jvnet:mimepull:1.3!!') { transitive = false } implementation('org.lucee:commons-collections:3.2.1!!') { transitive = false } implementation('org.lucee:commons-httpclient:3.1!!') { transitive = false } implementation('org.lucee:commons-logging:1.1.1!!') { transitive = false } implementation('org.lucee:xmlbeans:3.1.0!!') { transitive = false } implementation('org.mockito:mockito-all:1.10.19!!') { transitive = false } implementation('org.mongodb:bson:4.2.0!!') { transitive = false } implementation('org.olap4j:olap4j-xmlaserver:1.2.0!!') { transitive = false } implementation('org.ow2.util.asm:asm-commons:3.1!!') { transitive = false } implementation('org.ow2.util.asm:asm-tree:3.1!!') { transitive = false } implementation('org.postgresql:postgresql:42.7.2!!') { transitive = false } implementation('org.quartz-scheduler:quartz:2.5.0!!') { transitive = false } implementation('org.quartz-scheduler:quartz-jobs:2.5.0!!') { transitive = false } implementation('org.slf4j:slf4j-api:1.6.4!!') { transitive = false } implementation('org.slf4j:slf4j-log4j12:1.6.4!!') { transitive = false } implementation('org.springframework.batch:spring-batch-core:5.2.2!!') { transitive = false } implementation('org.springframework.batch:spring-batch-infrastructure:5.2.2!!') { transitive = false } implementation('org.springframework.batch:spring-batch-integration:5.2.2!!') { transitive = false } implementation('org.springframework.batch:spring-batch-test:5.2.2!!') { transitive = false } implementation('org.springframework.data:spring-data-commons:3.2.8!!') { transitive = false } implementation('org.springframework.data:spring-data-jdbc:3.2.8!!') { transitive = false } implementation('org.springframework.data:spring-data-relational:3.2.8!!') { transitive = false } def springVersion = "6.2.8!!" implementation("org.springframework:spring-aop:$springVersion") { transitive = false } implementation("org.springframework:spring-beans:$springVersion") { transitive = false } implementation("org.springframework:spring-context:$springVersion") { transitive = false } implementation("org.springframework:spring-context-support:$springVersion") { transitive = false } implementation("org.springframework:spring-core:$springVersion") { transitive = false } implementation("org.springframework:spring-expression:$springVersion") { transitive = false } implementation("org.springframework:spring-jdbc:$springVersion") { transitive = false } implementation("org.springframework:spring-orm:$springVersion") { transitive = false } implementation("org.springframework:spring-test:$springVersion") { transitive = false } implementation("org.springframework:spring-tx:$springVersion") { transitive = false } implementation("org.springframework:spring-web:$springVersion") { transitive = false } implementation("org.springframework:spring-webmvc:$springVersion") { transitive = false } implementation('org.yaml:snakeyaml:2.2!!') { transitive = false } implementation('xalan:serializer:2.7.3!!') { transitive = false } implementation('xalan:xalan:2.7.3!!') { transitive = false } implementation('xml-apis:xml-apis:1.4.01!!') { transitive = false } implementation('xml-resolver:xml-resolver:1.2!!') { transitive = false } def springSecurityVersion = "6.2.8!!" implementation("org.springframework.security:spring-security-acl:$springSecurityVersion") { transitive = false } implementation("org.springframework.security:spring-security-cas:$springSecurityVersion") { transitive = false } implementation("org.springframework.security:spring-security-config:$springSecurityVersion") { transitive = false } implementation("org.springframework.security:spring-security-core:$springSecurityVersion") { transitive = false } implementation("org.springframework.security:spring-security-taglibs:$springSecurityVersion") { transitive = false } implementation("org.springframework.security:spring-security-web:$springSecurityVersion") { transitive = false } /* * Publicly available libraries that are provided by tomcat during runtime * ======================================================================= * */ } /* * Task variables * ============== */ def libsDir = file('.') def tmpLibsDir = file('tmp-libs') def tmpSourcesDir = file('tmp-src') def tmpJavadocDir = file('tmp-javadoc') task simulateUpdate { dependsOn 'eclipseClasspath' description = 'Downloads the dependencies as specified in the dependencies block into the tmpLibsDir' doLast { delete tmpLibsDir mkdir tmpLibsDir delete tmpSourcesDir mkdir tmpSourcesDir delete tmpJavadocDir mkdir tmpJavadocDir // Copy all runtime dependencies into the tmp folder copy { from project.configurations.runtimeClasspath into tmpLibsDir } // Copy sources and javadoc jars into their respective folders configurations.compileClasspath.resolvedConfiguration.resolvedArtifacts.each { artifact -> // Find sources try { def sourcesJar = configurations.detachedConfiguration(dependencies.create("${artifact.moduleVersion.id.group}:${artifact.name}:${artifact.moduleVersion.id.version}:sources")) sourcesJar.resolve().each { sourceFile -> copy { from sourceFile into tmpSourcesDir } } } catch (Exception e) { logger.lifecycle("No sources found for: ${artifact.name}") } // Find javadocs try { def javadocJar = configurations.detachedConfiguration(dependencies.create("${artifact.moduleVersion.id.group}:${artifact.name}:${artifact.moduleVersion.id.version}:javadoc")) javadocJar.resolve().each { javadocFile -> copy { from javadocFile into tmpJavadocDir } } } catch (Exception e) { logger.lifecycle("No javadoc found for: ${artifact.name}") } } } }