elasticsearch/plugins/analysis-icu/build.gradle

59 lines
2.3 KiB
Groovy

import de.thetaphi.forbiddenapis.gradle.CheckForbiddenApis
/*
* 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 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 or the Server
* Side Public License, v 1.
*/
apply plugin: 'elasticsearch.internal-yaml-rest-test'
apply plugin: 'elasticsearch.yaml-rest-compat-test'
apply plugin: 'elasticsearch.internal-cluster-test'
esplugin {
description 'The ICU Analysis plugin integrates the Lucene ICU module into Elasticsearch, adding ICU-related analysis components.'
classname 'org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin'
}
tasks.named("forbiddenApisMain").configure {
signatures += [
"com.ibm.icu.text.Collator#getInstance() @ Don't use default locale, use getInstance(ULocale) instead"
]
}
dependencies {
api "org.apache.lucene:lucene-analyzers-icu:${versions.lucene}"
api "com.ibm.icu:icu4j:${versions.icu4j}"
}
restResources {
restApi {
include '_common', 'indices', 'index', 'search'
}
}
tasks.named("dependencyLicenses").configure {
mapping from: /lucene-.*/, to: 'lucene'
}
tasks.named("yamlRestTestV7CompatTest").configure {
systemProperty 'tests.rest.blacklist', [
//marked as not needing compatible api
'analysis_icu/10_basic/Normalization with deprecated unicodeSetFilter' // Cleanup versioned deprecations in analysis #41560
].join(',')
}
tasks.named('splitPackagesAudit').configure {
// o.e.i.analysis is owned by server. Move these to an icu package
ignoreClasses 'org.elasticsearch.index.analysis.ICUCollationKeyFilter',
'org.elasticsearch.index.analysis.IcuAnalyzerProvider',
'org.elasticsearch.index.analysis.IcuCollationTokenFilterFactory',
'org.elasticsearch.index.analysis.IcuFoldingTokenFilterFactory',
'org.elasticsearch.index.analysis.IcuNormalizerCharFilterFactory',
'org.elasticsearch.index.analysis.IcuNormalizerTokenFilterFactory',
'org.elasticsearch.index.analysis.IcuTokenizerFactory',
'org.elasticsearch.index.analysis.IcuTransformTokenFilterFactory',
'org.elasticsearch.index.analysis.IndexableBinaryStringTools',
'org.elasticsearch.index.mapper.ICUCollationKeywordFieldMapper'
}