Add logback to Gradle Resolver to resolve SLF4J provider not found message (#1508)
diff --git a/MODULE.bazel b/MODULE.bazel index 047da57..bf68b1a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel
@@ -34,6 +34,8 @@ maven.install( name = "rules_jvm_external_deps", artifacts = [ + "ch.qos.logback:logback-classic:1.5.23", + "com.github.jknack:handlebars:4.3.1", "com.google.auth:google-auth-library-credentials:1.23.0", "com.google.auth:google-auth-library-oauth2-http:1.23.0", "com.google.cloud:google-cloud-core:2.40.0", @@ -57,19 +59,18 @@ "org.apache.maven.resolver:maven-resolver-transport-file:%s" % _MAVEN_RESOLVER_VERSION, "org.apache.maven.resolver:maven-resolver-transport-http:%s" % _MAVEN_RESOLVER_VERSION, "org.apache.maven.resolver:maven-resolver-util:%s" % _MAVEN_RESOLVER_VERSION, + "org.bouncycastle:bcprov-jdk15on:1.68", + "org.bouncycastle:bcpg-jdk15on:1.68", "org.codehaus.plexus:plexus-cipher:2.1.0", "org.codehaus.plexus:plexus-sec-dispatcher:2.0", "org.codehaus.plexus:plexus-utils:3.5.1", "org.fusesource.jansi:jansi:2.4.1", - "org.slf4j:jul-to-slf4j:2.0.12", - "org.slf4j:log4j-over-slf4j:2.0.12", - "org.slf4j:slf4j-simple:2.0.12", + "org.gradle:gradle-tooling-api:%s" % _GRADLE_VERSION, + "org.slf4j:jul-to-slf4j:2.0.17", + "org.slf4j:log4j-over-slf4j:2.0.17", + "org.slf4j:slf4j-simple:2.0.17", "software.amazon.awssdk:s3:2.26.12", "software.amazon.awssdk:sdk-core:2.26.12", - "org.bouncycastle:bcprov-jdk15on:1.68", - "org.bouncycastle:bcpg-jdk15on:1.68", - "org.gradle:gradle-tooling-api:%s" % _GRADLE_VERSION, - "com.github.jknack:handlebars:4.3.1", ], fetch_sources = True, lock_file = "//:rules_jvm_external_deps_install.json",
diff --git a/private/dependency_tree_parser.bzl b/private/dependency_tree_parser.bzl index 3cdc42c..0b82991 100644 --- a/private/dependency_tree_parser.bzl +++ b/private/dependency_tree_parser.bzl
@@ -511,7 +511,7 @@ # a jvm_import/aar_import based on information in dep_tree. seen_imports[target_label] = True if visibilities_to_override.get(target_label): - visibility = "[%s]" % (",".join(["\"%s\"" % v for v in visibilities_to_override.get(target_label)])) + visibility = "[%s]" % (",".join(["\"%s\"" % v for v in visibilities_to_override.get(target_label)])) all_imports.append( "alias(\n\tname = \"%s\",\n\tactual = \"%s\",\n\tvisibility = %s,)" % (target_label, labels_to_override.get(target_label), visibility), )
diff --git a/private/extensions/maven.bzl b/private/extensions/maven.bzl index 1a0fb16..2edc587 100644 --- a/private/extensions/maven.bzl +++ b/private/extensions/maven.bzl
@@ -571,7 +571,7 @@ else: current = overrides[override.name].get(override.coordinates) to_use = _fail_if_different("Target of override for %s" % override.coordinates, current, value, [None]) - + current_visibility = override_visibilities[override.name].get(override.coordinates) if current_visibility == None: visibility_to_use = override.visibility
diff --git a/private/rules/coursier.bzl b/private/rules/coursier.bzl index 544c125..22b3a6a 100644 --- a/private/rules/coursier.bzl +++ b/private/rules/coursier.bzl
@@ -1015,7 +1015,7 @@ if _is_verbose(repository_ctx): print("Removing source artifact with no file: %s" % dep["coord"]) else: - amended_deps.append(dep) + amended_deps.append(dep) continue # You'd think we could use skylib here to do the heavy lifting, but
diff --git a/private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/BUILD.bazel b/private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/BUILD.bazel index 0974c0e..a1fc937 100644 --- a/private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/BUILD.bazel +++ b/private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/BUILD.bazel
@@ -51,7 +51,15 @@ "GradleMain.java", ], main_class = "com.github.bazelbuild.rules_jvm_external.resolver.gradle.GradleMain", + resource_strip_prefix = "private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle", + resources = ["logback.xml"], visibility = ["//visibility:public"], + runtime_deps = [ + artifact( + "ch.qos.logback:logback-classic", + repository_name = "rules_jvm_external_deps", + ), + ], deps = [ ":gradle", "//private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver",
diff --git a/private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/logback.xml b/private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/logback.xml new file mode 100644 index 0000000..149a441 --- /dev/null +++ b/private/tools/java/com/github/bazelbuild/rules_jvm_external/resolver/gradle/logback.xml
@@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>%-5level %logger{36} - %msg%n</pattern> + </encoder> + </appender> + <root level="INFO"> + <appender-ref ref="STDOUT"/> + </root> +</configuration>
diff --git a/repositories.bzl b/repositories.bzl index 893e200..c7025bb 100644 --- a/repositories.bzl +++ b/repositories.bzl
@@ -125,6 +125,8 @@ maven_install( name = "rules_jvm_external_deps", artifacts = [ + "ch.qos.logback:logback-classic:1.5.23", + "com.github.jknack:handlebars:4.3.1", "com.google.auth:google-auth-library-credentials:1.23.0", "com.google.auth:google-auth-library-oauth2-http:1.23.0", "com.google.cloud:google-cloud-core:2.40.0", @@ -148,19 +150,18 @@ "org.apache.maven.resolver:maven-resolver-transport-file:%s" % _MAVEN_RESOLVER_VERSION, "org.apache.maven.resolver:maven-resolver-transport-http:%s" % _MAVEN_RESOLVER_VERSION, "org.apache.maven.resolver:maven-resolver-util:%s" % _MAVEN_RESOLVER_VERSION, + "org.bouncycastle:bcprov-jdk15on:1.68", + "org.bouncycastle:bcpg-jdk15on:1.68", "org.codehaus.plexus:plexus-cipher:2.1.0", "org.codehaus.plexus:plexus-sec-dispatcher:2.0", "org.codehaus.plexus:plexus-utils:3.5.1", "org.fusesource.jansi:jansi:2.4.1", - "org.slf4j:jul-to-slf4j:2.0.12", - "org.slf4j:log4j-over-slf4j:2.0.12", - "org.slf4j:slf4j-simple:2.0.12", + "org.gradle:gradle-tooling-api:%s" % _GRADLE_VERSION, + "org.slf4j:jul-to-slf4j:2.0.17", + "org.slf4j:log4j-over-slf4j:2.0.17", + "org.slf4j:slf4j-simple:2.0.17", "software.amazon.awssdk:s3:2.26.12", "software.amazon.awssdk:sdk-core:2.26.12", - "org.bouncycastle:bcprov-jdk15on:1.68", - "org.bouncycastle:bcpg-jdk15on:1.68", - "org.gradle:gradle-tooling-api:%s" % _GRADLE_VERSION, - "com.github.jknack:handlebars:4.3.1", ], maven_install_json = deps_lock_file, strict_visibility = True,
diff --git a/rules_jvm_external_deps_install.json b/rules_jvm_external_deps_install.json index eab0fc0..d9ccf3d 100644 --- a/rules_jvm_external_deps_install.json +++ b/rules_jvm_external_deps_install.json
@@ -1,7 +1,7 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 1275088240, - "__RESOLVED_ARTIFACTS_HASH": 968256901, + "__INPUT_ARTIFACTS_HASH": -799797083, + "__RESOLVED_ARTIFACTS_HASH": 1183126929, "conflict_resolution": { "com.google.guava:guava:33.2.1-jre": "com.google.guava:guava:33.4.8-jre", "org.codehaus.plexus:plexus-utils:3.5.1": "org.codehaus.plexus:plexus-utils:3.6.0" @@ -14,6 +14,20 @@ }, "version": "1.0" }, + "ch.qos.logback:logback-classic": { + "shasums": { + "jar": "f80ed51f2621488cee4997982031a0614a9e1757ef58700c4e5d8081c0eb948f", + "sources": "9f00e2d6af67ffa5cb0a108d2239ca631e5ac41e9a0ba4fdc754d8a97b4ccb6f" + }, + "version": "1.5.23" + }, + "ch.qos.logback:logback-core": { + "shasums": { + "jar": "c07ee90df0c49d8890bfbe9844d34324f2751b81caf69cd84caddcc1f6107400", + "sources": "90d3c4b085ffd24fa63ebbc30186dafa6c950f75165a3ec343570bf7243a9f03" + }, + "version": "1.5.23" + }, "com.fasterxml.jackson.core:jackson-core": { "shasums": { "jar": "ddb26c8a1f1a84535e8213c48b35b253370434e3287b3cf15777856fc4e58ce6", @@ -806,31 +820,31 @@ }, "org.slf4j:jul-to-slf4j": { "shasums": { - "jar": "84f02864cab866ffb196ed2022b1b8da682ea6fb3d4a161069429e8391ee2979", - "sources": "62702e12ff5af75f4125c76403ffb577b54972478e83a1ae075bc5a38db233f7" + "jar": "a7afcd23b9cfd1475e55c94f943b808c5922035e7e2c2a5c65a487a4106bc538", + "sources": "63962cb695376c541835ce130a9a734516c61628aafdb088db0241f0c9559ab2" }, - "version": "2.0.12" + "version": "2.0.17" }, "org.slf4j:log4j-over-slf4j": { "shasums": { - "jar": "6271f07eeab8f14321dcdfed8d1de9458198eaa3320174923d1ef3ace9048efa", - "sources": "77ff3d616f87fa07545753e3ed767f0d338a8bd4398598e43d8ce09314edcb15" + "jar": "cbf30eaf95357ab7babf9be123da9cc702f0fe83b23392b7a62589d60b5862d1", + "sources": "8979d8b96daf80abc693dd367747889f44903b74d2192976591cabc60f5f55fa" }, - "version": "2.0.12" + "version": "2.0.17" }, "org.slf4j:slf4j-api": { "shasums": { - "jar": "a79502b8abdfbd722846a27691226a4088682d6d35654f9b80e2a9ccacf7ed47", - "sources": "f05052e5924887edee5ba8228d210e763f85032e2b58245a37fa71e049950787" + "jar": "7b751d952061954d5abfed7181c1f645d336091b679891591d63329c622eb832", + "sources": "db0d08d8efa05ad19d174d747bd9d8e68dbb02b596812fe7b3a681656e346694" }, - "version": "2.0.12" + "version": "2.0.17" }, "org.slf4j:slf4j-simple": { "shasums": { - "jar": "4cd8f3d6236044600e7054da7c124c6d2e9f45eb43c77d4e9b093fe1095edc85", - "sources": "b4fca032b643ed51876cc2b3d3acc3a6526558273f6157abc4831f8aed9bea60" + "jar": "ddfea59ac074c6d3e24ac2c38622d2d963895e17f70b38ed4bdae4d780be6964", + "sources": "30b660e79419bfcebd678e75bdfe3644eaf325f50253a68395d93634da5953df" }, - "version": "2.0.12" + "version": "2.0.17" }, "org.threeten:threetenbp": { "shasums": { @@ -1044,6 +1058,10 @@ } }, "dependencies": { + "ch.qos.logback:logback-classic": [ + "ch.qos.logback:logback-core", + "org.slf4j:slf4j-api" + ], "com.github.jknack:handlebars": [ "org.slf4j:slf4j-api" ], @@ -1628,6 +1646,78 @@ "org.aopalliance.aop", "org.aopalliance.intercept" ], + "ch.qos.logback:logback-classic": [ + "ch.qos.logback.classic", + "ch.qos.logback.classic.boolex", + "ch.qos.logback.classic.encoder", + "ch.qos.logback.classic.filter", + "ch.qos.logback.classic.helpers", + "ch.qos.logback.classic.html", + "ch.qos.logback.classic.joran", + "ch.qos.logback.classic.joran.action", + "ch.qos.logback.classic.joran.sanity", + "ch.qos.logback.classic.joran.serializedModel", + "ch.qos.logback.classic.jul", + "ch.qos.logback.classic.layout", + "ch.qos.logback.classic.log4j", + "ch.qos.logback.classic.model", + "ch.qos.logback.classic.model.processor", + "ch.qos.logback.classic.model.util", + "ch.qos.logback.classic.net", + "ch.qos.logback.classic.net.server", + "ch.qos.logback.classic.pattern", + "ch.qos.logback.classic.pattern.color", + "ch.qos.logback.classic.selector", + "ch.qos.logback.classic.selector.servlet", + "ch.qos.logback.classic.servlet", + "ch.qos.logback.classic.sift", + "ch.qos.logback.classic.spi", + "ch.qos.logback.classic.turbo", + "ch.qos.logback.classic.tyler", + "ch.qos.logback.classic.util" + ], + "ch.qos.logback:logback-core": [ + "ch.qos.logback.core", + "ch.qos.logback.core.boolex", + "ch.qos.logback.core.encoder", + "ch.qos.logback.core.filter", + "ch.qos.logback.core.helpers", + "ch.qos.logback.core.hook", + "ch.qos.logback.core.html", + "ch.qos.logback.core.joran", + "ch.qos.logback.core.joran.action", + "ch.qos.logback.core.joran.conditional", + "ch.qos.logback.core.joran.event", + "ch.qos.logback.core.joran.node", + "ch.qos.logback.core.joran.sanity", + "ch.qos.logback.core.joran.spi", + "ch.qos.logback.core.joran.util", + "ch.qos.logback.core.joran.util.beans", + "ch.qos.logback.core.layout", + "ch.qos.logback.core.model", + "ch.qos.logback.core.model.conditional", + "ch.qos.logback.core.model.processor", + "ch.qos.logback.core.model.processor.conditional", + "ch.qos.logback.core.model.util", + "ch.qos.logback.core.net", + "ch.qos.logback.core.net.server", + "ch.qos.logback.core.net.ssl", + "ch.qos.logback.core.pattern", + "ch.qos.logback.core.pattern.color", + "ch.qos.logback.core.pattern.parser", + "ch.qos.logback.core.pattern.util", + "ch.qos.logback.core.property", + "ch.qos.logback.core.read", + "ch.qos.logback.core.recovery", + "ch.qos.logback.core.rolling", + "ch.qos.logback.core.rolling.helper", + "ch.qos.logback.core.sift", + "ch.qos.logback.core.spi", + "ch.qos.logback.core.status", + "ch.qos.logback.core.subst", + "ch.qos.logback.core.testUtil", + "ch.qos.logback.core.util" + ], "com.fasterxml.jackson.core:jackson-core": [ "com.fasterxml.jackson.core", "com.fasterxml.jackson.core.async", @@ -3244,6 +3334,10 @@ "https://repo.gradle.org/gradle/libs-releases/": [ "aopalliance:aopalliance", "aopalliance:aopalliance:jar:sources", + "ch.qos.logback:logback-classic", + "ch.qos.logback:logback-classic:jar:sources", + "ch.qos.logback:logback-core", + "ch.qos.logback:logback-core:jar:sources", "com.fasterxml.jackson.core:jackson-core", "com.fasterxml.jackson.core:jackson-core:jar:sources", "com.github.jknack:handlebars", @@ -3541,6 +3635,10 @@ "https://repo1.maven.org/maven2/": [ "aopalliance:aopalliance", "aopalliance:aopalliance:jar:sources", + "ch.qos.logback:logback-classic", + "ch.qos.logback:logback-classic:jar:sources", + "ch.qos.logback:logback-core", + "ch.qos.logback:logback-core:jar:sources", "com.fasterxml.jackson.core:jackson-core", "com.fasterxml.jackson.core:jackson-core:jar:sources", "com.github.jknack:handlebars", @@ -3837,6 +3935,22 @@ ] }, "services": { + "ch.qos.logback:logback-classic": { + "jakarta.servlet.ServletContainerInitializer": [ + "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer" + ], + "org.slf4j.spi.SLF4JServiceProvider": [ + "ch.qos.logback.classic.spi.LogbackServiceProvider" + ] + }, + "ch.qos.logback:logback-classic:jar:sources": { + "jakarta.servlet.ServletContainerInitializer": [ + "ch.qos.logback.classic.servlet.LogbackServletContainerInitializer" + ], + "org.slf4j.spi.SLF4JServiceProvider": [ + "ch.qos.logback.classic.spi.LogbackServiceProvider" + ] + }, "com.fasterxml.jackson.core:jackson-core": { "com.fasterxml.jackson.core.JsonFactory": [ "com.fasterxml.jackson.core.JsonFactory" @@ -4068,8 +4182,5 @@ ] } }, - "skipped": [ - "com.google.guava:listenablefuture:jar:sources" - ], "version": "2" }
diff --git a/tests/custom_maven_install/regression_testing_gradle_install.json b/tests/custom_maven_install/regression_testing_gradle_install.json index 3b81be2..69fbe45 100644 --- a/tests/custom_maven_install/regression_testing_gradle_install.json +++ b/tests/custom_maven_install/regression_testing_gradle_install.json
@@ -510,8 +510,7 @@ "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21": "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10", "org.jetbrains.kotlin:kotlin-stdlib:1.8.0": "org.jetbrains.kotlin:kotlin-stdlib:1.8.21", "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1": "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4", - "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1": "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4", - "org.jetbrains.kotlinx:kotlinx-coroutines-core:pom:1.6.1": "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4" + "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1": "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4" }, "dependencies": { "androidx.activity:activity-ktx:aar": [
diff --git a/tests/integration/java_export/BUILD b/tests/integration/java_export/BUILD index f5aa49f..c5f224b 100644 --- a/tests/integration/java_export/BUILD +++ b/tests/integration/java_export/BUILD
@@ -1,5 +1,5 @@ load("@aspect_bazel_lib//lib:diff_test.bzl", "diff_test") -load("@rules_java//java:defs.bzl", "java_library", "java_binary") +load("@rules_java//java:defs.bzl", "java_binary", "java_library") load("//:defs.bzl", "artifact", "java_export", "maven_export") load("//private/rules:maven_project_jar.bzl", "maven_project_jar") @@ -236,11 +236,14 @@ java_binary( name = "some-java-binary", - srcs = ["Main.java", "Dependency.java"], + srcs = [ + "Dependency.java", + "Main.java", + ], main_class = "com.jvm.external.jvm_export.Main", deps = [ artifact("com.google.guava:guava"), - ] + ], ) maven_export(
diff --git a/tests/integration/override_targets/BUILD b/tests/integration/override_targets/BUILD index 04db0a7..337031d 100644 --- a/tests/integration/override_targets/BUILD +++ b/tests/integration/override_targets/BUILD
@@ -87,7 +87,7 @@ genquery( name = "verify_visibility_query", - expression = '@root_module_can_override//:com_squareup_okio_okio', + expression = "@root_module_can_override//:com_squareup_okio_okio", scope = ["@root_module_can_override//:com_squareup_okio_okio"], )
diff --git a/tests/integration/override_targets/module/MODULE.bazel b/tests/integration/override_targets/module/MODULE.bazel index cfea61c..83e3301 100644 --- a/tests/integration/override_targets/module/MODULE.bazel +++ b/tests/integration/override_targets/module/MODULE.bazel
@@ -5,6 +5,7 @@ bazel_dep(name = "rules_jvm_external", version = "0.0.0") bazel_dep(name = "rules_java", version = "8.13.0") + local_path_override( module_name = "rules_jvm_external", path = "../../../..",
diff --git a/tests/integration/pom_file/BUILD b/tests/integration/pom_file/BUILD index 6c3e81c..c5629c7 100644 --- a/tests/integration/pom_file/BUILD +++ b/tests/integration/pom_file/BUILD
@@ -1,5 +1,5 @@ -load("@rules_java//java:defs.bzl", "java_library") load("@aspect_bazel_lib//lib:diff_test.bzl", "diff_test") +load("@rules_java//java:defs.bzl", "java_library") load("//:defs.bzl", "artifact", "java_export") java_export(