Maven Wrapper
Bazel
Our great sponsors
Maven Wrapper | Bazel | |
---|---|---|
5 | 136 | |
1,568 | 22,315 | |
- | 1.2% | |
2.1 | 10.0 | |
over 2 years ago | 3 days ago | |
Java | Java | |
Apache License 2.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.
Maven Wrapper
-
Lightweight build alternatives to Gradle / Maven
Maven also has the maven wrapper: https://github.com/takari/maven-wrapper which accomplishes the same thing.
-
Native-image with Micronaut
When creating a new Maven project, Micronaut also configures the Maven wrapper.
-
Java Is Criminally Underhyped
IDE's can be fiddly, and anyway I don't think it's good to depend on an IDE for building.
The project could have been set up instead with the "Maven wrapper"(1) which provides "mvn.cmd/sh" scripts at the top level of the project to fetch and run the proper Maven. So after cloning the project, all you have to do is set a proper JAVA_HOME and then do "./mvn clean package". The IDE's will then set themselves up properly if you import the project as a Maven project, and will sync with changes to the Maven pom.xml whenever it changes (Intellij does at least). That's really hard to beat.
(1) https://github.com/takari/maven-wrapper (Being integrated into Maven itself soon).
-
Apache Maven Version 3.8.1 Released
I got it from here: https://github.com/takari/maven-wrapper
-
The Problem with Gradle
> Now “obviously” the answer is that we should have pegged the version of gradle required to use the script
My first step with either gradle or maven is to install the wrapper generator, which has this effect. After adding the wrapper you invoke it via ./gradlew or ./mvnw in the project doirectory.
It’s not perfect - especially in terms of IDE support - but it’s crucial to at least keeping your CLI builds consistent across team members and in automation.
gradle wrapper: https://docs.gradle.org/current/userguide/gradle_wrapper.htm...
maven wrapper: https://github.com/takari/maven-wrapper
Bazel
-
Hello World
Wow, if you curl it, there's a lot of boilerplate code there.
Maybe built using Bazel?
https://bazel.build
-
Things I learned while building projects with NX
Bazel by Google
-
Show HN: Flox 1.0 – Open-source dev env as code with Nix
Luckily a feature to limit the disk cache size is in development: https://github.com/bazelbuild/bazel/issues/5139
-
How to write unit tests in C++ relying on non-code files?
This is a problem that Bazel (https://bazel.build) solves in a very convenient way. You can just keep using the paths relative to the repository root, and as long as you properly declare your test needs that file it will access it without problems. Or you can use the runfile libraries to access them too.
-
blade-build VS Bazel - a user suggested alternative
2 projects | 28 Jan 2024
- Bazel 7.0 LTS
-
My first Software Release using GitHub Release
When doing research for this lab exercise I looked at both vcpkg and conan. Both are package managers that would automate the installation and configuration of my program with its dependencies. However, when it came to releasing and sharing my program my options were limited. For example, the central public registry for conan packages is conan-center, but these packages are curated and the process is very involved. There was no way conan-center would accept a class project like mine. Alternatively, I could host a conan package on a public Artifactory repository, but accessing the package requires users to add the repository to their conan remote. This already sounded like too many steps to expect regular users to follow - I already haven't setup any conan remotes, there's no way I could expect regular users to know about conan remotes, let alone have conan installed on their system. After discussing with people online and consulting my instructor, I ultimately decided to do a GitHub release. However, in the future I was encouraged to look into using CMake or bazel.
-
Declarative Gradle is a cool thing I am afraid of: Maven strikes back
NOTE: I won’t mention SBT and Leiningen here because, with all due respect, they are niche build tools. I also won’t discuss Kobalt for the same reason (besides, it’s no longer actively maintained). Additionally, I won’t touch upon Bazel and Buck in this context, mainly because I’m not very familiar with them. If you have insights or comments about these tools, please feel free to share them in the comments 👇
- Bazel
-
A Modern C Development Environment
> None of this solves C's only REAL problem (in my opinion) which is the lack of dependency management.
Bazel solves this really nicely, I know some people have strong opinions on it but I cannot recommend it enough
https://bazel.build/
What are some alternatives?
sitemapgen4j - SitemapGen4j is a library to generate XML sitemaps in Java.
Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.
Codename One - Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.
nx - Smart Monorepos · Fast CI
jabba - (cross-platform) Java Version Manager
meson - The Meson Build System
Multi-OS Engine - Multi-OS Engine: Create iOS Apps in Java (or Kotlin ... etc.)
Gradle - Adaptable, fast automation for all
Polyglot for Maven - Support alternative markup for Apache Maven POM files
ninja - a small build system with a focus on speed
javaslang-circuitbreaker - Resilience4j is a fault tolerance library designed for Java8 and functional programming
turborepo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turborepo and Turbopack. [Moved to: https://github.com/vercel/turbo]