bazelbuild / bazelbuild/bazel

Provide a mechanism to create a Java 9+ module

Open
#11,930 5 comments 5 reactions 0 assignees View on GitHub
not stale P3 team-Rules-Java type: feature request
Dominant language
Java
Stars
25.8k
Forks
4.6k
Avg merge
2d 20h
Merged PRs (30d)
72

Description

### Description of the problem / feature request:

Java 11 is the current LTS version of Java, and comes with the java module system (also known as the JPMS) There should be a way for Bazel to correctly generate a `module-info` and use that.

Simply spamming a `Automatic-Module-Name` into the manifest isn't sufficient since other parts of the Java ecosystem (notably jlink, and possibly graalvm) need accurate module info.

### Feature requests: what underlying problem are you trying to solve with this feature?

I want to write modern java.

### What's the output of `bazel info release`?

3.4.1

Contributor guide

Open the contributing guide

Research direction

Start by researching Bazel's Java build and packaging behavior alongside Java 9+ JPMS requirements. Define how Bazel should generate and use accurate module-info metadata, including compatibility with jlink and possibly GraalVM. Done means a supported mechanism exists for writing modern Java modules rather than only adding Automatic-Module-Name.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.