This Gradle plugin will configure a task to publish an artifact to ProductStore, and add it as a
dependency of the "publish" conventional task. It is an analogue of the maven-publish
plugin,
but for publishing a runnable jar to our ProductStore repository.
import com.timgroup.gradle.productstore.ProductStorePublication
plugins {
id "com.timgroup.productstore" version "1.0.0"
}
publishing {
publications {
productStore(ProductStorePublication) {
application = "DeployableApplication"
artifact shadowJar
}
}
}
In this sample, shadowJar
is a task whose output is a JAR file to be deployed.
If you are deploying to ProductStore from a subproject, you would typically declare the plugin version in the root project like this:
plugins {
id "com.timgroup.productstore" version "1.0.0" apply false
}
Then you can use the sample above in a subproject, omitting the version "1.0.0"
specification.
The plugin defines a project extension to adjust its configuration: this can be put next to the publishing
block,
if required. The effective default is:
productstore {
user "productstore"
host "productstore"
path "/opt/ProductStore"
identity file(System.getProperty("user.home") + "/.ssh/productstore")
}