{"id":19656711,"url":"https://github.com/daggerok/github-release-plugin-example","last_synced_at":"2026-03-02T09:02:26.873Z","repository":{"id":151041708,"uuid":"139085023","full_name":"daggerok/github-release-plugin-example","owner":"daggerok","description":"de.jutzig/github-release-plugin usage. real-world example: https://github.com/daggerok/streaming-file-server/blob/master/pom.xml","archived":false,"fork":false,"pushed_at":"2018-06-29T01:47:11.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-27T02:23:49.930Z","etag":null,"topics":["github-release-plugin"],"latest_commit_sha":null,"homepage":null,"language":null,"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/daggerok.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2018-06-29T01:15:49.000Z","updated_at":"2018-06-29T01:47:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"31c4b3ee-d5e9-42e9-91c2-418bb2aed555","html_url":"https://github.com/daggerok/github-release-plugin-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/daggerok/github-release-plugin-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fgithub-release-plugin-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fgithub-release-plugin-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fgithub-release-plugin-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fgithub-release-plugin-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daggerok","download_url":"https://codeload.github.com/daggerok/github-release-plugin-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fgithub-release-plugin-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29996273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T01:47:34.672Z","status":"online","status_checked_at":"2026-03-02T02:00:07.342Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["github-release-plugin"],"created_at":"2024-11-11T15:28:40.784Z","updated_at":"2026-03-02T09:02:26.850Z","avatar_url":"https://github.com/daggerok.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"= github-release-plugin-example\n\n== configuration\n\n.add plugin configuration in deploy phase:\n[source,xml]\n----\n\u003cbuild\u003e\n  \u003cplugins\u003e\n    \u003cplugin\u003e\n      \u003cgroupId\u003ede.jutzig\u003c/groupId\u003e\n      \u003cartifactId\u003egithub-release-plugin\u003c/artifactId\u003e\n      \u003cversion\u003e1.1.1\u003c/version\u003e\n\n      \u003c!-- publish release on deploy phase --\u003e\n      \u003cexecutions\u003e\n        \u003cexecution\u003e\n          \u003cid\u003erelease\u003c/id\u003e\n          \u003cphase\u003edeploy\u003c/phase\u003e\n        \u003c/execution\u003e\n      \u003c/executions\u003e\n\n      \u003cconfiguration\u003e\n        \u003creleaseName\u003ev${project.version}\u003c/releaseName\u003e\n        \u003ctag\u003e${project.version}\u003c/tag\u003e\n\n        \u003c!-- re-release same version (not fail if relase exists) --\u003e\n        \u003coverwriteArtifact\u003etrue\u003c/overwriteArtifact\u003e\n\n        \u003c!-- in fileSets add all files you wanna release: --\u003e\n        \u003cfileSets\u003e\n          \u003cfileSet\u003e\n            \u003cdirectory\u003e${project.basedir}/scripts\u003c/directory\u003e\n            \u003cincludes\u003e\n              \u003cinclude\u003eapplication*.bash\u003c/include\u003e\n              \u003cinclude\u003eapplication*.cmd\u003c/include\u003e\n            \u003c/includes\u003e\n          \u003c/fileSet\u003e\n          \u003cfileSet\u003e\n            \u003cdirectory\u003e${project.basedir}/modules/docker/postgres\u003c/directory\u003e\n            \u003cincludes\u003e\n              \u003cinclude\u003edocker-compose.yml\u003c/include\u003e\n            \u003c/includes\u003e\n          \u003c/fileSet\u003e\n          \u003cfileSet\u003e\n            \u003cdirectory\u003e${project.basedir}/modules/apps/file-items-service/build/libs\u003c/directory\u003e\n            \u003cincludes\u003e\n              \u003cinclude\u003e*.jar\u003c/include\u003e\n            \u003c/includes\u003e\n          \u003c/fileSet\u003e\n          \u003cfileSet\u003e\n            \u003cdirectory\u003e${project.basedir}/modules/apps/file-server/build/libs\u003c/directory\u003e\n            \u003cincludes\u003e\n              \u003cinclude\u003e*.jar\u003c/include\u003e\n            \u003c/includes\u003e\n          \u003c/fileSet\u003e\n        \u003c/fileSets\u003e\n      \u003c/configuration\u003e\n    \u003c/plugin\u003e\n  \u003c/plugins\u003e\n\u003c/build\u003e\n----\n\n.important: add to `pom.xml` file proper configurations (connection url proto must be https, not git if you are using username / password credentials):\n[source,xml]\n----\n\u003cscm\u003e\n  \u003c!-- important! must be https if you ganna push using github username/password creds --\u003e\n  \u003cconnection\u003escm:git:https://github.com/daggerok/streaming-file-server.git\u003c/connection\u003e\n\n  \u003curl\u003ehttps://github.com/daggerok/streaming-file-server.git\u003c/url\u003e\n  \u003cdeveloperConnection\u003escm:git:git@github.com:daggerok/streaming-file-server.git\u003c/developerConnection\u003e\n  \u003ctag\u003eHEAD\u003c/tag\u003e\n\u003c/scm\u003e\n----\n\n.finally update your `~/.m2/settings.xml` file: put here your github credentials for server `github`\n[source,xml]\n----\n\u003csettings\u003e\n  \u003cservers\u003e\n    \u003cserver\u003e\n      \u003cid\u003egithub\u003c/id\u003e\n      \u003cusername\u003eGITHUB_USERNAME\u003c/username\u003e\n      \u003cpassword\u003eGITHUB_PASSWORD\u003c/password\u003e\n    \u003c/server\u003e\n  \u003c/servers\u003e\n\u003c/settings\u003e\n----\n      \n== usage\n\n.we need maven goal `de.jutzig:github-release-plugin:1.1.1:release`\n[source,bash]\n----\n./mvnw de.jutzig:github-release-plugin:1.1.1:release\n----\n\n== tips\n\n=== default goals\n\n.to simplify command just add default goal, so maven will execute it for you automatically\n[source,xml]\n----\n\u003cdefaultGoal\u003eexec:exec de.jutzig:github-release-plugin:1.1.1:release\u003c/defaultGoal\u003e\n----\n\n.now, for release you can just use maven wrapper with no arguments, like so:\n[source,bash]\n----\n./mvnw\n----\n\n=== override username / password on runtime\n\n.set username / password for publishing release to gituhb:\n[source,bash]\n----\n./mvnw -Dusername=ololo -Dpassword=trololo\n----\n\n=== draft release\n\n.to creates the release in draft state, run command:\n[source,bash]\n----\n./mvnw -Dgithub.draft=true\n----\n\n=== windows / unix profiles\n\nLets assume for project build we are isong different commands / shell scripts\nfor different systems, such as windows, linux, mac os x...\n\n.windows\n[source,cmd]\n----\ngradlew.bat clean build\n----\n\n.non windows (linux, mac, etc...)\n[source,bash]\n----\n./gradlew clean build\n----\n\nso before release we need build project with there commands depends on OS we are working.\nto do so we can introduse maven profiles and use proper scripts bor build refore release:\n\n.pom.xml\n[source,xml]\n----\n\u003cbuild\u003e\n  \u003cplugins\u003e\n    \u003cplugin\u003e\n      \u003cgroupId\u003eorg.codehaus.mojo\u003c/groupId\u003e\n      \u003cartifactId\u003eexec-maven-plugin\u003c/artifactId\u003e\n      \u003cversion\u003e1.6.0\u003c/version\u003e\n      \u003cexecutions\u003e\n        \u003cexecution\u003e\n          \u003cid\u003ecompile-gradle\u003c/id\u003e\n          \u003cphase\u003einitialize\u003c/phase\u003e\n          \u003cgoals\u003e\n            \u003cgoal\u003eexec\u003c/goal\u003e\n          \u003c/goals\u003e\n        \u003c/execution\u003e\n      \u003c/executions\u003e\n      \u003cconfiguration\u003e\n        \u003cexecutable\u003e${gradle.executable}\u003c/executable\u003e\n        \u003carguments\u003e\n          \u003cargument\u003eclean\u003c/argument\u003e\n          \u003cargument\u003ebuild\u003c/argument\u003e\n        \u003c/arguments\u003e\n      \u003c/configuration\u003e\n    \u003c/plugin\u003e\n\n    \u003cplugin\u003e\n      \u003cgroupId\u003ede.jutzig\u003c/groupId\u003e\n      \u003cartifactId\u003egithub-release-plugin\u003c/artifactId\u003e\n      \u003cversion\u003e1.1.1\u003c/version\u003e\n      \u003cexecutions\u003e\n        \u003cexecution\u003e\n          \u003cid\u003erelease\u003c/id\u003e\n          \u003cphase\u003edeploy\u003c/phase\u003e\n        \u003c/execution\u003e\n      \u003c/executions\u003e\n      \u003cconfiguration\u003e\n        \u003coverwriteArtifact\u003etrue\u003c/overwriteArtifact\u003e\n        \u003cdescription\u003e${project.artifactId} release\u003c/description\u003e\n        \u003creleaseName\u003ev${project.version}\u003c/releaseName\u003e\n        \u003ctag\u003e${project.version}\u003c/tag\u003e\n        \u003cfileSets\u003e\n          \u003cfileSet\u003e\n            \u003cdirectory\u003e${project.basedir}/scripts\u003c/directory\u003e\n            \u003cincludes\u003e\n              \u003cinclude\u003eapplication*.bash\u003c/include\u003e\n              \u003cinclude\u003eapplication*.cmd\u003c/include\u003e\n            \u003c/includes\u003e\n          \u003c/fileSet\u003e\n          \u003cfileSet\u003e\n            \u003cdirectory\u003e${project.basedir}/modules/docker/postgres\u003c/directory\u003e\n            \u003cincludes\u003e\n              \u003cinclude\u003edocker-compose.yml\u003c/include\u003e\n            \u003c/includes\u003e\n          \u003c/fileSet\u003e\n          \u003cfileSet\u003e\n            \u003cdirectory\u003e${project.basedir}/modules/apps/file-items-service/build/libs\u003c/directory\u003e\n            \u003cincludes\u003e\n              \u003cinclude\u003e*.jar\u003c/include\u003e\n            \u003c/includes\u003e\n          \u003c/fileSet\u003e\n          \u003cfileSet\u003e\n            \u003cdirectory\u003e${project.basedir}/modules/apps/file-server/build/libs\u003c/directory\u003e\n            \u003cincludes\u003e\n              \u003cinclude\u003e*.jar\u003c/include\u003e\n            \u003c/includes\u003e\n          \u003c/fileSet\u003e\n        \u003c/fileSets\u003e\n      \u003c/configuration\u003e\n    \u003c/plugin\u003e\n  \u003c/plugins\u003e\n\u003c/build\u003e\n\n\u003cprofiles\u003e\n  \u003cprofile\u003e\n    \u003cid\u003ewin\u003c/id\u003e\n    \u003cactivation\u003e\n      \u003cos\u003e\n        \u003cfamily\u003eWindows\u003c/family\u003e\n      \u003c/os\u003e\n    \u003c/activation\u003e\n    \u003cproperties\u003e\n      \u003cgradle.executable\u003egradlew.bat\u003c/gradle.executable\u003e\n    \u003c/properties\u003e\n  \u003c/profile\u003e\n  \u003cprofile\u003e\n    \u003cid\u003enix\u003c/id\u003e\n    \u003cactivation\u003e\n      \u003cos\u003e\n        \u003cfamily\u003eunix\u003c/family\u003e\n      \u003c/os\u003e\n    \u003c/activation\u003e\n    \u003cproperties\u003e\n      \u003cgradle.executable\u003e./gradlew\u003c/gradle.executable\u003e\n    \u003c/properties\u003e\n  \u003c/profile\u003e\n\u003c/profiles\u003e\n----\n\nlinks:\n\n- link:https://github.com/jutzig/github-release-plugin[plugin home page]\n- link:https://github.com/daggerok/streaming-file-server/blob/master/pom.xml[real world usage example]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaggerok%2Fgithub-release-plugin-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaggerok%2Fgithub-release-plugin-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaggerok%2Fgithub-release-plugin-example/lists"}