123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- import org.elasticsearch.gradle.precommit.PrecommitTasks
- /*
- * 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: 'nebula.optional-base'
- apply plugin: 'nebula.maven-base-publish'
- apply plugin: 'nebula.maven-scm'
- archivesBaseName = 'elasticsearch-core'
- // we want to keep the JDKs in our IDEs set to JDK 8 until minimum JDK is bumped to 9 so we do not include this source set in our IDEs
- if (!isEclipse && !isIdea) {
- sourceSets {
- java9 {
- java {
- srcDirs = ['src/main/java9']
- }
- }
- }
- configurations {
- java9Compile.extendsFrom(compile)
- }
- dependencies {
- java9Compile sourceSets.main.output
- }
- compileJava9Java {
- sourceCompatibility = 9
- targetCompatibility = 9
- }
- /* Enable this when forbiddenapis was updated to 2.6.
- * See: https://github.com/elastic/elasticsearch/issues/29292
- forbiddenApisJava9 {
- targetCompatibility = 9
- }
- */
- jar {
- metaInf {
- into 'versions/9'
- from sourceSets.java9.output
- }
- manifest.attributes('Multi-Release': 'true')
- }
- }
- publishing {
- publications {
- nebula {
- artifactId = archivesBaseName
- }
- }
- }
- dependencies {
- testCompile "com.carrotsearch.randomizedtesting:randomizedtesting-runner:${versions.randomizedrunner}"
- testCompile "junit:junit:${versions.junit}"
- testCompile "org.hamcrest:hamcrest-all:${versions.hamcrest}"
- if (!isEclipse && !isIdea) {
- java9Compile sourceSets.main.output
- }
- if (isEclipse == false || project.path == ":libs:elasticsearch-core-tests") {
- testCompile("org.elasticsearch.test:framework:${version}") {
- exclude group: 'org.elasticsearch', module: 'elasticsearch-core'
- }
- }
- }
- forbiddenApisMain {
- // elasticsearch-core does not depend on server
- // TODO: Need to decide how we want to handle for forbidden signatures with the changes to core
- signaturesURLs = [PrecommitTasks.getResource('/forbidden/jdk-signatures.txt')]
- }
- if (isEclipse) {
- // in eclipse the project is under a fake root, we need to change around the source sets
- sourceSets {
- if (project.path == ":libs:elasticsearch-core") {
- main.java.srcDirs = ['java']
- main.resources.srcDirs = ['resources']
- } else {
- test.java.srcDirs = ['java']
- test.resources.srcDirs = ['resources']
- }
- }
- }
- thirdPartyAudit.excludes = [
- // from log4j
- 'org/osgi/framework/AdaptPermission',
- 'org/osgi/framework/AdminPermission',
- 'org/osgi/framework/Bundle',
- 'org/osgi/framework/BundleActivator',
- 'org/osgi/framework/BundleContext',
- 'org/osgi/framework/BundleEvent',
- 'org/osgi/framework/SynchronousBundleListener',
- 'org/osgi/framework/wiring/BundleWire',
- 'org/osgi/framework/wiring/BundleWiring'
- ]
|