{"id":36602498,"url":"https://github.com/yananhub/flying-gradle-plugin","last_synced_at":"2026-01-12T08:39:59.941Z","repository":{"id":244827391,"uuid":"813619970","full_name":"yananhub/flying-gradle-plugin","owner":"yananhub","description":"A plugin that allows you to publish repositories to the Maven Central Portal (new publish process)","archived":false,"fork":false,"pushed_at":"2024-11-16T15:20:17.000Z","size":148,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-16T16:18:43.968Z","etag":null,"topics":["build-plugins","maven","maven-central","maven-central-portal","maven-publish"],"latest_commit_sha":null,"homepage":"","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/yananhub.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-06-11T12:25:41.000Z","updated_at":"2024-11-16T15:25:30.000Z","dependencies_parsed_at":"2024-06-28T02:32:02.866Z","dependency_job_id":"2a754c10-812c-4160-a4e7-537f9eaefc64","html_url":"https://github.com/yananhub/flying-gradle-plugin","commit_stats":null,"previous_names":["yananhub/flying-gradle-plugin"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/yananhub/flying-gradle-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yananhub%2Fflying-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yananhub%2Fflying-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yananhub%2Fflying-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yananhub%2Fflying-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yananhub","download_url":"https://codeload.github.com/yananhub/flying-gradle-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yananhub%2Fflying-gradle-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28337599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["build-plugins","maven","maven-central","maven-central-portal","maven-publish"],"created_at":"2026-01-12T08:39:59.215Z","updated_at":"2026-01-12T08:39:59.935Z","avatar_url":"https://github.com/yananhub.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Read this in other languages: [English](README.md), [中文](README_zh.md).**\n\n# Maven Central Portal publish plugin (new publish process)\n\nAccording to Sonatype, the Central Portal will replace the legacy OSSRH service for publishing.\nHowever, there is currently no official Gradle plugin to do this.\nThis project is based on Gradle built-in plugin to implement it.\nThe general idea is to use Gradle's built-in \"maven-publish\" plugin to publish the package to the local repository,\nthen package the resources in the local repository into a bundle, and finally upload it to the Maven Central Portal.\n\nTo use the plugin, just add the following to the `build.gradle` file:\n\n```groovy\nplugins {\n    id 'maven-publish'\n    id 'signing'\n    // The Central Portal publish plugin\n    id 'tech.yanand.maven-central-publish' version 'x.y.z'\n}\n\njava {\n    // Sonatype officially requires Java source and Java doc\n    withJavadocJar()\n    withSourcesJar()\n}\n\npublishing {\n    publications {\n        mavenJava(MavenPublication) {\n            from components.java\n\n            pom {\n                // Please define according to Sonatype official requirements\n            }\n        }\n    }\n\n    repositories {\n        // Starting from version 1.3.0, it does not need to configure the repository\n        maven {\n            name = \"Local\"\n            url = layout.buildDirectory.dir('repos/bundles')\n        }\n    }\n}\n\nsigning {\n    // About GPG signing, please refer to https://central.sonatype.org/publish/requirements/gpg/\n    def signingKey = '\u003cyour signing key\u003e'\n    def signingPassword = '\u003cyour signing password\u003e'\n    useInMemoryPgpKeys(signingKey, signingPassword)\n\n    sign publishing.publications.mavenJava\n}\n\nmavenCentral {\n    // Starting from version 1.3.0, it does not need to configure this item\n    repoDir = layout.buildDirectory.dir('repos/bundles')\n    // Token for Publisher API calls obtained from Sonatype official,\n    // it should be Base64 encoded of \"username:password\".\n    authToken = '\u003cyour token\u003e'\n    // Whether the upload should be automatically published or not. Use 'USER_MANAGED' if you wish to do this manually.\n    // This property is optional and defaults to 'AUTOMATIC'.\n    publishingType = 'AUTOMATIC'\n    // Max wait time for status API to get 'PUBLISHING' or 'PUBLISHED' status when the publishing type is 'AUTOMATIC',\n    // or additionally 'VALIDATED' when the publishing type is 'USER_MANAGED'.\n    // This property is optional and defaults to 60 seconds.\n    maxWait = 60\n}\n```\n\nFor details on the requirements for publishing Maven components, refer to the\n[Sonatype official documentation](https://central.sonatype.org/publish/requirements/).\n\nUpload the bundle by using the `publish` and `publishToMavenCentralPortal` tasks:\n\n```shell\n$ ./gradlew publish publishToMavenCentralPortal\n```\n\nSince version 1.3.0, the execution `publishToMavenCentralPortal` task before no longer need to execute `publish` task:\n\n```shell\n$ ./gradlew publishToMavenCentralPortal\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyananhub%2Fflying-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyananhub%2Fflying-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyananhub%2Fflying-gradle-plugin/lists"}