migration-tooling icon indicating copy to clipboard operation
migration-tooling copied to clipboard

No repositories searched by default

Open pgr0ss opened this issue 7 years ago • 4 comments

The commit to enable custom repositories (https://github.com/bazelbuild/migration-tooling/commit/a5e687403ec59db52383a2c0996003e5ad18b6cf) seems to have caused this project to use no repositories by default. Can we return to using default repositories if no repositories are specified?

% bazel run //generate_workspace -- --artifact junit:junit:4.11 --output_dir /tmp
INFO: Analysed target //generate_workspace:generate_workspace (0 packages loaded).
INFO: Found 1 target...
Target //generate_workspace:generate_workspace up-to-date:
  bazel-bin/generate_workspace/generate_workspace.jar
  bazel-bin/generate_workspace/generate_workspace
INFO: Elapsed time: 0.585s, Critical Path: 0.50s
INFO: Build completed successfully, 3 total actions

INFO: Running command line: bazel-bin/generate_workspace/generate_workspace --artifact junit:junit:4.11 --output_dir /tmp
Feb 16, 2018 7:44:16 PM com.google.devtools.build.workspace.maven.Resolver resolveArtifact
WARNING: Could not find any repositories that knew how to resolve junit:junit:4.11 (checked )
Wrote /tmp/generate_workspace.bzl
% cat /tmp/generate_workspace.bzl
# The following dependencies were calculated from:
#
# generate_workspace --artifact junit:junit:4.11 --output_dir /tmp


def generated_maven_jars():
  pass



def generated_java_libraries():
  pass

If I check out an older commit, it works:

% git co 0f25a7e83f2f4b776fad9c8cb929ec9fa7cac87f
Previous HEAD position was a5e6874... Enable custom repositories. (#71)
HEAD is now at 0f25a7e... Switch output from System.out to System.err (#72)

% bazel run //generate_workspace -- --artifact junit:junit:4.11 --output_dir /tmp
INFO: Analysed target //generate_workspace:generate_workspace (1 packages loaded).
INFO: Found 1 target...
Target //generate_workspace:generate_workspace up-to-date:
  bazel-bin/generate_workspace/generate_workspace.jar
  bazel-bin/generate_workspace/generate_workspace
INFO: Elapsed time: 1.159s, Critical Path: 1.06s
INFO: Build completed successfully, 7 total actions

INFO: Running command line: bazel-bin/generate_workspace/generate_workspace --artifact junit:junit:4.11 --output_dir /tmp
Feb 16, 2018 7:45:06 PM com.google.devtools.build.workspace.maven.Resolver traverseDeps
INFO:   Downloading pom for junit:junit:4.11
Feb 16, 2018 7:45:06 PM com.google.devtools.build.workspace.maven.Resolver traverseDeps
INFO:   Downloading pom for org.hamcrest:hamcrest-core:1.3
Wrote /tmp/generate_workspace.bzl
% cat /tmp/generate_workspace.bzl
# The following dependencies were calculated from:
#
# generate_workspace --artifact junit:junit:4.11 --output_dir /tmp


def generated_maven_jars():
  # junit:junit:jar:4.11
  native.maven_jar(
      name = "org_hamcrest_hamcrest_core",
      artifact = "org.hamcrest:hamcrest-core:1.3",
      sha1 = "42a25dc3219429f0e5d060061f71acb49bf010a0",
  )


  native.maven_jar(
      name = "junit_junit",
      artifact = "junit:junit:4.11",
  )




def generated_java_libraries():
  native.java_library(
      name = "org_hamcrest_hamcrest_core",
      visibility = ["//visibility:public"],
      exports = ["@org_hamcrest_hamcrest_core//jar"],
  )


  native.java_library(
      name = "junit_junit",
      visibility = ["//visibility:public"],
      exports = ["@junit_junit//jar"],
      runtime_deps = [
          ":org_hamcrest_hamcrest_core",
      ],
  )

pgr0ss avatar Feb 16 '18 19:02 pgr0ss

Is this project still active? It seems like this bug would break most people trying to use it?

pgr0ss avatar Mar 01 '18 00:03 pgr0ss

Bump. Should we avoid this project now? What's the future of maven dependencies in bazel?

pgr0ss avatar Mar 20 '18 17:03 pgr0ss

@pgr0ss

I don't think it is. During the November Bazel conference, it was decided that the official maven story would be handled with bazel-deps. Unfortunately, the team members involved with this project have moved onto other responsibilities. Whereas @johnnynek is very actively maintaining bazel-deps for use at Stripe.

petroseskinder avatar Mar 20 '18 18:03 petroseskinder

This repo should be deleted then - or marked with a big DEPRECATED warning.

If bazel-deps is the way to go, it should be moved under the bazelbuild/ project.

Maven migration is just insanely confusing for any newcomer to Bazel. Searching on google turns up several solutions that "mostly" work - but are not quite 100% (in our case, none seem to handle artifactory authentication...)

Bazel needs a single, well documented, well tested solution for maven migration.

wstrange avatar Mar 20 '18 20:03 wstrange