Skip to content

Releases: salesforce/bazel-jdt-java-toolchain

1.2.0

25 Apr 09:06
3d693c0
Compare
Choose a tag to compare

New Features

  • Upgrade to jacoco:0.8.11 and asm:9.6

Change Log

commit 3d693c0e12761430587fc2b498eab8b63872d143
Merge: 974ef6f cf7d9f4
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Wed Apr 24 19:59:25 2024 +0200

    Merge pull request #25 from rsalvador/rsalvador/jacoco
    
    Upgrade to jacoco:0.8.11 and asm:9.6

commit cf7d9f4780f4a3976195459ef3494d4da7f6d3e5
Author: Roman Salvador <rsalvador@salesforce.com>
Date:   Wed Apr 24 19:15:13 2024 +0200

    Upgrade to jacoco:0.8.11 and asm:9.6

commit 974ef6fbed5be119d539403913bd5a22a8a7c820
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Thu Mar 7 10:43:26 2024 +0100

    Add a quick test for BigEnum compilation
    
    https://github.com/eclipse-jdt/eclipse.jdt.core/issues/2114

commit 6ca8b7745d2cdd1a23681a171d586b340d5bb9ae
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Fri Mar 1 11:34:43 2024 +0100

    Prepare for next dev iteration on main branch

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/1.2.0/rules_jdt-1.2.0.tar.gz",
    ],
    sha256 = "8a9c9700327f13f1b66cc56cdec1322b8eec4cb860df8c5a7af493219c2dfe30",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.

1.1.0

01 Mar 10:42
Compare
Choose a tag to compare

New Features

  • Update to ECJ 4.31 RC1

Change Log

commit 8efe0e6b262d4afc25a67a07a46c75228bc14045
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Fri Mar 1 11:32:41 2024 +0100

    Prepare 1.1.0 release

commit 4b182ee1ae6875fe91e3df285c3757b8d3456aed
Merge: 968fb8f e2757bf
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Thu Feb 29 16:27:02 2024 +0100

    Merge pull request #24 from salesforce/guw/ecj431
    
    Update to ECJ 4.31 RC1

commit e2757bf20cb803a28179dac74dc3ecdb86d5f255
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Thu Feb 29 16:19:09 2024 +0100

    Update README

commit b591726baa64c5c7013b697e7f6628f64c7ff1a6
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Thu Feb 29 16:16:57 2024 +0100

    Fix import with JDK 21

commit 20c1eaa4e19362dc94723d2b7366f99b9ad3ffac
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Fri Aug 11 13:29:49 2023 +0200

    [PATCH ECJ] Collect dependency information
    
    Add support for computing list of used dependencies by adding a listener
    to the name environment.

commit 20ca8ba2a7c26157ea093b919765fb95242eaea7
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Thu Feb 29 16:11:31 2024 +0100

    ECJ 4.31RC1

commit 968fb8f219b34d7156cc98b5ec52b1d3492ed530
Author: Gunnar Wagenknecht <gwagenknecht@salesforce.com>
Date:   Thu Feb 29 11:50:53 2024 +0100

    Found another ECJ Annotation Processor Bug

commit 7e175dca3becc03ac4d9574382e56bee827c050f
Author: Gunnar Wagenknecht <gunnar@wagenknecht.org>
Date:   Sun Feb 11 17:44:51 2024 +0100

    One more test

commit 0752db40f4dcecf2b95bb53a46cc257dcedbd935
Author: Gunnar Wagenknecht <gunnar@wagenknecht.org>
Date:   Sun Feb 11 17:42:45 2024 +0100

    Use JRE instead of EE in IDE

commit fd43787e4e0f57b7b5182d767bf38e1d184b6c77
Author: Gunnar Wagenknecht <gunnar@wagenknecht.org>
Date:   Sun Feb 11 17:39:43 2024 +0100

    Fix url

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/1.1.0/rules_jdt-1.1.0.tar.gz",
    ],
    sha256 = "3f24995b1fedd19e8623ec583f84f7cb4f3fd6ceb3861a26834ef3359f7a924c",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.

1.0.0

25 Jan 19:16
Compare
Choose a tag to compare

New Features

  • Update ECJ to 4.30
  • Add -Xecj_use_tool_compiler option to use the tool interface, which is
    closer to ECJ command line but lacks support for Bazel features

Incompatible Changes

  • Changed to consuming Turbine directly from rules_java
    (projects are requires to depend on rules_java themselves, we don't include it)

Bug Fixes

  • Fixed none-deterministic .jar_manifest_proto files
  • Fixes a bug causing compile errors due to --release/-target being used
    without preventing -bootclasspath or --system being passed

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/1.0.0/rules_jdt-1.0.0.tar.gz",
    ],
    sha256 = "07b7f9a2b7669bd743e233d53ebbb9a1a2cd71d7ab63010e7da59e622d80fc3f",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.

0.1.11

08 Nov 16:58
6c06fde
Compare
Choose a tag to compare

Incompatible Changes

  • Update JaCoCo to Bazel 6.4.0

Change Log

commit 6c06fdefe65f4acdbc04c1f172e718db00c0fc22
Author: Roman Salvador <rsalvador@salesforce.com>
Date:   Mon Nov 6 10:53:25 2023 +0100

    Use same jacoco_core that bazel 6.4.0 uses (#20)

commit b266b03136398bdbfc8aa3ef65c067352a2dd3b9
Author: Gunnar Wagenknecht <gunnar@wagenknecht.org>
Date:   Wed Sep 13 17:51:56 2023 +0200

    Correction `@bazel_tools//tools/jdk:current_java_runtime` it is

commit 175a059edad5de11777c0c5d5287377772396bd0
Author: Gunnar Wagenknecht <gunnar@wagenknecht.org>
Date:   Wed Sep 13 17:50:49 2023 +0200

    Replace `@local_jdk` with
    `@bazel_tools//tools/jdk:current_host_java_runtime`
    
    This avoids/removes the dependency on rules_java and gives  the end user
    is in full control over what is selected via
    `--tool_java_runtime_version`.

commit 7fac77d8f2f266ff6a62edaabb0760ff4386c099
Author: Gunnar Wagenknecht <gunnar@wagenknecht.org>
Date:   Wed Sep 6 19:34:30 2023 +0200

    buildifier

commit d5aa5016c80beb574345ab40a70472db52405b73
Author: Gunnar Wagenknecht <gunnar@wagenknecht.org>
Date:   Wed Sep 6 18:08:49 2023 +0200

    Fix SHA of ASM dependency

commit 1d666ea0d2d82ec5c497d814d2dba2f6373fb656
Author: Gunnar Wagenknecht <gunnar@wagenknecht.org>
Date:   Mon Sep 4 14:09:49 2023 +0200

    Add a TODO

commit 4ba15192ff3e958f595b9c094007836190701676
Author: Gunnar Wagenknecht <gunnar@wagenknecht.org>
Date:   Fri Sep 1 17:25:47 2023 +0200

    Next development iteration

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/0.1.11/rules_jdt-0.1.11.tar.gz",
    ],
    sha256 = "94fc90f16f0bb85acbd81386207170c0b3d64295a9cff7cf9c6a946abd84bf7c",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.

0.1.10

01 Sep 15:49
Compare
Choose a tag to compare

Change Log
commit 3212bc0
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Fri Sep 1 16:56:01 2023 +0200

Don't fail the build if compiling a module without direct jars.

Closes #18

commit 3ab299e
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Thu Aug 31 16:07:28 2023 +0200

Add -XX:-MaxFDLimit to jvm_opts for compiler

commit 0d85a02
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Tue Aug 29 14:41:13 2023 +0200

Update Turbine (and its dependencies)

commit 47783dd
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Thu Aug 24 12:04:01 2023 +0200

Next development iteration

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/0.1.10/rules_jdt-0.1.10.tar.gz",
    ],
    sha256 = "ddd54c8734b4da23fed28f02aa6ea9c3fd5aa97913f1b5eb6e899fc9d3ffdd6b",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.

0.1.9

24 Aug 10:17
Compare
Choose a tag to compare

Change Log
commit d64eb4b
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Thu Aug 24 12:02:37 2023 +0200

Improve error handling

commit 2c17a93
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Wed Aug 23 20:49:11 2023 +0200

Next development iteration

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/0.1.9/rules_jdt-0.1.9.tar.gz",
    ],
    sha256 = "e36506597dc57192115ad2a554c4c11734052cafb6364f630d314231e15d5f69",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.

0.1.8

23 Aug 18:53
Compare
Choose a tag to compare

New Features

Allow a later -Xecj_problem_severity_preferences=off to turn off an earlier one

Change Log
commit d4e7980
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Wed Aug 23 20:46:34 2023 +0200

Make sure the last option is used when multiple
-Xecj_problem_severity_preferences are specified

Also allow a later -Xecj_problem_severity_preferences to turn off an
earlier one

commit 301e78f
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Wed Aug 23 17:58:35 2023 +0200

Next development iteration

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/0.1.8/rules_jdt-0.1.8.tar.gz",
    ],
    sha256 = "51db8858eb8566f2e65a86c3382a3ba881098661259c7f60e88031e54a41b6bf",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.

0.1.7

23 Aug 16:04
Compare
Choose a tag to compare

New Features

It's now possible to use problem severities from Eclipse .settings folder.

Use a java_package_configuration to make the .settings available to the compiler:

java_package_configuration(
    name = "problem_severities",
    data = [
        "//:eclipse_compiler_settings",
    ],
    javacopts = [
        "-Xecj_problem_severity_preferences=.settings/org.eclipse.jdt.core.prefs",
    ],
    packages = ["...<package_group labels go here>..."],
)

filegroup(
    name = "eclipse_compiler_settings",
    srcs = [
        ".settings/org.eclipse.jdt.core.prefs",
    ],
    visibility = ["//visibility:public"],
)

Add problem_severities to the package_configuration list of the default_java_toolchain definition.

Change Log
commit c10c5f3
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Wed Aug 23 17:54:11 2023 +0200

Allow problem severities from .settings folder

It's now possible to declare settings with:
-Xecj_problem_severity_preferences=<path/to>/.settings/org.eclipse.jdt.core.prefs

commit 04809a9
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Wed Aug 16 14:11:03 2023 +0200

Next development iteration

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/0.1.7/rules_jdt-0.1.7.tar.gz",
    ],
    sha256 = "10d16ee50e2a197eda665a6cf7df1229a559aed4d24b642bcc1375a6664e174c",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.

0.1.6

23 Aug 16:01
Compare
Choose a tag to compare

New Features

  • New option '-Xecj_collect_used_deps' which allows to control jdeps file
    (all|direct_only|none, default is all)

Change Log
commit 0410e2b
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Wed Aug 16 14:02:07 2023 +0200

New option '-Xecj_collect_used_deps' which allows to control jdeps file

-Xecj_collect_used_deps=all (default)
    collect information about direct as well as transitive dependencies
    into jdeps

-Xecj_collect_used_deps=direct_only
    collect only information about direct dependencies into jdeps

-Xecj_collect_used_deps=none
    don't collect any used dependency information into jdeps

commit dfec7ba
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Wed Aug 16 13:34:42 2023 +0200

Document a case which is not supported with -Xecj_use_direct_deps_only

commit 16733ae
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Fri Aug 11 13:36:22 2023 +0200

Next development iteration

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/0.1.6/rules_jdt-0.1.6.tar.gz",
    ],
    sha256 = "4e31c2198ab24c74756f17c5bf4898a1101757c9ab9311b35733474a9d537cab",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.

0.1.5

11 Aug 11:42
e624254
Compare
Choose a tag to compare

New Features

  • Added support for computing the list of generated source files during annotation processing
  • Added support for computing list of used dependencies.
  • Jars not listed as direct dependencies no have all their content configured using forbidden access rules
  • Access rule severity is configured using strict dependency check setting from Bazel

Change Log
commit e624254
Author: Gunnar Wagenknecht gwagenknecht@salesforce.com
Date: Fri Aug 11 13:29:49 2023 +0200

Collect generates source as well as dependency information (#15)

* Switch to using the JDT Batch compiler directly, dropping the use of the tool interface.
* Add support for computing list of generated sources during annotation processing.
* Add support for computing list of used dependencies.
* Add support for configuring access rules based on strict dependency checking.

commit bf805f2
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Sun Jul 23 14:49:36 2023 -0700

ignore examples

commit 070b978
Author: Gunnar Wagenknecht gunnar@wagenknecht.org
Date: Tue May 16 13:57:56 2023 +0200

Next version

WORKSPACE setup

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "bazel_jdt_java_toolchain",
    urls = [
        "https://github.com/salesforce/bazel-jdt-java-toolchain/releases/download/0.1.5/rules_jdt-0.1.5.tar.gz",
    ],
    sha256 = "c49e8f394134ea038c37be6e54916095ecee71c0a68aed51ef7e8556f4dfdac1",
)
load("@bazel_jdt_java_toolchain//jdt:repositories.bzl", "rules_jdt_dependencies", "rules_jdt_toolchains")
rules_jdt_dependencies()
rules_jdt_toolchains()

Using the rules

See the source.