bazel-deps icon indicating copy to clipboard operation
bazel-deps copied to clipboard

Cannot use artifacts from Google Maven

Open vmax opened this issue 6 years ago • 2 comments

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

vmax avatar Feb 25 '18 17:02 vmax

Related to: https://github.com/johnynek/bazel-deps/issues/80

promiseofcake avatar Feb 26 '18 15:02 promiseofcake

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

jin avatar Mar 01 '18 00:03 jin