bazel-deps
bazel-deps copied to clipboard
Cannot use artifacts from Google Maven
Attempting to include Android Support library (or, rather, any library from Google Maven) fails. Reproducible example:
dependencies.yaml
:
options:
languages: [ "java" ]
resolvers:
- id: "google"
url: https://dl.google.com/dl/android/maven2/
transitivity: runtime_deps
versionConflictPolicy: highest
dependencies:
com.android.support:
design:
lang: java
version: "27.0.2"
Causes exception:
INFO: Analysed target //:parse (0 packages loaded).
INFO: Found 1 target...
Target //src/scala/com/github/johnynek/bazel_deps:parseproject up-to-date:
bazel-bin/src/scala/com/github/johnynek/bazel_deps/parseproject
INFO: Elapsed time: 0.154s, Critical Path: 0.01s
INFO: Build completed successfully, 1 total action
INFO: Running command line: bazel-bin/src/scala/com/github/johnynek/bazel_deps/parseproject generate -r /Users/vmax/tmp/ -s 3rdparty/workspace.bzl -d dependencies.yaml
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
failed to find sha of android.arch.core:common:1.0.0: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: android.arch.lifecycle:runtime:jar:1.0.3, com.android.support:support-fragment:jar:27.0.2, com.android.support:design:jar:27.0.2, com.android.support:transition:jar:27.0.2, com.android.support:support-core-utils:jar:27.0.2, com.android.support:support-v4:jar:27.0.2, com.android.support:support-compat:jar:27.0.2, com.android.support:support-media-compat:jar:27.0.2, com.android.support:appcompat-v7:jar:27.0.2, com.android.support:animated-vector-drawable:jar:27.0.2, com.android.support:support-core-ui:jar:27.0.2, com.android.support:recyclerview-v7:jar:27.0.2, com.android.support:support-vector-drawable:jar:27.0.2: Could not find artifact android.arch.lifecycle:runtime:jar:1.0.3 in google (https://dl.google.com/dl/android/maven2/)
Exception in thread "main" org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: android.arch.lifecycle:runtime:jar:1.0.3, com.android.support:support-fragment:jar:27.0.2, com.android.support:design:jar:27.0.2, com.android.support:transition:jar:27.0.2, com.android.support:support-core-utils:jar:27.0.2, com.android.support:support-v4:jar:27.0.2, com.android.support:support-compat:jar:27.0.2, com.android.support:support-media-compat:jar:27.0.2, com.android.support:appcompat-v7:jar:27.0.2, com.android.support:animated-vector-drawable:jar:27.0.2, com.android.support:support-core-ui:jar:27.0.2, com.android.support:recyclerview-v7:jar:27.0.2, com.android.support:support-vector-drawable:jar:27.0.2: Could not find artifact android.arch.lifecycle:runtime:jar:1.0.3 in google (https://dl.google.com/dl/android/maven2/)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifacts(DefaultRepositorySystem.java:302)
at com.github.johnynek.bazel_deps.Resolver$$anonfun$getExt$1$1.apply(Resolver.scala:94)
at com.github.johnynek.bazel_deps.Resolver$$anonfun$getExt$1$1.apply(Resolver.scala:92)
at scala.util.Try$.apply(Try.scala:192)
at com.github.johnynek.bazel_deps.Resolver.getExt$1(Resolver.scala:92)
at com.github.johnynek.bazel_deps.Resolver.getShas(Resolver.scala:106)
at com.github.johnynek.bazel_deps.MakeDeps$.apply(MakeDeps.scala:88)
at com.github.johnynek.bazel_deps.ParseProject$.main(ParseProject.scala:11)
at com.github.johnynek.bazel_deps.ParseProject.main(ParseProject.scala)
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact android.arch.lifecycle:runtime:jar:1.0.3 in google (https://dl.google.com/dl/android/maven2/)
at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:39)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:355)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
ERROR: Non-zero return code '1' from command: Process exited with status 1
Related to: https://github.com/johnynek/bazel-deps/issues/80
Since the bazel-deps resolver assumes everything to be JARs, and Google Maven hosts mostly AARs, this can't work as-is. Also see https://github.com/johnynek/bazel-deps/issues/119