- Applying the Gradle Plugin
- Skeletal Gradle Plugin User Guide
- Skeletal App and Template Guides
- Skeletal Project Creation Tool
This Gradle plugin is a sibling project to the Skeletal Project Creation Tool and was originally a sub-project in the original Lazybones Project before this fork of the project.
The mechanics of publishing Lazybones templates is straightforward and could be done manually. That doesn't mean it's not a lot of work though. If you want to manage and publish Lazybones templates, we strongly recommend you use Gradle along with this plugin.
The plugin allows you to manage multiple templates, giving you the tools to package, install, and publish them individually or all together. In addition, you can also easily set up subtemplates. Let's see how you use the plugin.
Make sure the version is updated in build.gradle , index.adoc, and jreleaser.yml files. Also generate the HTML file from the AsciiDoc source using the IntelliJ AsciiDoc plugin.
To build into a repo within the build output
./gradlew publishThis builds a repo layout that you can use from an Artifactory Gradle repository or similar artifact repository.
checksums and signatures removed for brevity (version may not be latest) ...
build/repos/releases
`-- net
`-- codebuilders
|-- lazybones-templates
| `-- net.codebuilders.lazybones-templates.gradle.plugin
| |-- 1.7.1
| | |-- net.codebuilders.lazybones-templates.gradle.plugin-1.7.1.pom
| `-- maven-metadata.xml
`-- skeletal-gradle
|-- 1.7.1
| |-- skeletal-gradle-1.7.1.jar
| |-- skeletal-gradle-1.7.1-javadoc.jar
| |-- skeletal-gradle-1.7.1.module
| |-- skeletal-gradle-1.7.1.pom
| |-- skeletal-gradle-1.7.1-sources.jar
`-- maven-metadata.xmlTo publish into your local Maven cache
./gradlew publishToMavenLocalEdit the Skeletal project settings.gradle file and enable the resolution strategy abd local maven repository.
resolutionStrategy {
eachPlugin {
if (requested.id.namespace == 'net.codebuilders') {
useModule("net.codebuilders:skeletal-gradle:${lazybonesGradlePluginVersion}")
}
}
}
repositories {
// testing gradle plugin snapshots from local only
mavenLocal()
gradlePluginPortal()
}To publish to a Maven repository, you will need to setup the repository URL and credentials in your Gradle settings file. You will need to either setup signing credentials for the Signing Plugin, make the version end in -SNAPSHOT, or force the build variable isReleaseVersion to false.
To publish to Gradle Plugins
./gradlew publishPluginsThis can only be done by the Skeletal project owner for this plugin name.
Releases are created in the GitHub repo by creating a tag and a Release based on that tag and a Changelog of major changes and uploading build artifacts and source archives.
This is automated by JReleaser using the jreleaser.yml configuration file.
Steps to create a release after Gradle publish or publishPlugins
export JRELEASER_OUTPUT_DIRECTORY=build(until added to jreleaser.yml)jreleaser configjreleaser full-release --dry-run- check
build/jreleaser/release/CHANGELOG.mdfor errors jreleaser full-release
The complete list going back to Lazybones can be found in the Skeletal Credits.