SpongeGradle has served the Sponge project for quite some time, and it's been a hodgepodge of things smashed together with no real "standard" or "cohesion". A problem I've arrived at attempting to upgrade Sponge's build scripts has been some legacy concepts from Gradle 2.x persisted into today, and the lack of documentation instruction about what SpongeGradle provides, along with several [existing scripts]() that [depend on eachother]() gave me cause for migrating those scripts into SpongeGradle proper.
Target Goals
Clearer Plugin Setup
Migrate Sponge project mini-plugin scripts
Four mini-plugin scripts have interdependencies amongst eachother to set up the SpongeAPI project, and it's related projects, along with deploying, providing an implementation that depends on SpongeCommon, and finally, sets up the overall minecraft dependency for ForgeGradle. What this leads is to a confusing and rather obscene mess any time something in those scripts needs to be changed, or when some handling for how the dependency is set up.
Explicit Plugins for PluginDevelopers
Previously, it's been simply recommended to use org.spongepowered.meta as a plugin
SpongeGradle | SpongeAPI | SpongeCommon | SpongeForge | SpongeVanilla
A whole new coat of paint
SpongeGradle has served the Sponge project for quite some time, and it's been a hodgepodge of things smashed together with no real "standard" or "cohesion". A problem I've arrived at attempting to upgrade Sponge's build scripts has been some legacy concepts from Gradle 2.x persisted into today, and the lack of
documentationinstruction about what SpongeGradle provides, along with several [existing scripts]() that [depend on eachother]() gave me cause for migrating those scripts into SpongeGradle proper.Target Goals
Clearer Plugin Setup
Migrate Sponge project mini-plugin scripts
Four mini-plugin scripts have interdependencies amongst eachother to set up the SpongeAPI project, and it's related projects, along with deploying, providing an implementation that depends on SpongeCommon, and finally, sets up the overall minecraft dependency for ForgeGradle. What this leads is to a confusing and rather obscene mess any time something in those scripts needs to be changed, or when some handling for how the dependency is set up.
Explicit Plugins for PluginDevelopers
Previously, it's been simply recommended to use
org.spongepowered.meta
as a plugin