{"id":18966926,"url":"https://github.com/link-intersystems/lis-gradle-common-plugins","last_synced_at":"2026-07-22T20:32:46.812Z","repository":{"id":232924536,"uuid":"785542433","full_name":"link-intersystems/lis-gradle-common-plugins","owner":"link-intersystems","description":"Plugins to deploy libraries to the maven central repository.","archived":false,"fork":false,"pushed_at":"2024-10-06T05:41:47.000Z","size":139,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T12:35:14.728Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/link-intersystems.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,"zenodo":null}},"created_at":"2024-04-12T05:08:41.000Z","updated_at":"2024-10-06T05:41:51.000Z","dependencies_parsed_at":"2024-08-14T08:24:27.556Z","dependency_job_id":"a8b295e7-a31b-4e67-bbe7-65b1c374243a","html_url":"https://github.com/link-intersystems/lis-gradle-common-plugins","commit_stats":null,"previous_names":["link-intersystems/lis-gradle-maven-central"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/link-intersystems/lis-gradle-common-plugins","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/link-intersystems%2Flis-gradle-common-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/link-intersystems%2Flis-gradle-common-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/link-intersystems%2Flis-gradle-common-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/link-intersystems%2Flis-gradle-common-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/link-intersystems","download_url":"https://codeload.github.com/link-intersystems/lis-gradle-common-plugins/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/link-intersystems%2Flis-gradle-common-plugins/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35777194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"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":[],"created_at":"2024-11-08T14:39:07.580Z","updated_at":"2026-07-22T20:32:46.797Z","avatar_url":"https://github.com/link-intersystems.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Java CI with Maven](https://github.com/link-intersystems/lis-gradle-maven-central/workflows/Java%20CI%20with%20Gradle/badge.svg)\n\nThis repository contains plugins that configure builds to deploy artefacts to maven central using the sonatype proxy.  \n\n# Plugins\n\n## com.link-intersystems.gradle.maven-central-project [![Maven Central Version](https://img.shields.io/maven-central/v/com.link-intersystems.gradle.maven-central-project/com.link-intersystems.gradle.maven-central-project.gradle.plugin)](https://repo1.maven.org/maven2/com/link-intersystems/gradle/maven-central-project/com.link-intersystems.gradle.maven-central-project.gradle.plugin/)\n\nAdd this plugin to the root project's `build.gradle.kts`\n\n```kotlin\n// build.gradle.kts\nplugins {\n    id(\"com.link-intersystems.gradle.maven-central-project\") version \"+\" // set a specific version\n}\n```\n\n## com.link-intersystems.gradle.published-artifact [![Maven Central Version](https://img.shields.io/maven-central/v/com.link-intersystems.gradle.published-artifact/com.link-intersystems.gradle.published-artifact.gradle.plugin)](https://repo1.maven.org/maven2/com/link-intersystems/gradle/published-artifact/com.link-intersystems.gradle.published-artifact.gradle.plugin/)\n\nThis the base plugin for the other more specific plugins listed below. It configures maven-publish and the signing plugin \n\n```kotlin\n// build.gradle.kts\nplugins {\n    id(\"com.link-intersystems.gradle.published-artifact\") version \"+\" // set a specific version\n}\n```\n\nThe configured signing plugin expects that the following project properties are set:\n\n| Project Property | Description                                               |\n|------------------|-----------------------------------------------------------|\n| signingKey       | The private key to sign the artifacts with in PEM format. |\n| signingPassword  | The passphrase of the signing key.                        |\n\n\u003e [!TIP]\n\u003e You can set project properties via environment variables starting with ORG_GRADLE_PROJECT_\n\u003e \n\u003e ORG_GRADLE_PROJECT_signingKey\n\u003e ORG_GRADLE_PROJECT_signingPassword\n\n## com.link-intersystems.gradle.java-library [![Maven Central Version](https://img.shields.io/maven-central/v/com.link-intersystems.gradle.java-library/com.link-intersystems.gradle.java-library.gradle.plugin)](https://repo1.maven.org/maven2/com/link-intersystems/gradle/java-library/com.link-intersystems.gradle.java-library.gradle.plugin/)\n\nAdd this plugin to the project's `build.gradle.kts` that contains a java library to deploy.\n\n```kotlin\n// build.gradle.kts\nplugins {\n    id(\"com.link-intersystems.gradle.java-library\") version \"+\" // set a specific version\n}\n```\n\n## com.link-intersystems.gradle.java-platform [![Maven Central Version](https://img.shields.io/maven-central/v/com.link-intersystems.gradle.java-platform/com.link-intersystems.gradle.java-platform.gradle.plugin)](https://repo1.maven.org/maven2/com/link-intersystems/gradle/java-platform/com.link-intersystems.gradle.java-platform.gradle.plugin/)\n\nAdd this plugin to the project's `build.gradle.kts` that contains a java platform (aka BOM) to deploy. See [Sharing dependency versions between projects](https://docs.gradle.org/current/userguide/platforms.html) for details.\n\n```kotlin\n// build.gradle.kts\nplugins {\n    id(\"com.link-intersystems.gradle.java-platform\") version \"+\" // set a specific version\n}\n```\n\n## Maven Central Deployment Preconditions\n\n1. **Complete Maven POM information**\n\n    To deploy an artifact to the maven central repository via the sonatype staging repositories, you need to add more information\n    to the project pom in order to pass pre-deployment checks.\n\n    Add publishing information to generate a valid pom. Otherwise, sonatype deploy checks will fail when you try to\n    close the staging repository. E.g.\n\n    ```kotlin\n    // build.gradle.kts\n    publishing {\n        publications.withType\u003cMavenPublication\u003e {\n            pom {\n                name.set(\"Lis Gradle Maven Central\")\n                description.set(\"Plugins to deploy libraries to the maven central repository.\")\n                url.set(\"https://github.com/link-intersystems/lis-gradle-maven-central\")\n                licenses {\n                    license {\n                        name.set(\"Apache License, Version 2.0\")\n                        url.set(\"http://www.apache.org/licenses/LICENSE-2.0.txt\")\n                    }\n                }\n                developers {\n                    developer {\n                        id.set(\"rene.link\")\n                        name.set(\"René Link\")\n                        email.set(\"rene.link@link-intersystems.com\")\n                        organization.set(\"Link Intersystems GmbH\")\n                        organizationUrl.set(\"https://www.link-intersystems.com\")\n                        url.set(\"https://stackoverflow.com/users/974186/ren%C3%A9-link\")\n                        roles.set(listOf(\"developer\"))\n                    }\n                }\n                scm {\n                    url.set(\"https://github.com/link-intersystems/lis-gradle-maven-central\")\n                    connection.set(\"scm:git:https://github.com/link-intersystems/lis-gradle-maven-central.git\")\n                    developerConnection.set(\"scm:git:https://github.com/link-intersystems/lis-gradle-maven-central.git\")\n                }\n            }\n        }\n    }\n    ```\n   \n2. **Release Version**\n\n   Ensure that the project artifacts version is a release version (without -SNAPSHOT), before you publish.\n   Otherwise, the artifacts will be published to a sonatype snapshot repository and no staging repository is created.\n\n# How to deploy to maven central\n\nEnsure that all [preconditions](#maven-central-deployment-preconditions) are met.\n\nAll artifacts that are deployed to maven central need to be signed. Thus, you must provide a signingKey and signingPassword.\nTake a look at [com.link-intersystems.gradle.published-artifact](#comlink-intersystemsgradlepublished-artifact-) above.\n\nTo ease the deployment you can use the [`exportGpgSigning`](https://gist.github.com/renelink/6a12336b5282c94a69a598deddf295ab) bash function.\n\nAfter the gpg key and password is set you can just run `./gradlew publish`\n\n```shell\n$ ./gradlew publish\n\n\u003e Configure project :\nSigning publications\n\u003c-------------\u003e 3% EXECUTING [7s]\n\u003e :initializeSonatypeStagingRepository\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flink-intersystems%2Flis-gradle-common-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flink-intersystems%2Flis-gradle-common-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flink-intersystems%2Flis-gradle-common-plugins/lists"}