Files
de.captica.expert.devops/gradle/build-mavenpublish.gradle

54 lines
1.3 KiB
Groovy

/*
* Enables maven publish handling on build process
*
* Project: gradle
* Author: Marc Böhm <marc.boehm@captica.de>
* License: MIT License (see LICENSE.md)
*
* Copyright (c) captica GmbH est. 2021
*/
// Load external plugins
buildscript {
repositories {
gradlePluginPortal()
mavenCentral()
}
}
project.ext {
mavenAccessToken = ( project.hasProperty('MAVEN_PUBLISH_ACCESS_TOKEN') ? MAVEN_PUBLISH_ACCESS_TOKEN : null )
mavenRepositoryUrl = ( project.hasProperty('MAVEN_PUBLISH_REPOSITORY_URL') ? MAVEN_PUBLISH_REPOSITORY_URL : null )
}
// Fail fast
if ( mavenAccessToken == null || mavenRepositoryUrl == null ) {
throw new GradleScriptException("Missing required properties: MAVEN_PUBLISH_ACCESS_TOKEN and MAVEN_PUBLISH_REPOSITORY_URL", null)
}
// Apply plugins
apply plugin: 'maven-publish'
// Configure maven publish
publishing {
publications {
bootJava(MavenPublication) {
artifact tasks.named("bootJar")
}
}
repositories {
maven {
name = "git.captica.de"
url uri(mavenRepositoryUrl)
credentials(HttpHeaderCredentials) {
name = "Authorization"
value = "token ${mavenAccessToken}"
}
authentication {
header(HttpHeaderAuthentication)
}
}
}
}