Skip to content

jakarta.mail-api is not a Multi Release JAR #660

Open
@aalmiray

Description

@aalmiray

Describe the bug
Latest jakarta.mail-api (2.1.1) includes 6 classes compiled to bytecode 53 and 148 classes to compiled to bytecode 52. All classes are found in the unversioned space which means enforcer rules for both Maven and Gradle will trigger and fail a build.

To Reproduce
Steps to reproduce the behavior:

  1. Get jarviz
$ jarviz bytecode show --gav jakarta.mail:jakarta.mail-api:2.1.1 
Unversioned classes. Bytecode version: 52 total: 148
Unversioned classes. Bytecode version: 53 total: 6

If the --details flag is added you get the names of the 6 classes causing trouble

Unversioned classes. Bytecode version: 53 total: 6
jakarta.mail.search.package-info
jakarta.mail.util.package-info
jakarta.mail.event.package-info
jakarta.mail.internet.package-info
jakarta.mail.package-info
module-info

Expected behavior
These 6 classes should be inside /META-INF/versions/9. The JAR's manifest should have a manifest entry such as Multi-Release: true

https://docs.oracle.com/javase/10/docs/specs/jar/jar.html#multi-release-jar-files

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions