mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-06 04:58:50 +00:00
a8f40b3e04
Adds tasks that check that the all jars that we build have LICENSE.txt and NOTICE.txt files and that the files are correct. Sets check to depend on these task. This is mostly there for extra parnoia because we automatically configure all Jar tasks to include the LICENSE.txt and NOTICE.txt files anyway. But it is quite possible to add configuration to those tasks that would override either file. This causes check to depend on several more things than it used to. Take, for example, javadoc: check depends on the new verifyJavadocJarNotice which depends on extractJavadocJar which depends on javadocJar which depends on javadoc, this check now depends on javadoc.
68 lines
3.2 KiB
Groovy
68 lines
3.2 KiB
Groovy
import org.elasticsearch.gradle.BuildPlugin
|
|
import org.elasticsearch.gradle.plugin.PluginBuildPlugin
|
|
import org.elasticsearch.gradle.Version
|
|
import org.elasticsearch.gradle.precommit.LicenseHeadersTask
|
|
|
|
Project xpackRootProject = project
|
|
|
|
apply plugin: 'nebula.info-scm'
|
|
final String licenseCommit
|
|
if (version.endsWith('-SNAPSHOT')) {
|
|
licenseCommit = xpackRootProject.scminfo.change ?: "master" // leniency for non git builds
|
|
} else {
|
|
licenseCommit = "v${version}"
|
|
}
|
|
|
|
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 }
|
|
|
|
ext.licenseName = 'Elastic License'
|
|
ext.licenseUrl = "https://raw.githubusercontent.com/elastic/elasticsearch/${licenseCommit}/licenses/ELASTIC-LICENSE.txt"
|
|
|
|
project.ext.licenseFile = rootProject.file('licenses/ELASTIC-LICENSE.txt')
|
|
project.ext.noticeFile = xpackRootProject.file('NOTICE.txt')
|
|
|
|
plugins.withType(PluginBuildPlugin).whenPluginAdded {
|
|
project.esplugin.licenseFile = rootProject.file('licenses/ELASTIC-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 = ['Elastic License', 'Generated']
|
|
additionalLicense 'ELAST', 'Elastic License', 'Licensed under the Elastic License'
|
|
}
|
|
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')]
|
|
|
|
bwcVersions.snapshotProjectNames.each { snapshotName ->
|
|
Version snapshot = bwcVersions.getSnapshotForProject(snapshotName)
|
|
if (snapshot != null && snapshot.onOrAfter("6.3.0")) {
|
|
String snapshotProject = ":x-pack:plugin:bwc:${snapshotName}"
|
|
project(snapshotProject).ext.bwcVersion = snapshot
|
|
ext.projectSubstitutions["org.elasticsearch.plugin:x-pack:${snapshot}"] = snapshotProject
|
|
}
|
|
}
|
|
}
|