{"id":20617816,"url":"https://github.com/cyclonedx/cyclonedx-gradle-plugin","last_synced_at":"2026-02-13T18:09:26.220Z","repository":{"id":37697884,"uuid":"135457932","full_name":"CycloneDX/cyclonedx-gradle-plugin","owner":"CycloneDX","description":"Creates CycloneDX Software Bill of Materials (SBOM) from Gradle projects","archived":false,"fork":false,"pushed_at":"2025-04-29T12:19:22.000Z","size":1125,"stargazers_count":186,"open_issues_count":65,"forks_count":81,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-16T11:05:36.982Z","etag":null,"topics":["bill-of-materials","bom","cyclonedx","gradle","gradle-plugin","owasp","package-url","purl","sbom","sbom-generator","software-bill-of-materials","spdx"],"latest_commit_sha":null,"homepage":"https://cyclonedx.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CycloneDX.png","metadata":{"files":{"readme":"README-GradlePluginPortal.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["https://owasp.org/donate/?reponame=www-project-cyclonedx\u0026title=OWASP+CycloneDX"]}},"created_at":"2018-05-30T14:52:05.000Z","updated_at":"2025-05-01T07:37:38.000Z","dependencies_parsed_at":"2023-10-12T18:30:57.198Z","dependency_job_id":"e84f90cf-60db-4b06-bbca-d1252827efd3","html_url":"https://github.com/CycloneDX/cyclonedx-gradle-plugin","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CycloneDX%2Fcyclonedx-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CycloneDX%2Fcyclonedx-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CycloneDX%2Fcyclonedx-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CycloneDX%2Fcyclonedx-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CycloneDX","download_url":"https://codeload.github.com/CycloneDX/cyclonedx-gradle-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254518383,"owners_count":22084374,"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":["bill-of-materials","bom","cyclonedx","gradle","gradle-plugin","owasp","package-url","purl","sbom","sbom-generator","software-bill-of-materials","spdx"],"created_at":"2024-11-16T12:06:05.909Z","updated_at":"2026-02-13T18:09:26.208Z","avatar_url":"https://github.com/CycloneDX.png","language":"Java","funding_links":["https://owasp.org/donate/?reponame=www-project-cyclonedx\u0026title=OWASP+CycloneDX"],"categories":[],"sub_categories":[],"readme":"# Gradle Plugin Portal publishing\n\nGradle provides a registry of published plugins that can easily be imported\ninto projects without having to modify the pluginManagement resolutionStrategy.\n\nAdditionally, gradle provides a plugin to facilitate the building of plugins\nthat does extra validation checks, and another plugin that simplifies the\npublishing of plugins to the portal.\n\n# Register At Gradle Plugin Portal\n\nIn order to publish plugins in the portal, you need to register for an account\nand retrieve your API key.  See their \n[website](https://guides.gradle.org/publishing-plugins-to-gradle-plugin-portal/#create_an_account_on_the_gradle_plugin_portal)\nfor more details.  A summary of steps is listed below.\n\n## Instructions Summary\n\n* Go to https://plugins.gradle.org/user/register\n* Register for an account\n* Log in\n* Go to user page\n* Go to API Keys\n* Generate publishing API keys\n* Copy contents of textbox to `~/.gradle/gradle.properties`\n\n# Build Gradle Plugin\n\nThough the maven pom.xml is currently the maintained build file for this\nplugin, a `build.gradle` file is also provided that can build the plugin\nand publish it to the portal. Note that the `version` value in the \n`build.gradle` file must be _manually maintained_ in sync with the one\nin the maven pom.xml \n \nAdditionally, per standard gradle convention, a gradle wrapper pinned at \na specific version is provided to reduce build environment dependencies.\n\nPerforming a build of the plugin is achieved by running\n\n```\n./gradlew clean build\n```\n\nThe plugin will be output to `builds/libs`, and the plugin descriptor output \nto `builds/pluginDescriptors`.\n\n# Publish locally for testing\n\nTo use the gradle build to publish the plugin locally for testing, use\n\n```\n./gradlew publishToMavenLocal\n```\n\nIn order to use this locally published plugin, you must declare `mavenLocal()` as repository in the `pluginManagement` section\nof your `settings.gradle` file:\n\n\n```\npluginManagement {\n    repositories {\n        mavenLocal()\n        gradlePluginPortal()\n    }\n}\n```\n\n# Publish to Gradle Plugin Portal\n\nTo publish the plugin to the Gradle Plugin Portal, you must first have set\nup your plugin portal credentials, as describe above.  Ensure that the\n`version` field in the `build.gradle` is set to the desired value.  Then \nsimply run:\n\n```\n./gradlew publishPlugins\n```\n\nIf this is the first time the plugin has been published, the name may need\nto be approved by the portal maintainers.  This typically takes about 12 hours\nduring the work week.  You will see on your portal user console page that\nyour plugin is marked 'Pending approval'.  After it is approved, the API\ncredentials used to publish will 'own' the plugin name, and plugins will be\navailable in the portal immediately after publishing.  Note that every plugin\nmust be published with a NEW version.  There is no automatic overwriting of\n`-SNAPSHOT` versions.  Also you have up to 1 week after publishing to delete\nan uploaded version if you need to remove it.  After that time you need to \nrequest support to delete an uploaded version.\n\n# Using Portal Published Plugin\n\nTo use a portal published version of the plugin, the `settings.gradle` file\nmodifying the resolutionStrategy is not needed and should be removed.  Instead,\nusers can just use the plugin DSL to import the plugin.  Note, however, that \nportal plugins _must_ specify the desired version in the DSL.\n\n```\nplugins {\n    id 'org.cyclonedx.bom' version '1.2.1'\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclonedx%2Fcyclonedx-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyclonedx%2Fcyclonedx-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclonedx%2Fcyclonedx-gradle-plugin/lists"}