Skip to content

Releases: square/bazel_maven_repository

Bazel Maven Repository Rules v1.0.1 Release Candidate 4

04 May 19:13
e185772
Compare
Choose a tag to compare

All changes in Bazel Maven Repository Rules v1.0.1 Release Candidate 2, plus:

  • Update to jetifier beta-8

Bazel Maven Repository Rules v1.0.1 Release Candidate 3

24 Oct 21:38
ae706db
Compare
Choose a tag to compare

All changes in Bazel Maven Repository Rules v1.0.1 Release Candidate 2, plus:

  • additional exclusions from jetifier.

Bazel Maven Repository Rules v1.0.1 Release Candidate 2

11 Oct 23:34
a6a2842
Compare
Choose a tag to compare

A side release fixing an off-by-one exception.

Bazel Maven Repository Rules v1.0.1 Release Candidate 1

26 Sep 20:10
ebb3987
Compare
Choose a tag to compare

A side release adding Jetifier support.

Initial support is

  • not yet deeply configurable
  • pulls jetifier 1.0.0-beta07
  • Runs jetifier on maven-fetched jars (if they're not excluded).
  • Exclusion lists are hard-coded.
  • Further refinements will be pending to render this configurable, allow the feature to be disabled (and will be by default).

This pre-release is offered for those who more urgently need jettifier support, even if it's less than awesomely configurable.

Bazel Maven Repository Rules v1.1 Release Candidate 1

06 Sep 22:44
Compare
Choose a tag to compare

Bazel Maven Repository Rules v1.1 Release Candidate 1

This release includes:

  • Fix a problem with whitespace in xml #63
  • Update internal API usages
  • Support caching pom files (securely and insecurely) #73
  • Support testonly attributes on artifact configuration #77
  • Support dependency inclusions of dependencies of an artifact #78
  • Infer the packaging type from the pom.xml file. #80
  • Ease some of the previous artifact_id name mangling. #83
    • adds a backwards compatibility mode for ease of migration.

Housekeeping:

  • Readme improvements
  • Internal refactoring and minor fixes and typos
  • Added a compatibility list and tested against more versions of bazel

Includes contributions from @deadmoose

Please see the README.md file for usage instructions and examples of the above features.

Bazel Maven Repository Rules v1.0

04 Mar 19:18
a86126f
Compare
Choose a tag to compare

Production Release (candidate 6) of a convenience mechanism to import maven artifacts into a
bazel workspace in a way that is idiomatic to Bazel, but still ends up familiar to people used to
maven repository handling.

This release includes:

  • Single specification of a list of artifacts representing the "universe"
  • Supports multiple repo roots (e.g. alternatives to repo1.maven.org/maven2)
  • Generates a bazel package path per maven group_id, and a target per artifact_id
  • Supports .jar and .aar packaging
  • Very limited support for classifiers (can use the default artifact or a classifier, but not both)
  • Supports SHA256 validation of the artifact (with an insecure option for not specifying them)
  • Tested with java and kotlin rules, including test rules.
  • auto-building of inter-artifact dependencies (from parsed pom metadata)
    • Parent metadata, dependencyManagement, and properties substitution are all supported
  • per-artifact build-snippet substitution (e.g. to wire in annotation processors, or fix mis-specified deps)
  • per-groupId dependency target substitution (to fix internal build cycles created by build snippet substitution)
  • Tested against java, kotlin, and android projects.

Known limitations:

  • Doesn't support -SNAPSHOT dependencies (pending v1.1)
  • Only supports single-version per maven_repository_spec() invocation (monorepo-style).
  • Doesn't support multiple maven_repository_spec() calls
  • Doesn't work on Windows by default (requires cat to be installed as a binary tool, which
    could potentially be fixed if bazelbuild/bazel#7309 is accepted
  • Kotlin libraries don't propagate compile dependencies (not a bug in bazel_maven_repository, but worth
    noting here - add build_snippets with exports= if you want to workaround)

Please see the README.md file for usage instructions and examples of the above features.

Bazel Maven Repository Rules v1.0 Release Candidate 6

28 Feb 18:37
a86126f
Compare
Choose a tag to compare

Production Release (candidate 6) of a convenience mechanism to import maven artifacts into a
bazel workspace in a way that is idiomatic to Bazel, but still ends up familiar to people used to
maven repository handling.

This release includes:

  • Single specification of a list of artifacts representing the "universe"
  • Supports multiple repo roots (e.g. alternatives to repo1.maven.org/maven2)
  • Generates a bazel package path per maven group_id, and a target per artifact_id
  • Supports .jar and .aar packaging
  • Very limited support for classifiers (can use the default artifact or a classifier, but not both)
  • Supports SHA256 validation of the artifact (with an insecure option for not specifying them)
  • Tested with java and kotlin rules, including test rules.
  • auto-building of inter-artifact dependencies (from parsed pom metadata)
    • Parent metadata, dependencyManagement, and properties substitution are all supported
  • per-artifact build-snippet substitution (e.g. to wire in annotation processors, or fix mis-specified deps)
  • per-groupId dependency target substitution (to fix internal build cycles created by build snippet substitution)
  • Tested against java, kotlin, and android projects.

Fixes from last RC:

  • Add support for exports= in the underlying import feature, so exports= can be used for convenience build snippets, or workarounds. This fixes a regression in #48 which added an ijar-avoiding import rule which did not support an exports parameter.

Known limitations:

  • Doesn't support -SNAPSHOT dependencies (pending v1.1)
  • Only supports single-version per maven_repository_spec() invocation (monorepo-style).
  • Doesn't support multiple maven_repository_spec() calls
  • Doesn't work on Windows by default (requires cat to be installed as a binary tool, which
    could potentially be fixed if bazelbuild/bazel#7309 is accepted

Please see the README.md file for usage instructions and examples of the above features.

Bazel Maven Repository Rules v1.0 Release Candidate 5

21 Feb 00:59
806a5b0
Compare
Choose a tag to compare

Production Release (candidate 5) of a convenience mechanism to import maven artifacts into a
bazel workspace in a way that is idiomatic to Bazel, but still ends up familiar to people used to
maven repository handling.

This release includes:

  • Single specification of a list of artifacts representing the "universe"
  • Supports multiple repo roots (e.g. alternatives to repo1.maven.org/maven2)
  • Generates a bazel package path per maven group_id, and a target per artifact_id
  • Supports .jar and .aar packaging
  • Very limited support for classifiers (can use the default artifact or a classifier, but not both)
  • Supports SHA256 validation of the artifact (with an insecure option for not specifying them)
  • Tested with java and kotlin rules, including test rules.
  • auto-building of inter-artifact dependencies (from parsed pom metadata)
    • Parent metadata, dependencyManagement, and properties substitution are all supported
  • per-artifact build-snippet substitution (e.g. to wire in annotation processors, or fix mis-specified deps)
  • per-groupId dependency target substitution (to fix internal build cycles created by build snippet substitution)
  • Tested against java, kotlin, and android projects.

Fixes from last RC:

  • Fix for #43 - Work out how to cleanly avoid kotlin/ijar issues with maven deps. Fix implemented
    per the discussion in bazelbuild/bazel#4549

Known limitations:

  • Doesn't support -SNAPSHOT dependencies (pending v1.1)
  • Only supports single-version per maven_repository_spec() invocation (monorepo-style).
  • Doesn't support multiple maven_repository_spec() calls
  • Doesn't work on Windows by default (requires cat to be installed as a binary tool, which
    could potentially be fixed if bazelbuild/bazel#7309 is accepted

Please see the README.md file for usage instructions and examples of the above features.

Bazel Maven Repository Rules v1.0 Release Candidate 4

01 Feb 23:58
726cd24
Compare
Choose a tag to compare

Production Release (candidate 4) of a convenience mechanism to import maven artifacts into a
bazel workspace in a way that is idiomatic to Bazel, but still ends up familiar to people used to
maven repository handling.

This release includes:

  • Single specification of a list of artifacts representing the "universe"
  • Supports multiple repo roots (e.g. alternatives to repo1.maven.org/maven2)
  • Generates a bazel package path per maven group_id, and a target per artifact_id
  • Supports .jar and .aar packaging
  • Very limited support for classifiers (can use the default artifact or a classifier, but not both)
  • Supports SHA256 validation of the artifact (with an insecure option for not specifying them)
  • Tested with java and kotlin rules, including test rules.
  • auto-building of inter-artifact dependencies (from parsed pom metadata)
    • Parent metadata, dependencyManagement, and properties substitution are all supported
  • per-artifact build-snippet substitution (e.g. to wire in annotation processors, or fix mis-specified deps)
  • per-groupId dependency target substitution (to fix internal build cycles created by build snippet substitution)
  • Tested against java, kotlin, and android projects.

Fixes from last RC:

  • Fix for #40 - Critical fix for users depending on artifacts where the pom.xml contains xml <![CDATA[...]]>
    elements that also contain xml or html elements. That causes the in-the-cdata tags to be mis-matched.
    with the current parent element. This fix just properly parses CDATA sections (but doesn't keep them,
    since we don't consume their data).

Known limitations:

  • Doesn't support -SNAPSHOT dependencies (pending v1.1)
  • Only supports single-version per maven_repository_spec() invocation (monorepo-style).
  • Doesn't support multiple maven_repository_spec() calls
  • Doesn't work on Windows by default (requires cat to be installed as a binary tool, which
    could potentially be fixed if bazelbuild/bazel#7309 is accepted

Please see the README.md file for usage instructions and examples of the above features.

Bazel Maven Repository Rules v1.0 Release Candidate 3

01 Feb 23:01
794daa9
Compare
Choose a tag to compare

Production Release (candidate 3) of a convenience mechanism to import maven artifacts into a
bazel workspace in a way that is idiomatic to Bazel, but still ends up familiar to people used to
maven repository handling.

This release includes:

  • Single specification of a list of artifacts representing the "universe"
  • Supports multiple repo roots (e.g. alternatives to repo1.maven.org/maven2)
  • Generates a bazel package path per maven group_id, and a target per artifact_id
  • Supports .jar and .aar packaging
  • Very limited support for classifiers (can use the default artifact or a classifier, but not both)
  • Supports SHA256 validation of the artifact (with an insecure option for not specifying them)
  • Tested with java and kotlin rules, including test rules.
  • auto-building of inter-artifact dependencies (from parsed pom metadata)
    • Parent metadata, dependencyManagement, and properties substitution are all supported
  • per-artifact build-snippet substitution (e.g. to wire in annotation processors, or fix mis-specified deps)
  • per-groupId dependency target substitution (to fix internal build cycles created by build snippet substitution)
  • Tested against java, kotlin, and android projects.

Fixes from last RC:

  • Fix for #38 - Critical fix for users using a case-insensitive filesystem who depend (directly or transitively)
    on anything with a groupId containing build. e.g. com.android.tools.build:builder-model:2.3.0, since
    build will become a path element, and the rule will try to read build/ as if it were a BUILD file. Now
    it generates BUILD.bazel files which bazel prefers, so the conflict is avoided.

Known limitations:

  • Doesn't support -SNAPSHOT dependencies (pending v1.1)
  • Only supports single-version per maven_repository_spec() invocation (monorepo-style).
  • Doesn't support multiple maven_repository_spec() calls
  • Doesn't work on Windows by default (requires cat to be installed as a binary tool, which
    could potentially be fixed if bazelbuild/bazel#7309 is accepted

Please see the README.md file for usage instructions and examples of the above features.