bazelbuild / migration-tooling

Migration tools for Bazel
Apache License 2.0
44 stars 30 forks source link

Fails with google-cloud-storage (version missing) #57

Open fortuna opened 6 years ago

fortuna commented 6 years ago

I'm getting this error when trying to fetch my dependencies when I include com.google.cloud:google-cloud-storage (pom.xml):

com.google.cloud:google-cloud-storage scope: compile
Sep 07, 2017 12:14:08 AM com.google.devtools.build.workspace.maven.DefaultModelResolver getEffectiveModel
WARNING: Unable to resolve Maven model from https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/1.4.0/google-cloud-storage-1.4.0.pom: 2 problems were encountered while building the effective model for com.google.cloud:google-cloud-storage:1.4.0
[ERROR] 'dependencies.dependency.version' for org.easymock:easymock:jar is missing. @ 
[ERROR] 'dependencies.dependency.version' for org.objenesis:objenesis:jar is missing. @ 

This is my pom.xml file:

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>jigsaw.google.com</groupId>
  <artifactId>ooni-bq-third-party</artifactId>
  <version>0</version>

  <dependencies>
    <!-- As per https://beam.apache.org/get-started/downloads/ -->
    <dependency>
      <groupId>org.apache.beam</groupId>
      <artifactId>beam-sdks-java-core</artifactId>
      <version>2.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.beam</groupId>
      <artifactId>beam-runners-direct-java</artifactId>
      <version>2.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.beam</groupId>
      <artifactId>beam-runners-google-cloud-dataflow-java</artifactId>
      <version>2.1</version>
    </dependency>

    <!-- For JSON processing -->
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8</version>
    </dependency>

    <!-- For Google Cloud Storage -->
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-storage</artifactId>
      <version>1.4.0</version>
    </dependency>

    <!-- Get proper logging and fix http://www.slf4j.org/codes.html#StaticLoggerBinder -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>1.7</version>
    </dependency>
  </dependencies>
</project>
fortuna commented 6 years ago

This is what happens if I try com.google.cloud:google-cloud:0.8.0 instead of com.google.cloud:google-cloud-storage:

com.google.cloud:google-cloud scope: compile
Sep 07, 2017 12:31:21 AM com.google.devtools.build.workspace.maven.DefaultModelResolver getEffectiveModel
WARNING: Unable to resolve Maven model from https://repo1.maven.org/maven2/com/google/cloud/google-cloud/0.8.0/google-cloud-0.8.0.pom: 3 problems were encountered while building the effective model for com.google.cloud:google-cloud:0.20.0-alpha
[ERROR] 'dependencies.dependency.version' for com.google.cloud:google-cloud-bigquery:jar must be a valid version but is '${beta.version}'. @ 
[ERROR] 'dependencies.dependency.version' for com.google.cloud:google-cloud-datastore:jar must be a valid version but is '${beta.version}'. @ 
[ERROR] 'dependencies.dependency.version' for com.google.cloud:google-cloud-logging:jar must be a valid version but is '${beta.version}'. @ 
fortuna commented 6 years ago

FYI, this also happens with google-cloud-bigquery. I believe that's for any artifact for the new google cloud api. :-(

fortuna commented 6 years ago

I tried the transitive_maven_jar rule and it fails the same way.

petroseskinder commented 6 years ago

Thanks for the post.

transitive_maven_jar is simply a wrapper around generate_workspace so it will fail in the same fashion as generate_workspace. The original maintainer has left the project, and I have been away working on other projects.

As far as your first error, these are related to how google-cloud-storage-1.4.0.pom does not include the version number on some of its dependencies

<dependency>
     <groupId>org.objenesis</groupId>
     <artifactId>objenesis</artifactId>
     <scope>test</scope>
</dependency>

I should get a fix out by end of week, early next week.