diff options
author | sebastian.sellmair <sebastian.sellmair@jetbrains.com> | 2020-07-08 12:15:30 +0200 |
---|---|---|
committer | Sebastian Sellmair <34319766+sellmair@users.noreply.github.com> | 2020-07-08 18:59:57 +0200 |
commit | 4f9e180a1f9e9e0432bf1aed379c024736623d12 (patch) | |
tree | d6f3bba272a38a4c52ae60f90a8c9a74bb1ace5f /buildSrc | |
parent | caf48e76f3bff5e9907cd094cf0719f623e528d5 (diff) | |
download | dokka-4f9e180a1f9e9e0432bf1aed379c024736623d12.tar.gz dokka-4f9e180a1f9e9e0432bf1aed379c024736623d12.tar.bz2 dokka-4f9e180a1f9e9e0432bf1aed379c024736623d12.zip |
Implement SetupMaven task
Diffstat (limited to 'buildSrc')
-rw-r--r-- | buildSrc/src/main/kotlin/org/jetbrains/SetupMaven.kt | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/buildSrc/src/main/kotlin/org/jetbrains/SetupMaven.kt b/buildSrc/src/main/kotlin/org/jetbrains/SetupMaven.kt new file mode 100644 index 00000000..519eea13 --- /dev/null +++ b/buildSrc/src/main/kotlin/org/jetbrains/SetupMaven.kt @@ -0,0 +1,49 @@ +package org.jetbrains + +import org.gradle.api.DefaultTask +import org.gradle.api.artifacts.Configuration +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Internal +import org.gradle.api.tasks.Sync +import org.gradle.kotlin.dsl.creating +import org.gradle.kotlin.dsl.dependencies +import org.gradle.kotlin.dsl.getValue +import java.io.File + +@Suppress("LeakingThis") +open class SetupMaven : Sync() { + @get:Input + var mavenVersion = "3.5.0" + + @get:Input + var mavenPluginToolsVersion = "3.5.2" + + @get:Input + var aetherVersion = "1.1.0" + + @get:Internal + val mavenBuildDir = "${project.buildDir}/maven" + + @get:Internal + val mavenBinDir = "${project.buildDir}/maven-bin" + + @get:Internal + val mvn = File(mavenBinDir, "apache-maven-$mavenVersion/bin/mvn") + + private val mavenBinaryConfiguration: Configuration by project.configurations.creating { + project.dependencies { + this@creating.invoke( + group = "org.apache.maven", + name = "apache-maven", + version = mavenVersion, + classifier = "bin", ext = "zip" + ) + } + } + + init { + from(mavenBinaryConfiguration.map { file -> project.zipTree(file) }) + into(mavenBinDir) + } + +} |