123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- /*
- * 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 com.carrotsearch.gradle.junit4.RandomizedTestingTask
- import org.elasticsearch.gradle.BuildPlugin
- apply plugin: 'elasticsearch.build'
- apply plugin: 'nebula.optional-base'
- apply plugin: 'nebula.maven-base-publish'
- apply plugin: 'nebula.maven-scm'
- publishing {
- publications {
- nebula {
- artifactId 'elasticsearch'
- }
- }
- }
- archivesBaseName = 'elasticsearch'
- dependencies {
- // lucene
- compile "org.apache.lucene:lucene-core:${versions.lucene}"
- compile "org.apache.lucene:lucene-analyzers-common:${versions.lucene}"
- compile "org.apache.lucene:lucene-backward-codecs:${versions.lucene}"
- compile "org.apache.lucene:lucene-grouping:${versions.lucene}"
- compile "org.apache.lucene:lucene-highlighter:${versions.lucene}"
- compile "org.apache.lucene:lucene-join:${versions.lucene}"
- compile "org.apache.lucene:lucene-memory:${versions.lucene}"
- compile "org.apache.lucene:lucene-misc:${versions.lucene}"
- compile "org.apache.lucene:lucene-queries:${versions.lucene}"
- compile "org.apache.lucene:lucene-queryparser:${versions.lucene}"
- compile "org.apache.lucene:lucene-sandbox:${versions.lucene}"
- compile "org.apache.lucene:lucene-spatial:${versions.lucene}"
- compile "org.apache.lucene:lucene-spatial-extras:${versions.lucene}"
- compile "org.apache.lucene:lucene-spatial3d:${versions.lucene}"
- compile "org.apache.lucene:lucene-suggest:${versions.lucene}"
- compile 'org.elasticsearch:securesm:1.1'
- // utilities
- compile 'net.sf.jopt-simple:jopt-simple:5.0.2'
- compile 'com.carrotsearch:hppc:0.7.1'
- // time handling, remove with java 8 time
- compile 'joda-time:joda-time:2.9.5'
- // json and yaml
- compile "org.yaml:snakeyaml:${versions.snakeyaml}"
- compile "com.fasterxml.jackson.core:jackson-core:${versions.jackson}"
- compile "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:${versions.jackson}"
- compile "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${versions.jackson}"
- compile "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${versions.jackson}"
- // percentiles aggregation
- compile 'com.tdunning:t-digest:3.0'
- // precentil ranks aggregation
- compile 'org.hdrhistogram:HdrHistogram:2.1.6'
- // lucene spatial
- compile "org.locationtech.spatial4j:spatial4j:${versions.spatial4j}", optional
- compile "com.vividsolutions:jts:${versions.jts}", optional
- // logging
- compile "org.apache.logging.log4j:log4j-api:${versions.log4j}", optional
- compile "org.apache.logging.log4j:log4j-core:${versions.log4j}", optional
- // to bridge dependencies that are still on Log4j 1 to Log4j 2
- compile "org.apache.logging.log4j:log4j-1.2-api:${versions.log4j}", optional
- compile "net.java.dev.jna:jna:${versions.jna}"
- if (isEclipse == false || project.path == ":core-tests") {
- testCompile("org.elasticsearch.test:framework:${version}") {
- // tests use the locally compiled version of core
- exclude group: 'org.elasticsearch', module: 'elasticsearch'
- }
- }
- }
- if (isEclipse) {
- // in eclipse the project is under a fake root, we need to change around the source sets
- sourceSets {
- if (project.path == ":core") {
- main.java.srcDirs = ['java']
- main.resources.srcDirs = ['resources']
- } else {
- test.java.srcDirs = ['java']
- test.resources.srcDirs = ['resources']
- }
- }
- }
- compileJava.options.compilerArgs << "-Xlint:-cast,-deprecation,-rawtypes,-try,-unchecked"
- compileTestJava.options.compilerArgs << "-Xlint:-cast,-deprecation,-rawtypes,-try,-unchecked"
- forbiddenPatterns {
- exclude '**/*.json'
- exclude '**/*.jmx'
- exclude '**/org/elasticsearch/cluster/routing/shard_routes.txt'
- }
- task generateModulesList {
- List<String> modules = project(':modules').subprojects.collect { it.name }
- File modulesFile = new File(buildDir, 'generated-resources/modules.txt')
- processResources.from(modulesFile)
- inputs.property('modules', modules)
- outputs.file(modulesFile)
- doLast {
- modulesFile.parentFile.mkdirs()
- modulesFile.setText(modules.join('\n'), 'UTF-8')
- }
- }
- task generatePluginsList {
- List<String> plugins = project(':plugins').subprojects
- .findAll { it.name.contains('example') == false }
- .collect { it.name }
- File pluginsFile = new File(buildDir, 'generated-resources/plugins.txt')
- processResources.from(pluginsFile)
- inputs.property('plugins', plugins)
- outputs.file(pluginsFile)
- doLast {
- pluginsFile.parentFile.mkdirs()
- pluginsFile.setText(plugins.join('\n'), 'UTF-8')
- }
- }
- processResources {
- dependsOn generateModulesList, generatePluginsList
- }
- thirdPartyAudit.excludes = [
- // classes are missing!
- // from com.fasterxml.jackson.dataformat.yaml.YAMLMapper (jackson-dataformat-yaml)
- 'com.fasterxml.jackson.databind.ObjectMapper',
- // from log4j
- 'com.beust.jcommander.IStringConverter',
- 'com.beust.jcommander.JCommander',
- 'com.conversantmedia.util.concurrent.DisruptorBlockingQueue',
- 'com.conversantmedia.util.concurrent.SpinPolicy',
- 'com.fasterxml.jackson.annotation.JsonInclude$Include',
- 'com.fasterxml.jackson.databind.DeserializationContext',
- 'com.fasterxml.jackson.databind.JsonMappingException',
- 'com.fasterxml.jackson.databind.JsonNode',
- 'com.fasterxml.jackson.databind.Module$SetupContext',
- 'com.fasterxml.jackson.databind.ObjectReader',
- 'com.fasterxml.jackson.databind.ObjectWriter',
- 'com.fasterxml.jackson.databind.SerializerProvider',
- 'com.fasterxml.jackson.databind.deser.std.StdDeserializer',
- 'com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer',
- 'com.fasterxml.jackson.databind.module.SimpleModule',
- 'com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter',
- 'com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider',
- 'com.fasterxml.jackson.databind.ser.std.StdScalarSerializer',
- 'com.fasterxml.jackson.databind.ser.std.StdSerializer',
- 'com.fasterxml.jackson.dataformat.xml.JacksonXmlModule',
- 'com.fasterxml.jackson.dataformat.xml.XmlMapper',
- 'com.fasterxml.jackson.dataformat.xml.util.DefaultXmlPrettyPrinter',
- 'com.fasterxml.jackson.databind.node.JsonNodeFactory',
- 'com.fasterxml.jackson.databind.node.ObjectNode',
- 'org.fusesource.jansi.Ansi',
- 'org.fusesource.jansi.AnsiRenderer$Code',
- 'com.lmax.disruptor.BlockingWaitStrategy',
- 'com.lmax.disruptor.BusySpinWaitStrategy',
- 'com.lmax.disruptor.EventFactory',
- 'com.lmax.disruptor.EventTranslator',
- 'com.lmax.disruptor.EventTranslatorTwoArg',
- 'com.lmax.disruptor.EventTranslatorVararg',
- 'com.lmax.disruptor.ExceptionHandler',
- 'com.lmax.disruptor.LifecycleAware',
- 'com.lmax.disruptor.RingBuffer',
- 'com.lmax.disruptor.Sequence',
- 'com.lmax.disruptor.SequenceReportingEventHandler',
- 'com.lmax.disruptor.SleepingWaitStrategy',
- 'com.lmax.disruptor.TimeoutBlockingWaitStrategy',
- 'com.lmax.disruptor.WaitStrategy',
- 'com.lmax.disruptor.YieldingWaitStrategy',
- 'com.lmax.disruptor.dsl.Disruptor',
- 'com.lmax.disruptor.dsl.ProducerType',
- 'javax.jms.Connection',
- 'javax.jms.ConnectionFactory',
- 'javax.jms.Destination',
- 'javax.jms.Message',
- 'javax.jms.MessageConsumer',
- 'javax.jms.MessageListener',
- 'javax.jms.MessageProducer',
- 'javax.jms.ObjectMessage',
- 'javax.jms.Session',
- 'javax.mail.Authenticator',
- 'javax.mail.Message$RecipientType',
- 'javax.mail.PasswordAuthentication',
- 'javax.mail.Session',
- 'javax.mail.Transport',
- 'javax.mail.internet.InternetAddress',
- 'javax.mail.internet.InternetHeaders',
- 'javax.mail.internet.MimeBodyPart',
- 'javax.mail.internet.MimeMessage',
- 'javax.mail.internet.MimeMultipart',
- 'javax.mail.internet.MimeUtility',
- 'javax.mail.util.ByteArrayDataSource',
- 'javax.persistence.AttributeConverter',
- 'javax.persistence.EntityManager',
- 'javax.persistence.EntityManagerFactory',
- 'javax.persistence.EntityTransaction',
- 'javax.persistence.Persistence',
- 'javax.persistence.PersistenceException',
- 'org.apache.commons.compress.compressors.CompressorStreamFactory',
- 'org.apache.commons.compress.utils.IOUtils',
- 'org.apache.commons.csv.CSVFormat',
- 'org.apache.commons.csv.QuoteMode',
- 'org.apache.kafka.clients.producer.KafkaProducer',
- 'org.apache.kafka.clients.producer.Producer',
- 'org.apache.kafka.clients.producer.ProducerRecord',
- 'org.codehaus.stax2.XMLStreamWriter2',
- 'org.jctools.queues.MessagePassingQueue$Consumer',
- 'org.jctools.queues.MpscArrayQueue',
- '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.BundleReference',
- 'org.osgi.framework.FrameworkUtil',
- 'org.osgi.framework.SynchronousBundleListener',
- 'org.osgi.framework.wiring.BundleWire',
- 'org.osgi.framework.wiring.BundleWiring',
- 'org.zeromq.ZMQ$Context',
- 'org.zeromq.ZMQ$Socket',
- 'org.zeromq.ZMQ',
- // from org.locationtech.spatial4j.io.GeoJSONReader (spatial4j)
- 'org.noggit.JSONParser',
- ]
- dependencyLicenses {
- mapping from: /lucene-.*/, to: 'lucene'
- mapping from: /jackson-.*/, to: 'jackson'
- }
- if (isEclipse == false || project.path == ":core-tests") {
- task integTest(type: RandomizedTestingTask,
- group: JavaBasePlugin.VERIFICATION_GROUP,
- description: 'Multi-node tests',
- dependsOn: test.dependsOn) {
- configure(BuildPlugin.commonTestConfig(project))
- classpath = project.test.classpath
- testClassesDir = project.test.testClassesDir
- include '**/*IT.class'
- }
- check.dependsOn integTest
- integTest.mustRunAfter test
- }
|