DeepMedia logo
Open Source
Search...

Other versions of this page

Improve this page on GitHub

Search

Usage and tasks

Usage

Plugin configuration happens through the deployer extension. You act on it by adding one or more DeploySpecs and configuring them. Every spec can be configured independently and offers many options:

kotlin
interface DeploySpec { val content: Content val auth: Auth val projectInfo: ProjectInfo val release: Release val signing: Signing }

For example, to create a spec that deploys to GitHub and configure the version number, you may do:

kotlin
deployer { githubSpec { release.version = "1.0.0" ... } }

Please check out the artifacts and configuration docs to learn how to configure specs properly.

Default spec

In most cases, instead of configuring each spec separately, you will configure what we call the default spec. The default spec is the deployer extension itself, and acts as a root configuration provider.

Its values will be propagated to all child specs and used as fallbacks in case the child is not configured. For example:

kotlin
deployer { release.version = "1.0.0" // our default ... nexusSpec { // release.version is 1.0.0 ... } nexusSpec("snapshot") { // snapshot publishing. Override the default version release.version = "1.0.0-SNAPSHOT" ... } }

Tasks

For each spec, the plugin will register a gradle task named deploy<SpecType><SpecName>. The spec type is either local, github, nexus or centralPortal. The name defaults to "" but can be configured. In addition, an extra task called deployAll will be generated, running all deployments at once. In the example above, the following tasks are generated:

  • deployNexus
  • deployNexusSnapshot
  • deployAll
⚠️

Note: Use ./gradlew tasks --group='Deployment' to list all deploy tasks.

The plugin will also register the printProjectComponents task for debugging.

More

Subscribe to the DeepMedia Newsletter

The latest news about DeepMedia products, open source projects and software development at our company.

By clicking “Subscribe”, you agree that DeepMedia may use your email address to send you newsletters, including commercial communications, and to process your personal data for this purpose. You agree that DeepMedia may process said data using third-party services for this purpose in accordance with the DeepMedia Privacy Policy. You can revoke this consent at any time using the unsubscribe link included in each email or by writing at contact@deepmedia.io.