mustache.java icon indicating copy to clipboard operation
mustache.java copied to clipboard

Support Java Modules

Open aalmiray opened this issue 2 years ago • 1 comments

v0.9.10 defines an automatic module name

$ jarviz module descriptor --file compiler-0.9.10.jar 
name: com.github.mustachejava
version: 0.9.10
open: false
automatic: true
requires:
  java.base mandated
contains:
  com.github.mustachejava
  com.github.mustachejava.codes
  com.github.mustachejava.functions
  com.github.mustachejava.reflect
  com.github.mustachejava.reflect.guards
  com.github.mustachejava.resolver
  com.github.mustachejava.util

I'd be great if the library supplied a full Java module descriptor. It's possible to keep bytecode baseline compatible with Java 8 while providing a full module descriptor thanks to ModiTect. This will help modular projects that consume mustache-java, 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.

aalmiray avatar Feb 17 '23 17:02 aalmiray

extra-java-module-info can be used, but native modularization would be preferable.

plugins {
	id 'org.gradlex.extra-java-module-info' version '1.4'
}
extraJavaModuleInfo {
	failOnMissingModuleInfo = true
	module('com.github.spullara.mustache.java:compiler', 'com.github.mustachejava') {
		requiresStatic 'java.logging'

		exports 'com.github.mustachejava'
		exports 'com.github.mustachejava.reflect'
		exports 'com.github.mustachejava.util'
	}
}

bademux avatar May 06 '23 21:05 bademux