mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-06 04:58:50 +00:00
Both gradle and java code attempt to infer the type of a each Version constant in Version.java. It is super important that they infer that each constant has the same type. If they disagree we might accidentally not be testing backwards compatibility for some version. This adds a test to make sure that they agree, modulo known and accepted differences (mostly around alphas). It also changes the minimum wire compatible version from the released 5.4.0 to the unreleased 5.5.0 as that lines up with the gradle logic. Relates to #24798 Note that the gradle and java version logic doesn't actually match so this contains a hack to make it *look* like it matches. Since this is a start, I'm merging it and going to work on some followups to make the logic actually match.....
76 lines
3.1 KiB
Groovy
76 lines
3.1 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.
|
|
*/
|
|
|
|
import org.elasticsearch.gradle.precommit.PrecommitTasks;
|
|
|
|
dependencies {
|
|
compile "org.elasticsearch:elasticsearch:${version}"
|
|
compile "com.carrotsearch.randomizedtesting:randomizedtesting-runner:${versions.randomizedrunner}"
|
|
compile "junit:junit:${versions.junit}"
|
|
compile "org.hamcrest:hamcrest-all:${versions.hamcrest}"
|
|
compile "org.apache.lucene:lucene-test-framework:${versions.lucene}"
|
|
compile "org.apache.lucene:lucene-codecs:${versions.lucene}"
|
|
compile "org.elasticsearch.client:rest:${version}"
|
|
compile "org.apache.httpcomponents:httpclient:${versions.httpclient}"
|
|
compile "org.apache.httpcomponents:httpcore:${versions.httpcore}"
|
|
compile "commons-logging:commons-logging:${versions.commonslogging}"
|
|
compile "commons-codec:commons-codec:${versions.commonscodec}"
|
|
compile "org.elasticsearch:securemock:${versions.securemock}"
|
|
compile "org.elasticsearch:mocksocket:${versions.mocksocket}"
|
|
}
|
|
|
|
compileJava.options.compilerArgs << '-Xlint:-cast,-rawtypes,-try,-unchecked'
|
|
compileTestJava.options.compilerArgs << '-Xlint:-rawtypes'
|
|
|
|
// the main files are actually test files, so use the appropriate forbidden api sigs
|
|
forbiddenApisMain {
|
|
signaturesURLs = [PrecommitTasks.getResource('/forbidden/all-signatures.txt'),
|
|
PrecommitTasks.getResource('/forbidden/test-signatures.txt')]
|
|
}
|
|
|
|
// TODO: should we have licenses for our test deps?
|
|
dependencyLicenses.enabled = false
|
|
|
|
thirdPartyAudit.excludes = [
|
|
// classes are missing
|
|
'javax.servlet.ServletContextEvent',
|
|
'javax.servlet.ServletContextListener',
|
|
'org.apache.avalon.framework.logger.Logger',
|
|
'org.apache.log.Hierarchy',
|
|
'org.apache.log.Logger',
|
|
// we intentionally exclude the ant tasks because people were depending on them from their tests!!!!!!!
|
|
'org.apache.tools.ant.BuildException',
|
|
'org.apache.tools.ant.DirectoryScanner',
|
|
'org.apache.tools.ant.Task',
|
|
'org.apache.tools.ant.types.FileSet',
|
|
'org.easymock.EasyMock',
|
|
'org.easymock.IArgumentMatcher',
|
|
'org.jmock.core.Constraint',
|
|
]
|
|
|
|
task namingConventionsMain(type: org.elasticsearch.gradle.precommit.NamingConventionsTask) {
|
|
checkForTestsInMain = true
|
|
}
|
|
precommit.dependsOn namingConventionsMain
|
|
|
|
test.configure {
|
|
systemProperty 'tests.gradle_index_compat_versions', indexCompatVersions.join(',')
|
|
systemProperty 'tests.gradle_wire_compat_versions', wireCompatVersions.join(',')
|
|
}
|