Introduce SplitProjectTask This task, available for all jvm projects in the build, can be used to split a project into a separate project. The task takes as input a list of classes that should be moved to the new project. It then scans the compiled classes from the project-to-split for all the classes that the given names depends on, collecting all classes to be moved. Then, it determines what dependencies the new project needs by analyzing the compile classpath. Finally, it moves the class files, writes a build file, and moves any test files directly associated with the moved production classes. While not perfect, this task makes it much easier to break apart projects. There are likely some improvements that can be made to the asm class visitor to better align its api/implementation separation with the dependency analysis plugin, as some of the classes it considers api classes the dependency analysis plugin considered implementation classes.
Gradle is a highly scalable build automation tool designed to handle everything from large, multi-project enterprise builds to quick development tasks across various languages. Gradleβs modular, performance-oriented architecture seamlessly integrates with development environments, making it a go-to solution for building, testing, and deploying applications on Java, Kotlin, Scala, Android, Groovy, C++, and Swift.
For a comprehensive overview, please visit the official Gradle project homepage.
Starting with Gradle is easy with these essential resources. Follow these to install Gradle, set up initial projects, and explore supported platforms:
π Explore Gradleβs full array of resources through the Gradle Documentation.
Gradle is built to work smoothly with a variety of Integrated Development Environments (IDEs) and Continuous Integration (CI) systems, providing extensive support for a streamlined workflow:
Kickstart your Gradle knowledge with courses, guides, and community support tailored to various experience levels:
The Gradle community offers a range of forums, documentation, and direct help to guide you through every step of your Gradle journey:
#github-integrations for integration topics.Quick Tip: New contributors to Gradle projects are encouraged to ask questions in the Slack
#community-supportchannel.
To make the most out of Gradle, take advantage of these additional resources:
π Stay connected with the Gradle Community and access the latest news, training, and updates via Slack, Forum, and our Newsletter.