From 27dbe07bd28cf7717e8600bf58d4fab404bfe220 Mon Sep 17 00:00:00 2001 From: David Hiendl Date: Mon, 26 Sep 2022 16:00:41 +0200 Subject: [PATCH] Initial commit --- gradle/GitlabMavenRepo.gradle | 43 +++++++++++++++++++++++++++++++++++ gradle/README.md | 0 2 files changed, 43 insertions(+) create mode 100644 gradle/GitlabMavenRepo.gradle create mode 100644 gradle/README.md diff --git a/gradle/GitlabMavenRepo.gradle b/gradle/GitlabMavenRepo.gradle new file mode 100644 index 0000000..91e1ede --- /dev/null +++ b/gradle/GitlabMavenRepo.gradle @@ -0,0 +1,43 @@ +def addGitlabGroupRepository(RepositoryHandler handler, String groupName, String groupId) { + handler.maven { + name "Gitlab Group - $groupName" + url = "${gitlabCiApiUrl}/groups/${groupId}/-/packages/maven" + setGitlabRepoAuth(it) + } +} + +def addGitlabPublishingRepository(RepositoryHandler handler) { + handler.maven { + name = "Gitlab_Project" + url = "${gitlabCiApiUrl}/projects/${gitlabCiProjectId}/packages/maven" + setGitlabRepoAuth(it) + } +} + +def setGitlabRepoAuth(MavenArtifactRepository maven) { + if (System.getenv("CI_JOB_TOKEN") != null) { + maven.credentials(HttpHeaderCredentials) { + name = 'Job-Token' + value = System.getenv("CI_JOB_TOKEN") + } + } else if (gitlabPrivateToken != null) { + maven.credentials(HttpHeaderCredentials) { + name = 'Private-Token' + value = gitlabPrivateToken + } + + } else { + throw Exception("No gitlab maven repository auth configured") + } + + maven.authentication { + header(HttpHeaderAuthentication) + } +} + +// Export methods by turning them into closures +ext { + setGitlabRepoAuth = this.&setGitlabRepoAuth + addGitlabPublishingRepository = this.&addGitlabPublishingRepository + addGitlabGroupRepository = this.&addGitlabGroupRepository +} diff --git a/gradle/README.md b/gradle/README.md new file mode 100644 index 0000000..e69de29