86 lines
3.8 KiB
Groovy
86 lines
3.8 KiB
Groovy
import org.elasticsearch.gradle.BuildPlugin
|
|
import org.elasticsearch.gradle.plugin.PluginBuildPlugin
|
|
import org.elasticsearch.gradle.Version
|
|
import org.elasticsearch.gradle.precommit.LicenseHeadersTask
|
|
|
|
if (project.projectDir.name != 'x-pack-elasticsearch') {
|
|
throw new GradleException('You must checkout x-pack-elasticsearch in the following directory: <path to Elasticsearch checkout>/../elasticsearch-extra/x-pack-elasticsearch')
|
|
}
|
|
|
|
task wrapper(type: Wrapper)
|
|
|
|
Project xpackRootProject = project
|
|
|
|
subprojects {
|
|
group = 'org.elasticsearch.plugin'
|
|
ext.xpackRootProject = xpackRootProject
|
|
ext.xpackProject = { String projectName -> xpackRootProject.project(projectName) }
|
|
// helper method to find the path to a module
|
|
ext.xpackModule = { String moduleName -> xpackProject("plugin:${moduleName}").path }
|
|
|
|
plugins.withType(MavenPublishPlugin).whenPluginAdded {
|
|
publishing {
|
|
publications {
|
|
// add license information to generated poms
|
|
all {
|
|
pom.withXml { XmlProvider xml ->
|
|
Node node = xml.asNode()
|
|
|
|
Node license = node.appendNode('licenses').appendNode('license')
|
|
license.appendNode('name', 'Elastic Commercial Software End User License Agreement')
|
|
license.appendNode('url', 'https://www.elastic.co/eula/')
|
|
license.appendNode('distribution', 'repo')
|
|
|
|
Node developer = node.appendNode('developers').appendNode('developer')
|
|
developer.appendNode('name', 'Elastic')
|
|
developer.appendNode('url', 'http://www.elastic.co')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
plugins.withType(BuildPlugin).whenPluginAdded {
|
|
project.licenseFile = xpackRootProject.file('LICENSE.txt')
|
|
project.noticeFile = xpackRootProject.file('NOTICE.txt')
|
|
}
|
|
|
|
plugins.withType(PluginBuildPlugin).whenPluginAdded {
|
|
project.esplugin.licenseFile = xpackRootProject.file('LICENSE.txt')
|
|
project.esplugin.noticeFile = xpackRootProject.file('NOTICE.txt')
|
|
}
|
|
}
|
|
|
|
File checkstyleSuppressions = file('dev-tools/checkstyle_suppressions.xml')
|
|
subprojects {
|
|
tasks.withType(Checkstyle) {
|
|
inputs.file(checkstyleSuppressions)
|
|
// Use x-pack-elasticsearch specific suppressions file rather than the open source one.
|
|
configProperties = [
|
|
suppressions: checkstyleSuppressions
|
|
]
|
|
}
|
|
|
|
tasks.withType(LicenseHeadersTask.class) {
|
|
approvedLicenses = ['Elasticsearch Confidential', 'Generated']
|
|
additionalLicense 'ESCON', 'Elasticsearch Confidential', 'ELASTICSEARCH CONFIDENTIAL'
|
|
}
|
|
ext.projectSubstitutions += [ "org.elasticsearch.plugin:x-pack-core:${version}": xpackModule('core')]
|
|
ext.projectSubstitutions += [ "org.elasticsearch.plugin:x-pack-deprecation:${version}": xpackModule('deprecation')]
|
|
ext.projectSubstitutions += [ "org.elasticsearch.plugin:x-pack-graph:${version}": xpackModule('graph')]
|
|
ext.projectSubstitutions += [ "org.elasticsearch.plugin:x-pack-logstash:${version}": xpackModule('logstash')]
|
|
ext.projectSubstitutions += [ "org.elasticsearch.plugin:x-pack-ml:${version}": xpackModule('ml')]
|
|
ext.projectSubstitutions += [ "org.elasticsearch.plugin:x-pack-monitoring:${version}": xpackModule('monitoring')]
|
|
ext.projectSubstitutions += [ "org.elasticsearch.plugin:x-pack-security:${version}": xpackModule('security')]
|
|
ext.projectSubstitutions += [ "org.elasticsearch.plugin:x-pack-upgrade:${version}": xpackModule('upgrade')]
|
|
ext.projectSubstitutions += [ "org.elasticsearch.plugin:x-pack-watcher:${version}": xpackModule('watcher')]
|
|
|
|
for (final Version version : versionCollection.versionsIndexCompatibleWithCurrent) {
|
|
if (version.branch != null) {
|
|
final String snapshotProject = ":x-pack-elasticsearch:plugin:bwc-snapshot-dummy-projects:bwc-snapshot-${version.branch}"
|
|
project(snapshotProject).ext.bwcVersion = version
|
|
ext.projectSubstitutions["org.elasticsearch.plugin:x-pack:${version}"] = snapshotProject
|
|
}
|
|
}
|
|
}
|