54 lines
2.0 KiB
Groovy
54 lines
2.0 KiB
Groovy
/*
|
|
* Licensed to Elasticsearch under one or more contributor
|
|
* license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright
|
|
* ownership. Elasticsearch licenses this file to you under
|
|
* the Apache License, Version 2.0 (the "License"); you may
|
|
* not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
* KIND, either express or implied. See the License for the
|
|
* specific language governing permissions and limitations
|
|
* under the License.
|
|
*/
|
|
apply plugin: 'elasticsearch.test.fixtures'
|
|
|
|
// installKDC uses tabs in it for the Kerberos ACL file.
|
|
// Ignore it for pattern checking.
|
|
forbiddenPatterns {
|
|
exclude "**/installkdc.sh"
|
|
}
|
|
|
|
List<String> services = ["peppa", "hdfs"]
|
|
|
|
preProcessFixture.doLast {
|
|
// We need to create these up-front because if docker creates them they will be owned by root and we won't be
|
|
// able to clean them up
|
|
services.each { file("${buildDir}/shared/${it}").mkdirs() }
|
|
}
|
|
|
|
postProcessFixture {
|
|
inputs.dir("${buildDir}/shared")
|
|
services.each { service ->
|
|
File confTemplate = file("${buildDir}/shared/${service}/krb5.conf.template")
|
|
File confFile = file("${buildDir}/shared/${service}/krb5.conf")
|
|
outputs.file(confFile)
|
|
doLast {
|
|
assert confTemplate.exists()
|
|
String confContents = confTemplate.text
|
|
.replace("\${MAPPED_PORT}", "${ext."test.fixtures.${service}.udp.88"}")
|
|
confFile.text = confContents
|
|
}
|
|
}
|
|
}
|
|
|
|
project.ext.krb5Conf = { service -> file("$buildDir/shared/${service}/krb5.conf") }
|
|
project.ext.krb5Keytabs = { service, fileName -> file("$buildDir/shared/${service}/keytabs/${fileName}") }
|
|
|
|
test.enabled = false
|