idiomatic-gradle
gradle-maven-publish-plugin
idiomatic-gradle | gradle-maven-publish-plugin | |
---|---|---|
5 | 3 | |
481 | 1,251 | |
- | - | |
3.9 | 8.8 | |
3 months ago | 8 days ago | |
Java | Kotlin | |
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.
idiomatic-gradle
-
Android Developers Blog: Kotlin DSL is Now the Default for New Gradle Builds
You should look into how https://github.com/jjohannes/idiomatic-gradle and similar projects handle it (nowinandroid has a good set up as well).
-
just enough gradle
And finally, look at the idiomatic gradle repo. There is also a free video series that goes with this Understanding Gradle – Video Series. There are lots of bad practices in gradle that will slow your builds down, like using allProjects {}
-
For builds: Gradle vs Maven vs IntelliJ
I'd suggest getting rid of buildSrc, and just using build composition. I mentioned in another response, but check out https://github.com/jjohannes/idiomatic-gradle for how to use precompiled script plugins that are connected to the project via includedBuilds. The only issues I've had with this are generally resolved by just running the sub-build independently to resolve any caching issues in the 'primary' build. A simple gradlew build --settings-file ./build-logic/settings.gradle.kts run will generally resolve that, and that issue seems largely because of the 'root' build being a peer or anscestor of the included build (due to legacy structure of the project, an issue the linked example repo does not have).
-
Herding elephants: Wrangling a 3,500-module Gradle project
When we initially migrated from buildSrc to an included build, it seemed an elegant solution to the problems outlined above. We were dropping buildSrc, with all its problems, and using the modern facility that Gradle considers the preferred, idiomatic replacement for buildSrc. (For a very elaborate example of this, see the idiomatic-gradle repo by former Gradle engineer Jendrik Johannes.) Included builds are indeed the best of both worlds in many ways: they can exist under version control in the same repository as the build that uses them; they can be easily opened in a separate IDE instance, improving build engineer productivity; they don't have the automatic test behavior of buildSrc, which improves feature engineer performance; and they're generally very well-behaved, without any of the magic of buildSrc.
gradle-maven-publish-plugin
- We Are Improving Library Authors’ Experience!
-
KMM is Awesome ❤️
For publishing, I'd say many teams are moving to this: https://github.com/vanniktech/gradle-maven-publish-plugin
What are some alternatives?
slack-gradle-plugin - Gradle and IntelliJ build tooling used in Slack's Android repo
grazel - A tool to migrate Android projects from Gradle to Bazel incrementally and automatically
custom-floating-action-button - This view is for replacement of standard Floating Action Button from Google Support Library. It is easy to use, customizable and you can also add text to button
scalroid - A scala-kotlin-java joint compilation plugin built on Gradle, for native Android.
kotlin-plugin - Build kotlin code using sbt
dependency-analysis-gradle-plugin - Gradle plugin for JVM projects written in Java, Kotlin, Groovy, or Scala; and Android projects written in Java or Kotlin. Provides advice for managing dependencies and other applied plugins
nowinandroid - A fully functional Android app built entirely with Kotlin and Jetpack Compose
KotlinReactNativeApp - An example of react native app written in kotlin
Gradle buildSrcVersions - Life is too short to google for dependencies and versions
moko-resources - Resources access for mobile (android & ios) Kotlin Multiplatform development
js2p-gradle - Extended Jsonschema2Pojo gradle plugin
publish-plugin - Gradle plugin for publishing to Nexus repositories