1JPM: A Maven/Gradle alternative in a single Java file
The project "1JPM" is a Java Project Manager offering an alternative to Maven and Gradle. It is a single customizable Java file for project configuration, eliminating XML or Groovy. Users can integrate it by adding the JPM.java file and executing commands in the terminal. 1JPM treats everything as a plugin, allowing the addition of third-party plugins. It covers essential functions like build, clean, assemble, check, dependencies, help, tasks, and jar, but may lack some advanced features. The project is in early stages, providing basic build capabilities. Users can seek further assistance for details or support.
Read original articleThe GitHub URL provided contains information about "1JPM" (1 Java Project Manager), a project offering an alternative to Maven and Gradle. 1JPM is a single Java file that can be customized for project configuration, eliminating the need for XML or Groovy. Users can integrate 1JPM by adding the JPM.java file to their project and executing commands in the terminal for project building. Similar to Gradle, 1JPM treats everything as a plugin, including tasks, with the option to add third-party plugins by appending Java code to the JPM class. While 1JPM may not offer the full range of features found in Maven and Gradle, it covers essential functions like `build`, `clean`, `assemble`, `check`, `dependencies`, `help`, `tasks`, and `jar`. The project is still in its early stages but provides fundamental build capabilities. For further details or support, users are encouraged to inquire for assistance.
Related
Moving to Java 17 or how I learned to stop worrying and love NoSuchMethodError
Icon Solutions upgraded to Java 17 in IPF 2024.1 for Spring 6 and Spring Boot 3 compatibility. Challenges included plugin and dependency adjustments, emphasizing centralized management and code cleanliness post-upgrade for smoother transitions.
JEP 401: Value Classes and Objects (Preview)
JEP 401 introduces value classes and objects in Java, focusing on optimizing memory efficiency by distinguishing objects solely by their field values, not identity. This feature enhances performance for simple domain values.
A Better Merge Workflow with Jujutsu
A new merge workflow using Jujutsu, a modern VCS compatible with Git, introduces The Austin™ Mega Merge Strategy®. It simplifies merge commits, amending commits, and selecting commits efficiently, enhancing collaboration and code review processes with advanced commit graph manipulation.
Mako – fast, production-grade web bundler based on Rust
Mako, a Rust-based front-end build tool, is now open-source, aiming to enhance build speed. Tested at Ant Group, it surpasses Webpack in speed, especially with React Server Components, offering an SSU feature. Users can engage via WeChat, Telegram, or RSS, contribute to development, and join support services.
Jqjq: Jq Implementation of Jq
The GitHub URL hosts the "jqjq" project, an implementation of jq in the jq language. It showcases progress, design, issues, references, tools, and acknowledgments. Inquire for further details.
I don't know how many folks know, although its been there for a bit, that you no longer have to specifically compile single file java programs.
You can just run them with with "java prog.java".
(Honestly, I haven't used the technique myself, still old school -- even with silly small x.java tests and such. Muscle memory and all that.)
(my hate for new build tools https://javarants.com/why-your-new-jvm-build-tool-is-making-...)
https://jeka-dev.github.io/jeka/tutorials/build-projects/#ex...
On build tools: I don't actually mind Maven: I use a proper editor that can read and understand an XSD schema. But if it weren't for that I'd totally understand why people dislike it!
Gradle uses "a full programming language" and I hate it but I have to use it for Android projects. Debugging Gradle problems is as fun as you'd imagine. There's a lot of dark matter in your build scripts that you don't see but that influences what happens. And because Android tooling is a clusterfuck ever since the demise of Eclipse+ADT, any change you make to your build process runs the risk of the entire thing exploding in your face.
This one is at least fully predictable, self-contained and doesn't randomly download 150 MB of crap when you're on a slow coffee shop wifi. I'm gonna try it sometime.
It took a while to find an example:
https://github.com/edwardw/high-scale-java-lib/blob/master/b...
Anyone have more examples?
Every dev at some stage early in their career always thinks that they can create a better one.
Related
Moving to Java 17 or how I learned to stop worrying and love NoSuchMethodError
Icon Solutions upgraded to Java 17 in IPF 2024.1 for Spring 6 and Spring Boot 3 compatibility. Challenges included plugin and dependency adjustments, emphasizing centralized management and code cleanliness post-upgrade for smoother transitions.
JEP 401: Value Classes and Objects (Preview)
JEP 401 introduces value classes and objects in Java, focusing on optimizing memory efficiency by distinguishing objects solely by their field values, not identity. This feature enhances performance for simple domain values.
A Better Merge Workflow with Jujutsu
A new merge workflow using Jujutsu, a modern VCS compatible with Git, introduces The Austin™ Mega Merge Strategy®. It simplifies merge commits, amending commits, and selecting commits efficiently, enhancing collaboration and code review processes with advanced commit graph manipulation.
Mako – fast, production-grade web bundler based on Rust
Mako, a Rust-based front-end build tool, is now open-source, aiming to enhance build speed. Tested at Ant Group, it surpasses Webpack in speed, especially with React Server Components, offering an SSU feature. Users can engage via WeChat, Telegram, or RSS, contribute to development, and join support services.
Jqjq: Jq Implementation of Jq
The GitHub URL hosts the "jqjq" project, an implementation of jq in the jq language. It showcases progress, design, issues, references, tools, and acknowledgments. Inquire for further details.