grazel
Gradle buildSrcVersions
Our great sponsors
grazel | Gradle buildSrcVersions | |
---|---|---|
2 | 8 | |
271 | 1,621 | |
1.1% | 0.5% | |
7.6 | 8.8 | |
19 days ago | 3 months ago | |
Kotlin | Kotlin | |
GNU General Public License v3.0 or later | MIT License |
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.
grazel
-
Distributed build clusters
Grazel might be of interest to you if looking to try bazel.
-
how are you guys enjoying your internships?
Dev Exp team in other companies works on actual developer experience tools. (e.g. Grab’s dev exp would work on something like Grazel which helps with their builds.
Gradle buildSrcVersions
-
Dependency Managers Don't Manage Your Dependencies (2021)
Lately I've been using gradle with kotlin-js and a mix of npm and jvm dependencies. There's the https://splitties.github.io/refreshVersions/ plugin that I can recommend if you are using gradle (with or without kotlin-js).
It manages plugin dependencies, library dependencies, and version dependencies. It can use the new gradle version catalog or not if you prefer. On first use, you migrate your versions and it extracts these to a versions.properties (or your version catalog). Then whenever you run refreshVersions it indicates available new versions in comments in this file. It also indicates unused dependencies. Though for npms this is a bit harder. All you need to do is manually use the versions you want.
I run this frequently to stay on top of upstream changes. Few software engineers realize that the testing and integration overhead with version changes multiplies (just like with other forms of change). Libraries that you haven't updated amount to technical debt that you haven't addressed. So, the workload increases massively if you don't update for a while. Staying up to date minimizes the workload. This plugin makes that super easy.
Given that we are using kotlin-js, we have to deal with a rapidly evolving library ecosystem so we do have occasional issues that we need to work around by either downgrading or fixing some code. Whenever I can't update something, I document it in my versions.properties with a comment. Often you just have to wait for the next release or so for things to straighten out. The price of using cutting edge software.
Kotlin-js manages a yarn lock file as well. So it properly locks dependencies. Whenever you update npm dependencies, you have to run a command to upgrade the lock file. There's also a whole mess of webpack dependencies that comes along with kotlin-js.
-
Weeks of Debugging Your Build can Save Hours of Learning Gradle
{$% embed https://github.com/splitties/refreshVersions %}
-
Gradle plugin for updating dependencies?
I need a Gradle plugin for managing version upgrades for dependencies. I used refreshVersions; however, I don't like how those dependencies end up in multiple files, e.g., versions.properties vs lib.versions.toml. I want something simpler. So, what do you prefer?
-
Easy way to migrate to Gradle's version catalog
As somebody with a deep personal hatred of TOML I recommend refreshVersions https://github.com/jmfayard/refreshVersions just a million times better and will support version catalogs soon maybe
-
How to keep all the common dependencies between multiple modules in single project gradle file?
refreshVersions, it is literally the best
- What is the best way to manage and organize build gradle dependencies?
-
How to build a GraphQL Gateway with Spring Boot and Kotlin
Note that I'm using gradle refreshVersions to make it easy to keep the project up-to-date. Therefore, the versions are not defined in the build.gradle files, they are centralized in the versions.properties file. RefreshVersions is bootstrapped like this in settings.gradle.kts:
-
Unit test your knowledge 💡
Also the official sample for gradle refreshVersions
What are some alternatives?
gradle-maven-publish-plugin - A Gradle plugin that publishes your Android and Kotlin libraries, including sources and javadoc, to Maven Central or any other Nexus instance.
logback-android - 📄The reliable, generic, fast and flexible logging framework for Android
mainframer - Tool for remote builds. Sync project to remote machine, execute command, sync back.
WheelView-Android
notifbot - Telegram bot to forward Android notifications
Guava - Google core libraries for Java
bazel-buildfarm - Bazel remote caching and execution service
sixpack-java - A Java client for the Sixpack A/B testing framework https://github.com/seatgeek/sixpack
Gradle - Adaptable, fast automation for all
deep-clean - When Gradle or the IDE let you down, just --nuke all them caches
AboutLibraries - AboutLibraries automatically collects all dependencies and licenses of any gradle project (Kotlin MultiPlatform), and provides easy to integrate UI components for Android and Compose-jb environments
ZXing - ZXing ("Zebra Crossing") barcode scanning library for Java, Android