{"id":16540481,"url":"https://github.com/itzg/github-releaser-gradle-plugin","last_synced_at":"2025-05-12T15:45:13.179Z","repository":{"id":145317761,"uuid":"556353198","full_name":"itzg/github-releaser-gradle-plugin","owner":"itzg","description":"Uploads application artifacts to GitHub release and publishes application manifests","archived":false,"fork":false,"pushed_at":"2025-03-17T23:17:00.000Z","size":130,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-31T23:51:11.152Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Groovy","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/itzg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2022-10-23T16:58:46.000Z","updated_at":"2025-03-17T23:17:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"7211f3c0-b2a7-4444-a829-dc1dacce1345","html_url":"https://github.com/itzg/github-releaser-gradle-plugin","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-releaser-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-releaser-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-releaser-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-releaser-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itzg","download_url":"https://codeload.github.com/itzg/github-releaser-gradle-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253767569,"owners_count":21961135,"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":[],"created_at":"2024-10-11T18:52:34.367Z","updated_at":"2025-05-12T15:45:13.152Z","avatar_url":"https://github.com/itzg.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Gradle Plugin Portal](https://img.shields.io/gradle-plugin-portal/v/io.github.itzg.github-releaser)](https://plugins.gradle.org/plugin/io.github.itzg.github-releaser)\n\nThis Gradle plugin uploads the [application plugin's](https://docs.gradle.org/current/userguide/application_plugin.html) distributions to the requested GitHub release and optionally publishes application manifests to a [Homebrew](https://brew.sh/) tap and/or [Scoop](https://scoop.sh/) bucket.\n\n## Tasks\n\n### `githubReleaseApplication`\n\nReleases the artifacts from the [application plugin's](https://docs.gradle.org/current/userguide/application_plugin.html) `distTar` and `distZip` tasks to the assets section of a GitHub release named for the current project version. The release is created if it doesn't already exist.\n\nThe repository and GitHub token must be specifically provided, see [configuration](#configuration).\n\n### `githubPublishApplication`\n\nPublishes an application manifest to some or all of the following:\n\n- [Scoop](https://scoop.sh/) Bucket\n- [Homebrew](https://brew.sh/) Tap\n\nFor each of the respective type(s), the publishing token and repository must be provided.\n\n## Configuration\n\n### `githubReleaser` extension\n\n\u003e A lot of the fields use defaults that align with environment variables provided by GitHub Actions build context\n\n```groovy\ngithubReleaser {\n    /**\n     * Defaults:\n     * Property: releaseName\n     * Env var: GITHUB_REF_NAME\n     * Project version\n     */\n    releaseName\n\n    /**\n     * Defaults:\n     * Env var: GITHUB_API_URL\n     * \"https://api.github.com\"\n     */\n    githubApiUrl\n\n    /**\n     * Property: repository\n     * Env var: GITHUB_REPOSITORY\n     */\n    githubRepository\n\n    /**\n     * Defaults:\n     * Env var: GITHUB_TOKEN\n     */\n    githubToken\n\n    /**\n     * Used for published application manifests\n     */\n    project {\n        license\n        homepage\n\n        /**\n         * Defaults:\n         * Project's description\n         */\n        description\n    }\n    publish {\n        /**\n         * GitHub access token with push access to repositories configured below.\n         * Default:\n         * Property: githubPublishToken\n         * Env var: GITHUB_PUBLISH_TOKEN\n         * Env var: GITHUB_TOKEN\n         */\n        publishToken\n        \n        scoop {\n            /**\n             * Scoop bucket repository as {owner}/{name}\n             * Defaults:\n             * Property: scoopBucketRepo\n             * Env var: SCOOP_BUCKET_REPO\n             */\n            repository\n\n            /**\n             * Defaults:\n             * \"bucket\"\n             */\n            bucketDirectory\n        }\n        homebrew {\n            /**\n             * Homebrew tap repository as {owner}/{name}\n             * Defaults:\n             * Property: homebrewTapRepo\n             * Env var: HOMEBREW_TAP_REPO\n             */\n            repository\n\n            /**\n             * Defaults:\n             * Repository's default branch\n             */\n            branch\n\n            /**\n             * Defaults:\n             * \"java\"\n             */\n            javaDependency\n        }\n    }\n}\n```\n\n## Examples\n\n### As a step in a GitHub workflow\n\n```yaml\n    - name: Gradle test and publish\n      uses: gradle/gradle-build-action@v2\n      env:\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        GITHUB_PUBLISH_TOKEN: ${{ secrets.PUSH_ACCESS_GITHUB_TOKEN }}\n        SCOOP_BUCKET_REPO: itzg/scoop-bucket\n        HOMEBREW_TAP_REPO: itzg/homebrew-tap\n      with:\n        arguments: |\n          test \n          githubPublishApplication\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitzg%2Fgithub-releaser-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitzg%2Fgithub-releaser-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitzg%2Fgithub-releaser-gradle-plugin/lists"}