Strawberry is a gradle plugin designed to streamline and apply common build settings across projects within an organization. This plugin aim to enforce consistency, reduce boilerplate, and automate routine tasks.
- Indra and Shadow Plugin Integration: Seamlessly integrates with Indra and Shadow plugins for advanced project configurations and artifact shading.
- Easy Shadow Relocation: Simplifies the process of relocating packages within shaded jars, ensuring minimal conflicts with other plugins.
- Final Jar Copying: Automatically copies the final shaded jar to the build directory, facilitating easier distribution and deployment.
- Archive Classifier Removal: Removes the archive classifier from the shaded jar, creating cleaner artifact names.
- Minecraft Plugin Description Generation: Supports the generation of plugin description files for both Paper and Velocity platforms, streamlining the development of Minecraft plugins.
- Gradle 7.5 or higher
- Java 11 or higher
To use the Strawberry plugin, add the following to your project's build.gradle
file:
plugins {
id 'com.vouncherstudios.strawberry' version '1.0.1'
}
After installing the plugin, you can configure it in your build.gradle
:
This example demonstrates how to relocate a package from com.vouncherstudios.nexus
to com.example.libs.nexus
to
avoid classpath conflicts.
strawberry {
relocate('com.vouncherstudios.nexus', 'com.example.libs.nexus')
}
This example configures a Paper plugin description. It specifies the main class and name of the plugin. Optionally, version and description can be specified; if not, they default to the project's version and description.
strawberry {
minecraft {
plugin {
paper {
main("com.example.ExamplePlugin")
name("ExamplePlugin")
// Optional: If not specified, the project's version and description are used
// version("1.0.0")
// description("An example plugin for Paper")
}
}
}
}
For more detailed usage instructions, refer to the documentation.
Strawberry is released under the MIT License. See the LICENSE file for more details.