bach
moditect
Our great sponsors
bach | moditect | |
---|---|---|
5 | 10 | |
229 | 529 | |
- | 2.1% | |
7.0 | 7.8 | |
5 days ago | 28 days ago | |
Java | Java | |
Universal Permissive License v1.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bach
- Java Modules in Real Life
- Brian Goetz: Paving the On-Ramp (To Java)
-
Splitting software into multiple applications and libraries. Most practical ways!
Projects like bach do serve to make the case that, if the resolution/build library piece were filled in, building and maintaining a multi module or multi-whatever project using just javac/jar/etc with Java build programs would be practical.
-
Multi-release JARs - Good or bad idea?
Have you heard about/looked into bach? It's a build-tool based mostly around pumping the output of one jdk tool into another.
-
Non-Android projects that use Gradle?
Not quite that, but bach is a build tool trying to simplify that java build process.
moditect
-
Java Modules in Real Life
And then you have to use moditect to generate a module-info.java and this is again because the annotation processor will pick up the provides Processor with YourAnnotationProcessor.
-
Modularization (modular-info.java), maven, and testing misery
Maybe you've somehow missed https://maven.apache.org/plugins/maven-jlink-plugin/ https://github.com/moditect/moditect https://github.com/beryx/badass-jlink-plugin https://github.com/sormuras/testing-in-the-modular-world
-
JRE & JDK implementation mess
Yes, you are right. jlink does not work with automatic modules. But using that plugin https://github.com/moditect/moditect you can easily transform almost any java library into a named module. It is a shame there are libraries under development, that have not been adapted to the java modular system.
- Forking google
-
Minvio - a simple Java graphical app framework.
FWIW, I've had a lot more issues with reflective access when using GraalVM. Reflection is mainly a problem with modules if you forget to 'open' your modules which is easy to fix in many cases. There's also moditect if the library author still doesn't want to learn how to include a module-info in the legacy compatible jar.
-
javafx:jlink and itext to create self contained jar.
Thanks. I don't think iText has a modularized jar. Would it be possible to inject the modules into my jar, as per: https://stackoverflow.com/questions/47222226/how-to-inject-module-declaration-into-jar . Or maybe use moditect?
-
Persism 1.0.1 released - A zero ceremony ORM for Java
Or apply the https://github.com/moditect/moditect plugin and keep the build in JDK8. Let the plugin create the module descriptors without configuring JDK toolchains.
-
Java Modules - are they common and should we use them?
You can use the https://github.com/moditect/moditect maven plugin to add the module-info to the third-party jars
-
JPMS Migration Playground
The next solution, which is the one I'm writing about. Is to modularize foo's jar, this is easily accomplished using the moditect plugin. But it can be tricky since I don't have, nor do I need, bar, and I prefer doing most of the work in build time and not manually.
-
Distribution of JVM desktop applications
It's possible to add this information during one's build even though the procedure is error-prone and boring. The description on how to achieve this deserves a post on its own. For more information, please check this Oracle magazine article. Suffice to say here that it makes heavy use of the Moditect Maven plugin.
What are some alternatives?
Recaf - The modern Java bytecode editor
os-maven-plugin - A Maven plugin that sets various useful properties detected from ${os.name} and ${os.arch} properties.
QuickShell - QuickShell is an Eclipse plugin to use Java JShell inside the Eclipse IDE.
badass-jlink-plugin - Create a custom runtime image of your modular application
mrjar-gradle-plugin - A multi-release JAR plugin for Gradle
packr - Packages your JAR, assets and a JVM for distribution on Windows, Linux and Mac OS X
tools.deps.alpha - A functional API for transitive dependency graph expansion and the creation of classpaths
piranha - Piranha - a modern cloud runtime
counterpoint - A BERT-inspired masked sequence model for harmonisation in the style of J.S. Bach.
Permazen - Language-Natural Persistence Layer for Java
conjob - Simple web interface to run containers as jobs or serverless functions
Feather - Lightweight dependency injection for Java and Android (JSR-330)