Andreas Tille <ti...@debian.org> writes: > Hi Felix,
hello Andreas, > since you recently provided some help with another Java package: This > one is a predependency for bazel which would be really great to have > torch (the machine learning framework) which in turn is needed by lots > of COVID-19 relevant packages. So if you have a clue how to build this > it would be another interesting step forward. > > Kind regards > > Andreas. > > PS: Feel free to answer on list > > https://lists.debian.org/debian-java/2020/05/msg00019.html > > > I've started packaging in > > https://salsa.debian.org/java-team/opencensus-java > > to support bazel packaging. Unfortunately I have no idea how to fix all > the (Build-)Depends of the gradle build. I was following a hint given > on debian-java list to find out some dependency relations via > > gradle build --info Wow, what a huge project (and, as usual in Java, with a huge number of dependencies)... There are toplevel dependencies (/build.gradle), which are "only" gradle plugins, so IMHO some of these are candidates for patching out: classpath 'ru.vyarus:gradle-animalsniffer-plugin:1.4.6' classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE") classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.16' classpath "net.ltgt.gradle:gradle-apt-plugin:0.18" classpath 'com.github.ben-manes:gradle-versions-plugin:0.20.0' classpath "gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.8" classpath "me.champeau.gradle:jmh-gradle-plugin:0.4.8" classpath "gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.0" Then there are ~50 dependencies in the 'libraries' map (most probably all referenced in subdirectory build.gradle's, like "compile libraries.grpc_context" in /api/build.gradle): libraries = [ appengine_api: "com.google.appengine:appengine-api-1.0-sdk:${appengineVersion}", aspectj: "org.aspectj:aspectjrt:${aspectjVersion}", auto_value: "com.google.auto.value:auto-value:${autoValueVersion}", auto_service: 'com.google.auto.service:auto-service:1.0-rc3', byte_buddy: 'net.bytebuddy:byte-buddy:1.8.22', config: 'com.typesafe:config:1.2.1', disruptor: 'com.lmax:disruptor:3.4.2', errorprone: "com.google.errorprone:error_prone_annotations:${errorProneVersion}", findbugs_annotations: "com.google.code.findbugs:annotations:${findBugsAnnotationsVersion}", google_auth: "com.google.auth:google-auth-library-credentials:${googleAuthVersion}", google_cloud_logging: "com.google.cloud:google-cloud-logging:${googleCloudGaVersion}", google_cloud_trace: "com.google.cloud:google-cloud-trace:${googleCloudBetaVersion}", log4j2: "org.apache.logging.log4j:log4j-core:${log4j2Version}", zipkin_reporter: "io.zipkin.reporter2:zipkin-reporter:${zipkinReporterVersion}", zipkin_urlconnection: "io.zipkin.reporter2:zipkin-sender-urlconnection:${zipkinReporterVersion}", jaeger_reporter: "io.jaegertracing:jaeger-client:${jaegerReporterVersion}", google_cloud_monitoring: "com.google.cloud:google-cloud-monitoring:${googleCloudGaVersion}", grpc_auth: "io.grpc:grpc-auth:${grpcVersion}", grpc_context: "io.grpc:grpc-context:${grpcVersion}", grpc_core: "io.grpc:grpc-core:${grpcVersion}", grpc_netty: "io.grpc:grpc-netty:${grpcVersion}", grpc_netty_shaded: "io.grpc:grpc-netty-shaded:${grpcVersion}", grpc_stub: "io.grpc:grpc-stub:${grpcVersion}", guava: "com.google.guava:guava:${guavaVersion}", jsr305: "com.google.code.findbugs:jsr305:${findBugsJsr305Version}", signalfx_java: "com.signalfx.public:signalfx-java:${signalfxVersion}", spring_aspects: "org.springframework:spring-aspects:${springVersion}", spring_boot_starter_web: "org.springframework.boot:spring-boot-starter-web:${springBootVersion}", spring_boot_starter_web2: "org.springframework.boot:spring-boot-starter-web:${springBoot2Version}", spring_cloud_build: "org.springframework.cloud:spring-cloud-build:${springCloudVersion}", spring_cloud_starter_sleuth: "org.springframework.cloud:spring-cloud-starter-sleuth:${springCloudVersion}", spring_context: "org.springframework:spring-context:${springVersion}", spring_context_support: "org.springframework:spring-context-support:${springVersion}", prometheus_simpleclient: "io.prometheus:simpleclient:${prometheusVersion}", protobuf: "com.google.protobuf:protobuf-java:${protobufVersion}", opencensus_proto: "io.opencensus:opencensus-proto:${opencensusProtoVersion}", gson: "com.google.code.gson:gson:${gsonVersion}", httpcomponents: "org.apache.httpcomponents:httpclient:${httpcomponentsVersion}", // Test dependencies. guava_testlib: "com.google.guava:guava-testlib:${guavaVersion}", junit: 'junit:junit:4.12', mockito: 'org.mockito:mockito-core:2.28.1', spring_test: "org.springframework:spring-test:${springVersion}", truth: 'com.google.truth:truth:1.0', spring_boot_test: "org.springframework.boot:spring-boot-starter-test:${springBootTestVersion}", spring_boot_test2: "org.springframework.boot:spring-boot-starter-test:${springBoot2Version}", dropwizard: "io.dropwizard.metrics:metrics-core:${dropwizardVersion}", dropwizard5: "io.dropwizard.metrics5:metrics-core:${dropwizard5Version}", sprint_boot_starter_tomcat: "org.springframework.boot:spring-boot-starter-tomcat:${springBoot2Version}", javax_servlet: "javax.servlet:javax.servlet-api:${javaxServletVersion}", So if you want to package the whole thing, you have to package most of these (ca. 50) non-test dependencies (some of them are already packaged, of course and as noted, some can be replaced by small patches). > and added some of the modules I was able to detect from the gradle cache > but this did not helped much. I would be happy if someone could lend a > helping hand since I have the feeling that my attempt looks a bit > fruitless. The package is relevant to get bazel packaged which would > open the chance to package tensorflow which is used in several packages > that help fighting COVID-19 and thus is part of the Debian Med COVID-19 > sprint. This is an ambitious goal :-) Cheers and Best Regards, -- Felix Natter