30 lines
1.6 KiB
Groovy
30 lines
1.6 KiB
Groovy
task preparePublication {
|
|
def properties = project.properties
|
|
assert project.version != 'unspecified'
|
|
|
|
Map<String, String> repositoryProviders = ['sonatype-nexus-staging' : 'sonatype', 'sonatype-nexus-snapshots' : 'sonatype']
|
|
project.ext.isRelease = !project.version.toString().contains('-SNAPSHOT')
|
|
|
|
String repo = properties["deployRepo"] ?: properties['deploy-repo']
|
|
String repoProvider = repositoryProviders.get(repo, repo)
|
|
project.ext.isSonatypePublish = repoProvider == 'sonatype'
|
|
project.ext.isSonatypeRelease = isSonatypePublish && isRelease
|
|
|
|
String deployRepoUrl = properties["deployRepoUrl"] ?: properties["deploy-url"]
|
|
String deployFolder = properties["deployRepoFolder"] != null ? "file://${rootProject.buildDir}/${properties["deployRepoFolder"]}" : null
|
|
String sonatypeSnapshotsUrl = (isSonatypePublish && !isRelease) ? "https://oss.sonatype.org/content/repositories/snapshots/" : null
|
|
String deployUrlFromParameters = deployRepoUrl ?: deployFolder ?: sonatypeSnapshotsUrl
|
|
|
|
project.ext.isDeployStagingRepoGenerationRequired = project.ext.isSonatypeRelease && deployUrlFromParameters == null
|
|
|
|
ext.repoUrl = (deployUrlFromParameters ?: "file://${rootProject.buildDir}/repo").toString()
|
|
logger.info("Deployment repository preliminary url: ${ext.repoUrl} ($repoProvider)")
|
|
|
|
ext.username = properties["deployRepoUsername"] ?: properties["kotlin.${repoProvider}.user"]
|
|
ext.password = properties["deployRepoPassword"] ?: properties["kotlin.${repoProvider}.password"]
|
|
|
|
doLast {
|
|
println("Deployment repository url: ${ext.repoUrl}")
|
|
}
|
|
}
|