tree 1117df8e2c9ecef082f54a68b907a3e7a0516b8b
parent 73e7122a7e030bcff95058e7b1460f4d7a0d5e46
author Antoine Musso <hashar@free.fr> 1665953779 +0200
committer Antoine Musso <hashar@free.fr> 1667906299 +0100

tools/eclipse: find jar from rules_jvm_external

The Eclipse project.py script crawls through Bazel `output_base` to find
the project jar dependencies. It recognizes location written by
`maven_jar`.

When using `rules_jvm_external` artifacts are symlinked under different
paths and the utility is unable to find them. It results in a generated
`.classpath` missing most entries.

`rules_jvm_external` symlinks the cached jar under:
bazel-out/k8-fastbuild/bin/external/maven

This change adds support to find them there.

In order to have the JavaDoc displayed, the source jar have to be
retrieved as well which `rules_jvm_external` does not do by default. One
has to turn that on explicitly:

  load("@rules_jvm_external//:defs.bzl", "maven_install")
  maven_install(
    artifacts = ['x', 'y', 'z' ],
    fetch_sources = True,
  )

The source jar will then be made available with the suffix
`-sources.jar`, unlike `maven_jar` which uses `-src.jar`.

Change-Id: Ifb56b2f84b5f38a700362c1de436cd4b4714dc2f
