/* * 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' List 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("${testFixturesDir}/shared/${it}").mkdirs() } } postProcessFixture { inputs.dir("${testFixturesDir}/shared") services.each { service -> File confTemplate = file("${testFixturesDir}/shared/${service}/krb5.conf.template") File confFile = file("${testFixturesDir}/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("$testFixturesDir/shared/${service}/krb5.conf") } project.ext.krb5Keytabs = { service, fileName -> file("$testFixturesDir/shared/${service}/keytabs/${fileName}") }