{"id":22165346,"url":"https://github.com/firstdarkdev/keymaster","last_synced_at":"2025-03-24T16:13:43.119Z","repository":{"id":231403812,"uuid":"781711251","full_name":"firstdarkdev/keymaster","owner":"firstdarkdev","description":"A Gradle Plugin to sign your Jars with GPG","archived":false,"fork":false,"pushed_at":"2024-04-06T20:32:06.000Z","size":76,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-29T21:50:34.480Z","etag":null,"topics":["gpg","gradle","signing","verifi"],"latest_commit_sha":null,"homepage":"","language":"Java","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/firstdarkdev.png","metadata":{"files":{"readme":"readme.md","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":"2024-04-03T22:27:01.000Z","updated_at":"2024-08-21T08:46:30.000Z","dependencies_parsed_at":"2025-01-29T21:44:21.182Z","dependency_job_id":null,"html_url":"https://github.com/firstdarkdev/keymaster","commit_stats":null,"previous_names":["firstdarkdev/keymaster"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firstdarkdev%2Fkeymaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firstdarkdev%2Fkeymaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firstdarkdev%2Fkeymaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firstdarkdev%2Fkeymaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firstdarkdev","download_url":"https://codeload.github.com/firstdarkdev/keymaster/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245304873,"owners_count":20593626,"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":["gpg","gradle","signing","verifi"],"created_at":"2024-12-02T05:14:38.110Z","updated_at":"2025-03-24T16:13:43.099Z","avatar_url":"https://github.com/firstdarkdev.png","language":"Java","readme":"## KeyMaster\n\nA Simple Gradle plugin to help you sign your jars.\n\n***\n\n### Getting Started\n\nTo get started, you will a GPG key. If you already have this, you can skip it.\n\nIn a terminal, or in command line, run the following commands:\n\n```bash\n# generate the keys\ngpg --gen-key\n\n#export the private key with the specified id to a file\ngpg --output {private key file name and path} --armor --export-secret-keys {key-id}\n\n#export the public key with the specified id to a file\ngpg --output {public key file name and path} --armor --export {key-id}\n```\n\nAnswer the required questions, and your file will be generated once completed.\n\nCopy this file to a safe directory, somewhere you can access it easily. KEEP IT OUT OF YOUR GIT REPO\n\n### Installing the plugin\n\n\u003cdetails open=\"open\"\u003e\u003csummary\u003eGroovy DSL\u003c/summary\u003e\nTo use this plugin inside your project, first you have to add our maven.\n\nTo do this, open up `settings.gradle` and add the following:\n\n```groovy\npluginManagement {\n    repositories {\n        gradlePluginPortal()\n        maven {\n            url \"https://maven.firstdark.dev/releases\"\n        }\n    }\n}\n```\n\nNext, in your `build.gradle` add:\n\n![badge](https://maven.firstdarkdev.xyz/api/badge/latest/releases/dev/firstdark/keymaster/keymaster?color=40c14a\u0026name=keymaster)\n\n```groovy\nplugins {\n    id \"dev.firstdark.keymaster\" version \"VERSION\"\n}\n```\n\nReplace VERSION with the version above.\n\nFinally, add the following to `build.gradle` file:\n\n```groovy\nimport dev.firstdark.keymaster.tasks.SignJarTask\n\n// This is optional. These values can be configured on the task\nkeymaster {\n    // GPG Password\n    gpgPassword = \"123456\"\n    // GPG Key file, or String.\n    gpgKey = System.getenv(\"GPG_KEY\")\n    // Generate a .sig file for signed jars, to be used for verification\n    generateSignature = true\n}\n\n// Register a custom task to sign your jar\ntasks.register('signJar', SignJarTask) {\n    // Depend on the task used to build your project\n    dependsOn jar\n\n    // The input artifact. This can be a Task, File or File Name\n    artifactInput = jar\n\n    // Optional. Set the output name of the signed jar. This defaults to the artifactInput file name, and will overwrite it\n    outputFileName = \"testsign\"\n\n    // GPG Private key file or string. Not required when the extension is used\n    gpgKey = System.getenv(\"GPG_KEY\")\n\n    // GPG Private Key password. Not required when extension is used\n    gpgPassword = \"123456\"\n\n    // Should the task generate a .sig file. Defaults to true, and not required when extension is used\n    generateSignature = false\n}\n```\n\nThat's all there is to it. You can use this custom task as an input for maven publishing, [modpublisher](https://github.com/firstdarkdev/modpublisher) or any other task that takes in a file\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eKotlin DSL\u003c/summary\u003e\nTo use this plugin inside your project, first you have to add our maven.\n\nTo do this, open up `settings.gradle.kts` and add the following:\n\n```kotlin\npluginManagement {\n    repositories {\n        gradlePluginPortal()\n        maven {\n            url = uri(\"https://maven.firstdark.dev/releases\")\n        }\n    }\n}\n```\n\nNext, in your `build.gradle.kts` add:\n\n![badge](https://maven.firstdarkdev.xyz/api/badge/latest/releases/dev/firstdark/keymaster/keymaster?color=40c14a\u0026name=keymaster)\n\n```kotlin\nplugins {\n    id(\"com.hypherionmc.modutils.modpublisher\") version \"VERSION\"\n}\n```\n\nReplace VERSION with the version above.\n\nFinally, add the following to `build.gradle.kts` file:\n\n```kotlin\nimport dev.firstdark.keymaster.tasks.SignJarTask\nimport org.gradle.kotlin.dsl.register\n\n// This is optional. These values can be configured on the task\nextensions.configure\u003cKeymasterExtension\u003e(\"keymaster\") {\n    // GPG Password\n    gpgPassword = \"123456\"\n    // GPG Key file, or String.\n    gpgKey = System.getenv(\"GPG_KEY\")\n    // Generate a .sig file for signed jars, to be used for verification\n    generateSignature = true\n}\n\n// Register a custom task to sign your jar\ntasks.register(\"signJar\", SignJarTask::class) {\n    // Depend on the task used to build your project\n    dependsOn(tasks.jar)\n\n    // The input artifact. This can be a Task, File or File Name\n    artifactInput = tasks.jar\n\n    // Optional. Set the output name of the signed jar. This defaults to the artifactInput file name, and will overwrite it\n    outputFileName = \"testsign\"\n\n    // GPG Private key file or string. Not required when the extension is used\n    gpgKey = System.getenv(\"GPG_KEY\")\n\n    // GPG Private Key password. Not required when extension is used\n    gpgPassword = \"123456\"\n\n    // Should the task generate a .sig file. Defaults to true, and not required when extension is used\n    generateSignature = false\n}\n```\n\nThat's all there is to it. You can use this custom task as an input for maven publishing, [modpublisher](https://github.com/firstdarkdev/modpublisher) or any other task that takes in a file\n\u003c/details\u003e\n\n***\n\nIf you need any other help, open an issue, or visit us on [Discord](https://discord.firstdark.dev)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirstdarkdev%2Fkeymaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirstdarkdev%2Fkeymaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirstdarkdev%2Fkeymaster/lists"}