mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-28 17:34:17 -04:00
This updates the gradle wrapper to 8.12 We addressed deprecation warnings due to the update that includes: - Fix change in TestOutputEvent api - Fix deprecation in groovy syntax - Use latest ospackage plugin containing our fix - Remove project usages at execution time - Fix deprecated project references in repository-old-versions
101 lines
3.3 KiB
Groovy
101 lines
3.3 KiB
Groovy
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the "Elastic License
|
|
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
* Public License v 1"; you may not use this file except in compliance with, at
|
|
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
*/
|
|
|
|
import org.elasticsearch.gradle.Architecture
|
|
import org.elasticsearch.gradle.VersionProperties
|
|
import org.elasticsearch.gradle.internal.testfixtures.TestFixturesPlugin
|
|
import static org.elasticsearch.gradle.internal.distribution.InternalElasticsearchDistributionTypes.DOCKER;
|
|
|
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
|
apply plugin: 'elasticsearch.test.fixtures'
|
|
apply plugin: 'elasticsearch.internal-distribution-download'
|
|
|
|
tasks.register("copyNodeKeyMaterial", Sync) {
|
|
from project(':x-pack:plugin:core')
|
|
.files(
|
|
'src/test/resources/org/elasticsearch/xpack/security/transport/ssl/certs/simple/testnode.pem',
|
|
'src/test/resources/org/elasticsearch/xpack/security/transport/ssl/certs/simple/testnode.crt'
|
|
)
|
|
into "${buildDir}/certs"
|
|
doLast {
|
|
file("${buildDir}/certs").setReadable(true, false)
|
|
file("${buildDir}/certs/testnode.pem").setReadable(true, false)
|
|
file("${buildDir}/certs/testnode.crt").setReadable(true, false)
|
|
}
|
|
}
|
|
|
|
elasticsearch_distributions {
|
|
docker {
|
|
type = DOCKER
|
|
architecture = Architecture.current()
|
|
version = VersionProperties.getElasticsearch()
|
|
failIfUnavailable = false // This ensures we skip this testing if Docker is unavailable
|
|
}
|
|
}
|
|
|
|
|
|
interface Injected {
|
|
@Inject
|
|
FileSystemOperations getFs()
|
|
}
|
|
|
|
tasks.named("preProcessFixture").configure {
|
|
dependsOn "copyNodeKeyMaterial", elasticsearch_distributions.docker
|
|
def injected = project.objects.newInstance(Injected)
|
|
|
|
doLast {
|
|
// tests expect to have an empty repo
|
|
injected.fs.delete {
|
|
it.delete("${testFixturesDir}/repo")
|
|
it.delete("${testFixturesDir}/oss-repo")
|
|
}
|
|
createAndSetWritable(
|
|
"${testFixturesDir}/repo",
|
|
"${testFixturesDir}/oss-repo",
|
|
"${testFixturesDir}/logs/default-1",
|
|
"${testFixturesDir}/logs/default-2",
|
|
"${testFixturesDir}/logs/oss-1",
|
|
"${testFixturesDir}/logs/oss-2"
|
|
)
|
|
}
|
|
}
|
|
|
|
dockerCompose {
|
|
tcpPortsToIgnoreWhenWaiting = [9600, 9601]
|
|
if ('default'.equalsIgnoreCase(providers.systemProperty('tests.distribution').getOrElse('default'))) {
|
|
useComposeFiles = ['docker-compose.yml']
|
|
} else {
|
|
useComposeFiles = ['docker-compose-oss.yml']
|
|
}
|
|
}
|
|
|
|
def createAndSetWritable(Object... locations) {
|
|
locations.each { location ->
|
|
println "location = $location"
|
|
File file = new File(location)
|
|
file.mkdirs()
|
|
file.setWritable(true, false)
|
|
}
|
|
}
|
|
|
|
tasks.named("processTestResources").configure {
|
|
from project(':x-pack:plugin:core')
|
|
.files(
|
|
'src/test/resources/org/elasticsearch/xpack/security/transport/ssl/certs/simple/testnode.pem',
|
|
'src/test/resources/org/elasticsearch/xpack/security/transport/ssl/certs/simple/testnode.crt'
|
|
)
|
|
}
|
|
|
|
tasks.register("integTest", Test) {
|
|
outputs.doNotCacheIf('Build cache is disabled for Docker tests') { true }
|
|
maxParallelForks = '1'
|
|
include '**/*IT.class'
|
|
}
|
|
|
|
tasks.named("check").configure { dependsOn "integTest" }
|