This plugin extends Gradle DSL to provide following functionalities:
- Allow configuring a project with a number of languages for the project. Currently supporting JAVA and SCALA.
- Allow configuring a project with PLAY framework in Java or Scala.
- Read configuration and configure the projects with correct IDE plugins. Currently support Eclipse or IntelliJ.
- Setup additional source sets for the project for each specified language
- Allow configuring dependencies among source set. Meaning implementation from one source set is available to other source set when calling gradle compile
- Source sets inter-dependencies should be configured easily through specification like sourceSetDep { A [B,C,D] } which make A depends on output of B, C, D
- Allow configuring external dependencies inheritance among source set.
- Pre-configured with a number of repositories, e.g. maven central, jcenter, bintray, etc...
- Allow easy configuration of a custom repository
- Support multiple projects build with source dependency or jar dependencies among project.
- Support distribution of individual source set and combined. All distribution comes with all runtime dependencies.
- Allow force refreshing dependencies through configuration in the root project
- Support attaching git hash at the end of the distribution jar file for easy tracking commit.
The DSL are extended with following syntax: