aboutsummaryrefslogtreecommitdiff
path: root/buildSrc
diff options
context:
space:
mode:
authorsebastian.sellmair <sebastian.sellmair@jetbrains.com>2020-07-08 12:15:30 +0200
committerSebastian Sellmair <34319766+sellmair@users.noreply.github.com>2020-07-08 18:59:57 +0200
commit4f9e180a1f9e9e0432bf1aed379c024736623d12 (patch)
treed6f3bba272a38a4c52ae60f90a8c9a74bb1ace5f /buildSrc
parentcaf48e76f3bff5e9907cd094cf0719f623e528d5 (diff)
downloaddokka-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.kt49
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)
+ }
+
+}