Introducing Bld: A New Pure Java Build System

This page summarizes the projects mentioned and recommended in the original post on /r/java

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • rife2

    Full-stack, no-declaration, framework to quickly and effortlessly create web applications with modern Java.

    Thanks for the suggestions, might be a good opportunity to contribute, adding support for anything new can be done through an extension, which is basically any jar that you want to add to the classpath. Typically you'd expose an operation that bld users that call from a command. Here's an example of an ANTLR4 extension: https://github.com/rife2/bld-antlr4

  • CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  • bld-antlr4

    bld extension for generating ANTLR4 grammars

    Yes, you can drop any lib in the `lib/bld` directory and use it at build time. You can also use bld's dependency resolution to download those libs if you would like to. Those can be any maven style dependency, so you can really pull in any available logic that you might need. If you want, you can package that up and use it everywhere you need it. This is an example we create to do ANTLR4 code generation for RIFE2 itself: https://github.com/rife2/bld-antlr4

  • savant-core

    This is the main project for the Savant build tool

    I recently came across another build system and similar to gbevin the authors (the fusion auth guys) make a lot of there own tools and libs: Savant. However it has its own language.

  • jstachio

    Java type safe statically compiled mustache

    On a related note I have been really liking the newer Java feature of being able to execute .java files directly. I have been using them frequently to execute what would normally be a Bash or Python script. I actually have a Java .java script that mimics some parts of the Maven release plugin and because Java speaks XML really well it was easier to implement it in Java than Bash or some other scripting language which makes me think /u/bowbahdoe point on including a JSON parser with the standard lib would be very useful.

  • penna

    Opinionated SLF4J backend that logs natively to json

    I don't understand why the java community has this anti-innovation behaviour... Why invent planes when we have our good ol'reliable ships? Why invent cars when a horse is so affordable? Why bump java 8 to 17, try a new build system, a new log backend (yes, I heard the same when I was starting out penna)? This is a common pattern on the java community... Seems like we're conformed to an old standard that suffices... It's good enough...

  • maven-mvnd

    Apache Maven Daemon

    Maven works marvellous with BOMs for the larger stacks like Quarkus - no need for manual dependency hell. Its gradle fast with mvnd. I'm just hard pressed to imagine projects spending so much time in build debugging these days.

  • Gradle

    Adaptable, fast automation for all

    Except that they're not, all the potential, maybe relevant parameters available to the entire project are. Go inside the base {} task is build.gradle.kts, press ctrl+space ... yay hundreds of potential things that could or could not be appropriate, Go inside the java {} task, same thing, anywhere really. Without opening the documentation on gradle.org, there's no way to know what is actually relevant. It doesn't stop there, some of these things only work in setup time, others only work during task execution time, on to the docs to find which ones are which, but the docs are not completely in that regard, on and on it goes.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • OkHttp

    Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

    Lets be specific. This is the gradle build file for Squares okhttp client library. How exactly would your bld tool "predict" or "help" with all the parameters needed? There is no need to be defensive. Replace those large build files with your own, show where your approach is better and then understanding will lead to better solutions.

  • renovate

    Home of the Renovate CLI: Cross-platform Dependency Automation by Mend.io

    An important point is that this kind of metadata often needs to be accessible from outside the build system itself. You need that for example in order to integration with renovate-bot or github's dependabot, to check your dependencies against CVEs, to build SBOMs and various other additional tasks that are not part of the build itself, but related to the build's metadata. This is all functionality I don't want to reimplement, I want to use what's already out there. And for that the build system needs to have some minimum amount of compatibility with existing standard metadata files like pom.xml or build.gradle

  • dependabot-core

    🤖 Dependabot's core logic for creating update PRs.

    An important point is that this kind of metadata often needs to be accessible from outside the build system itself. You need that for example in order to integration with renovate-bot or github's dependabot, to check your dependencies against CVEs, to build SBOMs and various other additional tasks that are not part of the build itself, but related to the build's metadata. This is all functionality I don't want to reimplement, I want to use what's already out there. And for that the build system needs to have some minimum amount of compatibility with existing standard metadata files like pom.xml or build.gradle

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Consuming and Testing third party API's using Spring Webclient

    4 projects | dev.to | 19 Feb 2024
  • Spring, SchemaSpy DB docs, and GitHub Pages

    8 projects | dev.to | 12 Mar 2023
  • Gradle 8.0

    4 projects | /r/java | 14 Feb 2023
  • Primeiros passos no desenvolvimento Java em 2023: um guia particular

    13 projects | dev.to | 19 Jan 2023
  • Keeping Your Lagoon Dependencies Up-to-Date: A Developer's Guide

    6 projects | dev.to | 29 Oct 2024

Did you konow that Java is
the 8th most popular programming language
based on number of metions?