{"id":14979978,"url":"https://github.com/kengotoda/gradle-semantic-release-plugin","last_synced_at":"2025-04-05T01:08:03.525Z","repository":{"id":34307307,"uuid":"176188186","full_name":"KengoTODA/gradle-semantic-release-plugin","owner":"KengoTODA","description":"Automated release management for Gradle project","archived":false,"fork":false,"pushed_at":"2025-04-01T02:10:33.000Z","size":2922,"stargazers_count":36,"open_issues_count":11,"forks_count":17,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T01:07:46.882Z","etag":null,"topics":["gradle","semantic-release","semantic-release-plugin"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/gradle-semantic-release-plugin","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KengoTODA.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["KengoTODA"]}},"created_at":"2019-03-18T02:11:40.000Z","updated_at":"2025-04-01T02:10:36.000Z","dependencies_parsed_at":"2023-11-19T02:33:54.249Z","dependency_job_id":"82819ebe-1414-4e5d-b557-a329eea58969","html_url":"https://github.com/KengoTODA/gradle-semantic-release-plugin","commit_stats":{"total_commits":676,"total_committers":11,"mean_commits":61.45454545454545,"dds":0.584319526627219,"last_synced_commit":"29bf5dc838bea3c64012d1c0d20ae2cff48976bf"},"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KengoTODA%2Fgradle-semantic-release-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KengoTODA%2Fgradle-semantic-release-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KengoTODA%2Fgradle-semantic-release-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KengoTODA%2Fgradle-semantic-release-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KengoTODA","download_url":"https://codeload.github.com/KengoTODA/gradle-semantic-release-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247271530,"owners_count":20911587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gradle","semantic-release","semantic-release-plugin"],"created_at":"2024-09-24T14:01:03.384Z","updated_at":"2025-04-05T01:08:03.504Z","avatar_url":"https://github.com/KengoTODA.png","language":"TypeScript","funding_links":["https://github.com/sponsors/KengoTODA"],"categories":[],"sub_categories":[],"readme":"# A semantic-release plugin for Gradle project\n\nYet another gradle-semantic-release-plugin that invokes Gradle wrapper script to release.\n\n[![Build](https://github.com/KengoTODA/gradle-semantic-release-plugin/actions/workflows/build.yml/badge.svg)](https://github.com/KengoTODA/gradle-semantic-release-plugin/actions/workflows/build.yml)\n[![npm](https://badgen.net/npm/v/gradle-semantic-release-plugin)](https://www.npmjs.com/package/gradle-semantic-release-plugin)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)\n\n# Precondition\n\nTo apply this semantic-release plugin, you need to fulfill the following preconditions:\n\n1. Your Gradle project should manage its version by `gradle.properties` (not by `build.gradle` nor `build.gradle.kts`).\n2. Your Gradle project should have an executable Gradle wrapper script at the project root directory.\n3. Your CI environment should run on Linux environment that can run `./gradlew`.\n4. Your Gradle project should use [Maven Publish Plugin](https://docs.gradle.org/current/userguide/publishing_maven.html), [Legacy publishing](https://docs.gradle.org/current/userguide/artifact_management.html), [Gradle Artifactory Plugin](https://www.jfrog.com/confluence/display/RTF/Gradle+Artifactory+Plugin), [Gradle Nexus Publish Plugin](https://github.com/gradle-nexus/publish-plugin/), or [Plugin Publishing Plugin](https://docs.gradle.org/current/userguide/publishing_gradle_plugins.html) to publish artifact.\n\n# Procedure to install\n\n## Install semantic-release\n\nFollow [install guide](https://semantic-release.gitbook.io/semantic-release/usage/installation) and [CI configuration guide](https://semantic-release.gitbook.io/semantic-release/usage/ci-configuration) described in the semantic-release official document.\n\nTo 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`.\n\nRefer [the spotbugs-gradle-plugin project](https://github.com/spotbugs/spotbugs-gradle-plugin) as a working example.\n\n## Configure `@semantic-release/git`\n\nThis 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:\n\n```json\n  \"release\": {\n    \"plugins\": [\n      \"gradle-semantic-release-plugin\",\n      [\n        \"@semantic-release/git\",\n        {\n          \"assets\": [\n            \"gradle.properties\"\n          ]\n        }\n      ]\n    ]\n  },\n```\n\n# Gradle Properties\n\n## Publish Properties\n\nUsers can specify an API key and secret by supplying the following environment variables:\n\n1. `GRADLE_PUBLISH_KEY=my-key`\n    - This will get translated to `-Pgradle.publish.key=my-key` \n2. `GRADLE_PUBLISH_SECRET=my-secret`\n    - This will get translated to `-Pgradle.publish.secret=my-secret`\n\nPossible usage in `build.gradle.kts`\n\n```kotlin\npublishing {\n  repositories {\n      maven {\n          name = \"OrgRepo\"\n          url = uri(\"https://maven.pkg.github.com/org/repo\")\n          credentials {\n              username = project.properties[\"gradle.publish.key\"].toString()\n              password = project.properties[\"gradle.publish.secret\"].toString()\n          }\n      }\n  }\n}\n```\n\n# FAQ\n\n## How it's different with the [@tschulte/gradle-semantic-release-plugin](https://github.com/tschulte/gradle-semantic-release-plugin)?\n\nThat 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.\n\nOur 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.\n\n## Copyright\n\nCopyright (c) 2019-2024 Kengo TODA\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkengotoda%2Fgradle-semantic-release-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkengotoda%2Fgradle-semantic-release-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkengotoda%2Fgradle-semantic-release-plugin/lists"}