97 lines
3.6 KiB
Groovy
97 lines
3.6 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.
|
|
*/
|
|
|
|
esplugin {
|
|
description 'The Azure Repository plugin adds support for Azure storage repositories.'
|
|
classname 'org.elasticsearch.repositories.azure.AzureRepositoryPlugin'
|
|
}
|
|
|
|
dependencies {
|
|
compile 'com.microsoft.azure:azure-storage:8.0.0'
|
|
compile 'com.microsoft.azure:azure-keyvault-core:1.0.0'
|
|
compile 'com.google.guava:guava:20.0'
|
|
compile 'org.apache.commons:commons-lang3:3.4'
|
|
}
|
|
|
|
dependencyLicenses {
|
|
mapping from: /azure-.*/, to: 'azure'
|
|
mapping from: /jackson-.*/, to: 'jackson'
|
|
mapping from: /jersey-.*/, to: 'jersey'
|
|
mapping from: /jaxb-.*/, to: 'jaxb'
|
|
mapping from: /stax-.*/, to: 'stax'
|
|
}
|
|
|
|
thirdPartyAudit {
|
|
ignoreMissingClasses (
|
|
// Optional and not enabled by Elasticsearch
|
|
'org.slf4j.Logger',
|
|
'org.slf4j.LoggerFactory'
|
|
)
|
|
|
|
ignoreViolations (
|
|
// uses internal java api: sun.misc.Unsafe
|
|
'com.google.common.cache.Striped64',
|
|
'com.google.common.cache.Striped64$1',
|
|
'com.google.common.cache.Striped64$Cell',
|
|
'com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$1',
|
|
'com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$2',
|
|
'com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$3',
|
|
'com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper',
|
|
'com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper$1',
|
|
'com.google.common.hash.LittleEndianByteArray$UnsafeByteArray',
|
|
'com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator',
|
|
'com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1'
|
|
)
|
|
}
|
|
|
|
check {
|
|
// also execute the QA tests when testing the plugin
|
|
dependsOn 'qa:microsoft-azure-storage:check'
|
|
}
|
|
|
|
testClusters {
|
|
integTest {
|
|
keystore 'azure.client.integration_test.account', 'azure_account'
|
|
keystore 'azure.client.integration_test.key', 'azure_key'
|
|
}
|
|
}
|
|
|
|
String azureAccount = System.getenv("azure_storage_account")
|
|
String azureKey = System.getenv("azure_storage_key")
|
|
String azureContainer = System.getenv("azure_storage_container")
|
|
String azureBasePath = System.getenv("azure_storage_base_path")
|
|
String azureSasToken = System.getenv("azure_storage_sas_token")
|
|
|
|
test {
|
|
exclude '**/AzureStorageCleanupThirdPartyTests.class'
|
|
}
|
|
|
|
task thirdPartyTest(type: Test) {
|
|
include '**/AzureStorageCleanupThirdPartyTests.class'
|
|
systemProperty 'test.azure.account', azureAccount ? azureAccount : ""
|
|
systemProperty 'test.azure.key', azureKey ? azureKey : ""
|
|
systemProperty 'test.azure.sas_token', azureSasToken ? azureSasToken : ""
|
|
systemProperty 'test.azure.container', azureContainer ? azureContainer : ""
|
|
systemProperty 'test.azure.base', (azureBasePath ? azureBasePath : "") + "_third_party_tests_" + project.testSeed
|
|
}
|
|
|
|
if (azureAccount || azureKey || azureContainer || azureBasePath || azureSasToken) {
|
|
check.dependsOn(thirdPartyTest)
|
|
}
|