Skip to content

Support Java Modules #89

@aalmiray

Description

@aalmiray

v3.8.0 defines an automatic module name

$ jarviz module name --file eddsa-0.3.0.jar
subject: eddsa-0.3.0.jar
name: net.i2p.crypto.eddsa
source: manifest
automatic: true
valid: true

$ jarviz module descriptor --file eddsa-0.3.0.jar
subject: eddsa-0.3.0.jar
name: net.i2p.crypto.eddsa
version: 0.3.0
open: false
automatic: true
requires:
  java.base mandated
contains:
  net.i2p.crypto.eddsa
  net.i2p.crypto.eddsa.math
  net.i2p.crypto.eddsa.math.bigint
  net.i2p.crypto.eddsa.math.ed25519
  net.i2p.crypto.eddsa.spec

$ jarviz bytecode show --file eddsa-0.3.0.jar
subject: eddsa-0.3.0.jar
Unversioned classes. Bytecode version: 50 (Java 6) total: 33

I'd be great if the library supplied a full Java module descriptor. It's possible to keep bytecode baseline compatible with Java 6 while providing a full module descriptor thanks to ModiTect. This will help modular projects that consume eddsa, specifically those that create custom Java Runtimes with jlink, as the latter does not support automatic modules but explicit modules. If interested I can send a PR to make it happen.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions