pubref / rules_maven

Transitive maven dependencies with Bazel.
Other
33 stars 7 forks source link

Update README #14

Closed wstrange closed 6 years ago

wstrange commented 6 years ago

I'm coming from a complete novice background on bazel, so this may seem like an insanely dumb question.

How does one invoke the rules_bazel to trigger generation of the the deps info that is pasted into the BUILD / WORKSPACE files.

If you could add additional commands to the README that would be great (assume folks like me that really don't know bazel and are just evaluating it).

Thx!

pcj commented 6 years ago

Hi @wstrange

The bottom line is that you must invoke bazel build :something where :something has a dependency on the generated compile/runtime target. For example, say you define maven_repository(name = "internal_artifacts") in your WORKSPACE. Nothing will happen until you try to build a java target like java_library(name = "app", deps = ["@internal_artifacts//:compile"]) (because bazel is very lazy).

Once you do, the steps mentioned in this other thread start kicking in...

See also https://github.com/pubref/rules_maven/issues/11#issuecomment-332652686

Or take a look at one of the examples, like https://github.com/pubref/rules_maven/blob/master/example/grpc_java/src/main/java/BUILD#L3

wstrange commented 6 years ago

OK - getting further, but not working yet with a private repo.

I have something like this in my pom:

  <repository>                                                                    
      <id>acme-internal-releases</id>                                        
      <name>acme Release Repository</name>                                   
      <url>http://maven.acme.org/repo/internal-releases</url>                
      <snapshots>                                                                 
          <enabled>false</enabled>                                                
      </snapshots>                                                                
  </repository>      

What should my repositories= look like?

I get

File "/private/var/tmp/_bazel_warren.strange/15413094b26a5a40f16bf0f72815c25f/external/org_pubref_rules_maven/maven/internal/maven_repository.bzl", line 180, in _parse_gradle_dependencies
                fail(("Unable to fetch dependency: " ...))

I have authN settings in my ~/.m2/settings.xml that authenticate to that repo

wstrange commented 6 years ago

OK, I gather the private repo functionality is not implemented yet. I'll close off this issue since it is not relevant.