|
@@ -22,6 +22,7 @@ import org.elasticsearch.gradle.EmptyDirTask
|
|
|
import org.elasticsearch.gradle.LoggedExec
|
|
|
import org.elasticsearch.gradle.MavenFilteringHack
|
|
|
import org.elasticsearch.gradle.VersionProperties
|
|
|
+import org.elasticsearch.gradle.info.BuildParams
|
|
|
import org.elasticsearch.gradle.plugin.PluginBuildPlugin
|
|
|
import org.elasticsearch.gradle.tar.SymbolicLinkPreservingTar
|
|
|
|
|
@@ -35,17 +36,17 @@ apply plugin: 'base'
|
|
|
// create the directory that we want, and then point CopySpec to its
|
|
|
// parent to copy to the root of the distribution
|
|
|
ext.logsDir = new File(buildDir, 'logs-hack/logs')
|
|
|
-task createLogsDir(type: EmptyDirTask) {
|
|
|
+tasks.register('createLogsDir', EmptyDirTask) {
|
|
|
dir = "${logsDir}"
|
|
|
dirMode = 0755
|
|
|
}
|
|
|
ext.pluginsDir = new File(buildDir, 'plugins-hack/plugins')
|
|
|
-task createPluginsDir(type: EmptyDirTask) {
|
|
|
+tasks.register('createPluginsDir', EmptyDirTask) {
|
|
|
dir = "${pluginsDir}"
|
|
|
dirMode = 0755
|
|
|
}
|
|
|
ext.jvmOptionsDir = new File(buildDir, 'jvm-options-hack/jvm.options.d')
|
|
|
-task createJvmOptionsDir(type: EmptyDirTask) {
|
|
|
+tasks.register('createJvmOptionsDir', EmptyDirTask) {
|
|
|
dir = "${jvmOptionsDir}"
|
|
|
dirMode = 0750
|
|
|
}
|
|
@@ -102,7 +103,7 @@ CopySpec archiveFiles(CopySpec modulesFiles, String distributionType, String pla
|
|
|
}
|
|
|
|
|
|
// common config across all zip/tar
|
|
|
-tasks.withType(AbstractArchiveTask) {
|
|
|
+tasks.withType(AbstractArchiveTask).configureEach {
|
|
|
dependsOn createLogsDir, createPluginsDir, createJvmOptionsDir
|
|
|
String subdir = it.name.substring('build'.size()).replaceAll(/[A-Z]/) { '-' + it.toLowerCase() }.substring(1)
|
|
|
destinationDir = file("${subdir}/build/distributions")
|
|
@@ -114,30 +115,30 @@ Closure commonZipConfig = {
|
|
|
fileMode 0644
|
|
|
}
|
|
|
|
|
|
-task buildIntegTestZip(type: Zip) {
|
|
|
+tasks.register('buildIntegTestZip', Zip) {
|
|
|
configure(commonZipConfig)
|
|
|
with archiveFiles(transportModulesFiles, 'zip', null, 'x64', true, false)
|
|
|
}
|
|
|
|
|
|
-task buildWindowsZip(type: Zip) {
|
|
|
+tasks.register('buildWindowsZip', Zip) {
|
|
|
configure(commonZipConfig)
|
|
|
archiveClassifier = 'windows-x86_64'
|
|
|
with archiveFiles(modulesFiles(false, 'windows'), 'zip', 'windows', 'x64', false, true)
|
|
|
}
|
|
|
|
|
|
-task buildOssWindowsZip(type: Zip) {
|
|
|
+tasks.register('buildOssWindowsZip', Zip) {
|
|
|
configure(commonZipConfig)
|
|
|
archiveClassifier = 'windows-x86_64'
|
|
|
with archiveFiles(modulesFiles(true, 'windows'), 'zip', 'windows', 'x64', true, true)
|
|
|
}
|
|
|
|
|
|
-task buildNoJdkWindowsZip(type: Zip) {
|
|
|
+tasks.register('buildNoJdkWindowsZip', Zip) {
|
|
|
configure(commonZipConfig)
|
|
|
archiveClassifier = 'no-jdk-windows-x86_64'
|
|
|
with archiveFiles(modulesFiles(false, 'windows'), 'zip', 'windows', 'x64', false, false)
|
|
|
}
|
|
|
|
|
|
-task buildOssNoJdkWindowsZip(type: Zip) {
|
|
|
+tasks.register('buildOssNoJdkWindowsZip', Zip) {
|
|
|
configure(commonZipConfig)
|
|
|
archiveClassifier = 'no-jdk-windows-x86_64'
|
|
|
with archiveFiles(modulesFiles(true, 'windows'), 'zip', 'windows', 'x64', true, false)
|
|
@@ -150,61 +151,61 @@ Closure commonTarConfig = {
|
|
|
fileMode 0644
|
|
|
}
|
|
|
|
|
|
-task buildDarwinTar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildDarwinTar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'darwin-x86_64'
|
|
|
with archiveFiles(modulesFiles(false, 'darwin'), 'tar', 'darwin', 'x64', false, true)
|
|
|
}
|
|
|
|
|
|
-task buildOssDarwinTar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildOssDarwinTar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'darwin-x86_64'
|
|
|
with archiveFiles(modulesFiles(true, 'darwin'), 'tar', 'darwin', 'x64', true, true)
|
|
|
}
|
|
|
|
|
|
-task buildNoJdkDarwinTar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildNoJdkDarwinTar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'no-jdk-darwin-x86_64'
|
|
|
with archiveFiles(modulesFiles(false, 'darwin'), 'tar', 'darwin', 'x64', false, false)
|
|
|
}
|
|
|
|
|
|
-task buildOssNoJdkDarwinTar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildOssNoJdkDarwinTar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'no-jdk-darwin-x86_64'
|
|
|
with archiveFiles(modulesFiles(true, 'darwin'), 'tar', 'darwin', 'x64', true, false)
|
|
|
}
|
|
|
|
|
|
-task buildLinuxAarch64Tar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildLinuxAarch64Tar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'linux-aarch64'
|
|
|
with archiveFiles(modulesFiles(false, 'linux'), 'tar', 'linux', 'aarch64', false, true)
|
|
|
}
|
|
|
|
|
|
-task buildLinuxTar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildLinuxTar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'linux-x86_64'
|
|
|
with archiveFiles(modulesFiles(false, 'linux'), 'tar', 'linux', 'x64', false, true)
|
|
|
}
|
|
|
|
|
|
-task buildOssLinuxAarch64Tar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildOssLinuxAarch64Tar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'linux-aarch64'
|
|
|
with archiveFiles(modulesFiles(true, 'linux'), 'tar', 'linux', 'aarch64', true, true)
|
|
|
}
|
|
|
|
|
|
-task buildOssLinuxTar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildOssLinuxTar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'linux-x86_64'
|
|
|
with archiveFiles(modulesFiles(true, 'linux'), 'tar', 'linux', 'x64', true, true)
|
|
|
}
|
|
|
|
|
|
-task buildNoJdkLinuxTar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildNoJdkLinuxTar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'no-jdk-linux-x86_64'
|
|
|
with archiveFiles(modulesFiles(false, 'linux'), 'tar', 'linux', 'x64', false, false)
|
|
|
}
|
|
|
|
|
|
-task buildOssNoJdkLinuxTar(type: SymbolicLinkPreservingTar) {
|
|
|
+tasks.register('buildOssNoJdkLinuxTar', SymbolicLinkPreservingTar) {
|
|
|
configure(commonTarConfig)
|
|
|
archiveClassifier = 'no-jdk-linux-x86_64'
|
|
|
with archiveFiles(modulesFiles(true, 'linux'), 'tar', 'linux', 'x64', true, false)
|
|
@@ -223,7 +224,7 @@ subprojects {
|
|
|
apply plugin: 'distribution'
|
|
|
|
|
|
String buildTask = "build${it.name.replaceAll(/-[a-z]/) { it.substring(1).toUpperCase() }.capitalize()}"
|
|
|
- ext.buildDist = parent.tasks.getByName(buildTask)
|
|
|
+ ext.buildDist = parent.tasks.named(buildTask)
|
|
|
artifacts {
|
|
|
'default' buildDist
|
|
|
}
|
|
@@ -236,24 +237,24 @@ subprojects {
|
|
|
assert project.name.contains('zip')
|
|
|
archiveExtractionDir = new File(buildDir, 'zip-extracted')
|
|
|
}
|
|
|
- task checkExtraction(type: LoggedExec) {
|
|
|
+ def checkExtraction = tasks.register('checkExtraction', LoggedExec) {
|
|
|
dependsOn buildDist
|
|
|
doFirst {
|
|
|
project.delete(archiveExtractionDir)
|
|
|
archiveExtractionDir.mkdirs()
|
|
|
}
|
|
|
}
|
|
|
- check.dependsOn checkExtraction
|
|
|
+ tasks.named('check').configure { dependsOn checkExtraction }
|
|
|
if (project.name.contains('tar')) {
|
|
|
- checkExtraction {
|
|
|
+ checkExtraction.configure {
|
|
|
onlyIf tarExists
|
|
|
- commandLine 'tar', '-xvzf', "${-> buildDist.outputs.files.singleFile}", '-C', archiveExtractionDir
|
|
|
+ commandLine 'tar', '-xvzf', "${-> buildDist.get().outputs.files.singleFile}", '-C', archiveExtractionDir
|
|
|
}
|
|
|
} else {
|
|
|
assert project.name.contains('zip')
|
|
|
- checkExtraction {
|
|
|
+ checkExtraction.configure {
|
|
|
onlyIf unzipExists
|
|
|
- commandLine 'unzip', "${-> buildDist.outputs.files.singleFile}", '-d', archiveExtractionDir
|
|
|
+ commandLine 'unzip', "${-> buildDist.get().outputs.files.singleFile}", '-d', archiveExtractionDir
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -266,7 +267,7 @@ subprojects {
|
|
|
}
|
|
|
|
|
|
|
|
|
- task checkLicense {
|
|
|
+ tasks.register('checkLicense') {
|
|
|
dependsOn buildDist, checkExtraction
|
|
|
onlyIf toolExists
|
|
|
doLast {
|
|
@@ -281,9 +282,9 @@ subprojects {
|
|
|
assertLinesInFile(licensePath, licenseLines)
|
|
|
}
|
|
|
}
|
|
|
- check.dependsOn checkLicense
|
|
|
+ tasks.named('check').configure { dependsOn checkLicense }
|
|
|
|
|
|
- task checkNotice {
|
|
|
+ tasks.register('checkNotice') {
|
|
|
dependsOn buildDist, checkExtraction
|
|
|
onlyIf toolExists
|
|
|
doLast {
|
|
@@ -292,12 +293,12 @@ subprojects {
|
|
|
assertLinesInFile(noticePath, noticeLines)
|
|
|
}
|
|
|
}
|
|
|
- check.dependsOn checkNotice
|
|
|
+ tasks.named('check').configure { dependsOn checkNotice }
|
|
|
|
|
|
if (project.name == 'zip' || project.name == 'tar') {
|
|
|
project.ext.licenseName = 'Elastic License'
|
|
|
project.ext.licenseUrl = ext.elasticLicenseUrl
|
|
|
- task checkMlCppNotice {
|
|
|
+ def checkMlCppNotice = tasks.register('checkMlCppNotice') {
|
|
|
dependsOn buildDist, checkExtraction
|
|
|
onlyIf toolExists
|
|
|
doLast {
|
|
@@ -312,7 +313,7 @@ subprojects {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- check.dependsOn checkMlCppNotice
|
|
|
+ tasks.named('check').configure { dependsOn checkMlCppNotice }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -347,7 +348,6 @@ configure(subprojects.findAll { it.name == 'integ-test-zip' }) {
|
|
|
|
|
|
// The integ-test-distribution is published to maven
|
|
|
BuildPlugin.configurePomGeneration(project)
|
|
|
- apply plugin: 'nebula.info-scm'
|
|
|
apply plugin: 'nebula.maven-base-publish'
|
|
|
apply plugin: 'nebula.maven-scm'
|
|
|
|
|
@@ -358,7 +358,7 @@ configure(subprojects.findAll { it.name == 'integ-test-zip' }) {
|
|
|
publications {
|
|
|
nebula {
|
|
|
artifactId archivesBaseName
|
|
|
- artifact buildDist
|
|
|
+ artifact(buildDist.flatMap { it.archiveFile })
|
|
|
}
|
|
|
/*
|
|
|
* HUGE HACK: the underlying maven publication library refuses to
|
|
@@ -383,9 +383,9 @@ configure(subprojects.findAll { it.name == 'integ-test-zip' }) {
|
|
|
Node root = xml.asNode()
|
|
|
root.appendNode('name', 'Elasticsearch')
|
|
|
root.appendNode('description', 'A Distributed RESTful Search Engine')
|
|
|
- root.appendNode('url', PluginBuildPlugin.urlFromOrigin(project.scminfo.origin))
|
|
|
+ root.appendNode('url', PluginBuildPlugin.urlFromOrigin(BuildParams.gitOrigin))
|
|
|
Node scmNode = root.appendNode('scm')
|
|
|
- scmNode.appendNode('url', project.scminfo.origin)
|
|
|
+ scmNode.appendNode('url', BuildParams.gitOrigin)
|
|
|
}
|
|
|
}
|
|
|
}
|