Socket
Socket
Sign inDemoInstall

gradle-semantic-release-plugin

Package Overview
Dependencies
Maintainers
0
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gradle-semantic-release-plugin

Automated release management for Gradle project


Version published
Weekly downloads
6.4K
increased by1.34%
Maintainers
0
Weekly downloads
 
Created
Source

A semantic-release plugin for Gradle project

Yet another gradle-semantic-release-plugin that invokes Gradle wrapper script to release.

Build npm Commitizen friendly semantic-release: angular

Precondition

To apply this semantic-release plugin, you need to fulfill the following preconditions:

  1. Your Gradle project should manage its version by gradle.properties (not by build.gradle nor build.gradle.kts).
  2. Your Gradle project should have an executable Gradle wrapper script at the project root directory.
  3. Your CI environment should run on Linux environment that can run ./gradlew.
  4. Your Gradle project should use Maven Publish Plugin, Legacy publishing, Gradle Artifactory Plugin, Gradle Nexus Publish Plugin, or Plugin Publishing Plugin to publish artifact.

Procedure to install

Install semantic-release

Follow install guide and CI configuration guide described in the semantic-release official document.

To manage version of toolset, we recommend you to have a package.json in your project root directory. Manage both of semantic-release and its plugins as devDependencies.

Refer the spotbugs-gradle-plugin project as a working example.

Configure @semantic-release/git

This plugin updates gradle.properties to bump up project version. If you want to keep the version in this file updated, configure @semantic-release/git to commit changes. You can configure your package.json like below:

  "release": {
    "plugins": [
      "gradle-semantic-release-plugin",
      [
        "@semantic-release/git",
        {
          "assets": [
            "gradle.properties"
          ]
        }
      ]
    ]
  },

Gradle Properties

Publish Properties

Users can specify an API key and secret by supplying the following environment variables:

  1. GRADLE_PUBLISH_KEY=my-key
    • This will get translated to -Pgradle.publish.key=my-key
  2. GRADLE_PUBLISH_SECRET=my-secret
    • This will get translated to -Pgradle.publish.secret=my-secret

Possible usage in build.gradle.kts

publishing {
  repositories {
      maven {
          name = "OrgRepo"
          url = uri("https://maven.pkg.github.com/org/repo")
          credentials {
              username = project.properties["gradle.publish.key"].toString()
              password = project.properties["gradle.publish.secret"].toString()
          }
      }
  }
}

FAQ

How it's different with the @tschulte/gradle-semantic-release-plugin?

That is a Gradle plugin implemented by Java. It can use Gradle's feature and ecosystem. However, it emulates semantic-release and cannot use other semantic-release plugin at the same time.

Our plugin is a semantic-release plugin. It can work with other plugin implemented on node.js, but it just invokes Gradle and cannot handle so complex requirements by own.

Copyright (c) 2019-2024 Kengo TODA

Keywords

FAQs

Package last updated on 12 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc