idiomatic-gradle
nowinandroid
idiomatic-gradle | nowinandroid | |
---|---|---|
5 | 59 | |
480 | 16,422 | |
- | 1.9% | |
3.9 | 9.5 | |
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.
nowinandroid
-
Resource observability case study: jemalloc in Android builds
The experiment was executed with 100 iterations(fresh agent without cache) for each variant, using the nowinandroid project and focusing on the assembleRelease task. By comparing the results, we aimed to assess the effectiveness of jemalloc in reducing memory usage and improving build performance in a CI environment.
-
Performance Impact Analysis of Gradle 8.7 in Android Projects
As a simple example, today we will apply a performance test within an experiment on the new Gradle version in the project nowinandroid. The goal is to verify that the update has no impact on our codebase. In the experiment, we will cover the worst-case scenario where all tasks are executed and we don't have build-cache available.
- Kotlin Coroutine-Dispatcher
-
Thx, 👍
So clean and simple! Though I would really advise respectively moving every single dependency AndroidConventionPlugin for added structure, development speed and maintainability. Remember: the true salvation of deprecated dependencies is making sure you always use unstable dependencies!
-
Room DB relationships
Here's an example of Embedded. Pull and look through the database module for ForeignKey and other concepts.
-
Wasn't there a full Android tutorial from Google called "Google Sunshine" weather app?
I remember it. This is a more up to date version from Google: https://github.com/android/nowinandroid There's also lots of sample apps and codelabs on https://developer.android.com/?gclid=CjwKCAjw-IWkBhBTEiwA2exyO7rWOvWd5yxCtFE5tmogy5LvA7HbxqQGpEQZz7_2ke579DPIHN06rhoCa-sQAvD_BwE&gclsrc=aw.ds
-
I need to learn multimodule clean architecture
Check out the NowInAndroid repository: https://github.com/android/nowinandroid
-
What's next after Head First Kotlin?
Also check out https://github.com/android/nowinandroid which is the official app that includes the latest features.
- Architecture Help
- The Great Dane looked more like a horse than a dog.
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.
ivy-wallet - Ivy Wallet is an open-source money manager app for android that you can either build or download from Google Play.
slack-gradle-plugin - Gradle and IntelliJ build tooling used in Slack's Android repo
android-developer-roadmap - 🗺 The Android Developer Roadmap offers comprehensive learning paths to help you understand Android ecosystems.
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
architecture-samples - A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.
kotlin-plugin - Build kotlin code using sbt
ComposeCookBook - A Collection on all Jetpack compose UI elements, Layouts, Widgets and Demo screens to see it's potential
Gradle buildSrcVersions - Life is too short to google for dependencies and versions
architecture-components-samples - Samples for Android Architecture Components.
iosched - The Google I/O Android App
android-oss - Kickstarter for Android. Bring new ideas to life, anywhere.