Plugin defines necessary settings for developing and packaging Rundeck plugins according to Rundeck guidelines
For SBT 0.13.6+, add the following to your project/plugins.sbt:
resolvers += Resolver.url("sysa-bintray-repo", url("https://dl.bintray.com/sysa/sbt-plugins/"))(Resolver.ivyStylePatterns)
addSbtPlugin("io.sysa" % "sbt-rundeck" % "0.1.0")Enable plugin for your module and define requred rundeckPluginClassnames setting:
lazy val root = project.in(file("."))
.enablePlugins(RundeckPlugin)
.settings(
name := "rundeck-example-plugin",
organization := "com.example",
version := "1.0.0",
scalaVersion := "2.11.7",
libraryDependencies += Seq("..."),
rundeckPluginClassnames := Seq("com.example.ExamplePluginEntrypoint")
)Plugin adds dependency for rundeck-core in provided scope, thus making it excluded during packaging.
If version of this library don't satisfies your needs, you can specify another with rundeckLibraryVersion setting.
All libraryDependencies will be bundled within plugin jar in lib directory.
Each member of rundeckPluginClassnames should specify a valid Rundeck Provider class
annotated with @Plugin
To create plugin bundle, run:
sbt-console> package
Resulting plugin bundle will be located in target/scala_2.11/rundeck-example-plugin-1.0.0.jar
Follow Plugin Installation steps,
to deploy your plugin to Rundeck instance.