rules_kotlin
Maven Wrapper
rules_kotlin | Maven Wrapper | |
---|---|---|
6 | 5 | |
325 | 1,568 | |
-0.3% | - | |
8.7 | 2.1 | |
4 days ago | over 2 years ago | |
Kotlin | 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.
rules_kotlin
-
rules_kotlin, how to pass kotlin compiler options?
But code says otherwise.
-
How do you cope with the monstrosity that is Gradle?
Personally I've found the complexity of Gradle not outweighed by its benefits so have migrated to Bazel instead with https://github.com/bazelbuild/rules_kotlin.
- Kotlin for JavaScript
-
How do you do CI for linting / code inspection for Kotlin code? For example, Intellij IDEA's "code inspection"?
We use rules_kotlin which has rules for running ktlint.
- Lightweight build alternatives to Gradle / Maven
-
[XP Sharing] Have you ever worked on a project with the Bazel build tool instead of Gradle?
Yeah, you can read about it here. 2 minor inline usage issue exists but we were able to circumvent it will trivial syntax fixes.
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
What are some alternatives?
gradle-jooq-plugin - Gradle plugin that integrates jOOQ.
sitemapgen4j - SitemapGen4j is a library to generate XML sitemaps in Java.
stm32h7xx-hal - Peripheral access API for STM32H7 series microcontrollers
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.
shadow - Gradle plugin to create fat/uber JARs, apply file transforms, and relocate packages for applications and libraries. Gradle version of Maven's Shade plugin.
jabba - (cross-platform) Java Version Manager
Gant - The Gant Mainline
Multi-OS Engine - Multi-OS Engine: Create iOS Apps in Java (or Kotlin ... etc.)
pre-commit-jvm - A collection of git hooks for the JVM to be used with the pre-commit framework.
Polyglot for Maven - Support alternative markup for Apache Maven POM files
ts-generator - Generate TypeScript definitions from Kotlin/Java/JVM classes
javaslang-circuitbreaker - Resilience4j is a fault tolerance library designed for Java8 and functional programming