summaryrefslogtreecommitdiff
path: root/core/build.gradle
AgeCommit message (Collapse)Author
2017-06-08Mark Log4j API dependency as non-optionalJason Tedor
The Log4j dependency is separated into two artifacts, the API and the core implementation. This is to enable replacing Log4j on the backend through the SLF4J bridge with another logging implementation. For this reason, the dependencies are marked as optional. This causes confusion amongst users as to use the bridge, the API should be non-optional since it is needed for the bridge to function correctly. While they could pull it into their application directly, it would be clearer if we simply marked this depdendency as non-optional. Note that this does not mean that users have to use Log4j for logging in their application, so we are not marking core as required, it only clarifies what they need to be able to plug in a different logging implementation. Relates #25136
2017-06-02[Test] Remove unused test resources in core (#25011)Tanguy Leroux
It looks like many unnecessary files remain in the core test resources directory. This commit removes them.
2017-05-26Remove the need for _UNRELEASED suffix in versions (#24798)Nik Everett
Removes the need for the `_UNRELEASED` suffix on versions by detecting if a version should be unreleased or not based on the versions around it. This should make it simpler to automate the task of adding a new version label.
2017-05-18Remove vagrant testing versions (#24754)Nik Everett
Now that we generate the versions list from Versions.java we can drop the list of versions maintained for vagrant testing. One nice thing that the vagrant testing did was to check if the list of versions was out of date. This moves that test to the core project.
2017-04-13Build: Switch jna dependency to an elastic version (#24081)Ryan Ernst
This new version of jna is rebuilt from the official release of jna, but with native libs linked against older glibc in order to support all platforms elasticsearch supports. closes #23640
2017-04-09Upgrade to Log4j 2.8.2Jason Tedor
This commit upgrades the Log4j dependencies from version 2.7 to version 2.8.2. This release includes a fix for a case where Log4j could lose exceptions in the presence of a security manager. Relates #23995
2017-02-21Upgrade HDRHistogram to 2.1.9 (#23254)Martin Scholz
2016-12-22Settings: Add infrastructure for elasticsearch keystoreRyan Ernst
This change is the first towards providing the ability to store sensitive settings in elasticsearch. It adds the `elasticsearch-keystore` tool, which allows managing a java keystore. The keystore is loaded upon node startup in Elasticsearch, and used by the Setting infrastructure when a setting is configured as secure. There are a lot of caveats to this PR. The most important is it only provides the tool and setting infrastructure for secure strings. It does not yet provide for keystore passwords, keypairs, certificates, or even convert any existing string settings to secure string settings. Those will all come in follow up PRs. But this PR was already too big, so this at least gets a basic version of the infrastructure in. The two main things to look at. The first is the `SecureSetting` class, which extends `Setting`, but removes the assumption for the raw value of the setting to be a string. SecureSetting provides, for now, a single helper, `stringSetting()` to create a SecureSetting which will return a SecureString (which is like String, but is closeable, so that the underlying character array can be cleared). The second is the `KeyStoreWrapper` class, which wraps the java `KeyStore` to provide a simpler api (we do not need the entire keystore api) and also extend the serialized format to add metadata needed for loading the keystore with no assumptions about keystore type (so that we can change this in the future) as well as whether the keystore has a password (so that we can know whether prompting is necessary when we add support for keystore passwords).
2016-11-10Update Joda Time to version 2.9.5 (#21468)Tanguy Leroux
This commit updates JodaTime to version 2.9.5 that contain a fix for a bug when parsing time zones (see https://github.com/JodaOrg/joda-time/pull/332, https://github.com/JodaOrg/joda-time/issues/386 and https://github.com/JodaOrg/joda-time/issues/373). It also remove the joda-convert dependency that seems to be unused. closes #20911 Here is the changelog for 2.9.5: ``` Changes in 2.9.5 ---------------- - Add Norwegian period translations [#378] - Add Duration.dividedBy(long,RoundingMode) [#69, #379] - DateTimeZone data updated to version 2016i - Fixed bug where clock read twice when comparing two nulls in DateTimeComparator [#404] - Fixed minor issues with historic time-zone data [#373] - Fix bug in time-zone binary search [#332, #386] The fix in v2.9.2 caused problems when the time-zone being parsed was not the last element in the input string. New approach uses a different approach to the problem. - Update tests for JDK 9 [#394] - Close buffered reader correctly in zone info compiler [#396] - Handle locale correctly zone info compiler [#397] ```
2016-11-07Move licenses for core jar to core directory (#21383)Ryan Ernst
All plugins currently have their own licenses dir for the dependencyLicenses task, but core disables this and has the check inside distribution. This may have been better for maven, but for gradle it makes more sense to just use the dependencyLicenses task that automatically exists inside :core, and remove the hacked up version that is inside distribution.
2016-10-07Upgrade Log4j 2 to version 2.7Jason Tedor
This commit upgrades the Log4j 2 dependency to version 2.7 and removes some hacks that we had in place to work around bugs in Log4j 2 version 2.6.2. Relates #20805
2016-09-19Build: Remove old maven deploy support (#20403)Ryan Ernst
* Build: Remove old maven deploy support This change removes the old maven deploy that we have in parallel to maven-publish, and makes maven-publish fully work with publishing to maven local. Using `gradle publishToMavenLocal` should be used to publish to .m2. Note that there is an unfortunate hack that means for zip artifacts we must first create/publish a dummy pom file, and then follow that with the real pom file. It would be nice to have the pom file contains packaging=zip, but maven central then requires sources and javadocs. But our zips are really just attached artifacts, so we already set the packaging type to pom for our zip files. This change just works around a limitation of the underlying maven publishing library which silently skips attached artifacts when the packaging type is set to pom. relates #20164 closes #20375 * Remove unnecessary extra spacing
2016-08-30Introduce Log4j 2Jason Tedor
This commit introduces Log4j 2 to the stack.
2016-08-05Update to Jackson 2.8.1Tanguy Leroux
This commit updates Jackson to the 2.8.1 version, which is more strict when it comes to build objects. It also adds the snakeyaml dependency that was previously shaded in jackson libs. It also closes #18076
2016-07-11Move netty transport and http into a moduleSimon Willnauer
This moves all netty code and it's dependency into a module.
2016-07-07Die with dignityJason Tedor
Today when a thread encounters a fatal unrecoverable error that threatens the stability of the JVM, Elasticsearch marches on. This includes out of memory errors, stack overflow errors and other errors that leave the JVM in a questionable state. Instead, the Elasticsearch JVM should die when these errors are encountered. This commit causes this to be the case. Relates #19272
2016-07-07Dependencies: Update to jopt-5.0 (#19278)Alexander Reelsen
The new version of jopt allows us to remove a couple of TODOs in the code. Closes #12368
2016-07-05Upgrade to netty 3.10.6.Final (#19235)Simon Willnauer
2016-06-23Upgrade JNA to 4.2.2 and remove optionalityJason Tedor
This commit upgrades JNA from version 4.1.0 to 4.2.2. Additionally, this dependency is now non-optional as JNA is dual-licensed with Apache License 2.0 since JNA 4.0.0. Relates #19045
2016-05-27Upgrade joda-time to 2.9.4Jason Tedor
This commit upgrades joda-time to version 2.9.4 to integrate a bug fix there into Elasticsearch. Relates #18609
2016-05-25Plugins: use resource files for list of modules and pluginsRyan Ernst
This adds modules.txt and plugins.txt to the core jar resource files, which the install plugin command statically loads, in place of the previously hardcoded lists (which have often gone out of date).
2016-05-06Remove unnecessary nebula source or javadoc pluginsRyan Ernst
2016-05-05Build: Add pom generation to assemble taskRyan Ernst
In preparation for a unified release process, we need to be able to generate the pom files independently of trying to actually publish. This change adds back the maven-publish plugin just for that purpose. The nexus plugin still exists for now, so that we do not break snapshots, but that can be removed at a later time once snapshots are happenign through the unified tools. Note I also changed the dir jars are written into so that all our artifacts are under build/distributions.
2016-03-18Revert "Build: Switch to maven-publish plugin"Ryan Ernst
This reverts commit a90a2b34fc6fd135b23f6518156078f03804b7ae.
2016-03-17Still create the archive name for core as elasticsearchRyan Ernst
2016-03-15Build: Switch to maven-publish pluginRyan Ernst
The build currently uses the old maven support in gradle. This commit switches to use the newer maven-publish plugin. This will allow future changes, for example, easily publishing to artifactory. An additional part of this change makes publishing of build-tools part of the normal publishing, instead of requiring a separate upload step from within buildSrc. That also sets us up for a follow up to enable precomit checks on the buildSrc code itself.
2016-03-08Remove old commons-cli depRyan Ernst
2016-03-08Merge branch 'master' into cli-parsingRyan Ernst
2016-03-07upgrade to lucene 6.0.0-snapshot-bea235fRobert Muir
Closes #16964 Squashed commit of the following: commit a23f9d2d29220991aa498214530753d7a5a148c6 Merge: eec9c4e 0b0a251 Author: Robert Muir <rmuir@apache.org> Date: Mon Mar 7 04:12:02 2016 -0500 Merge branch 'master' into lucene6 commit eec9c4e5cd11e9c3e0b426f04894bb2a6dae4f21 Merge: bc67205 675d940 Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 13:45:00 2016 -0500 Merge branch 'master' into lucene6 commit bc67205bdfe1526eae277ab7856fc050ecbdb7b2 Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 09:56:31 2016 -0500 fix test bug commit a60723b007ff12d97b1810cef473bd7b553a0327 Author: Simon Willnauer <simonw@apache.org> Date: Fri Mar 4 15:35:35 2016 +0100 Fix SimpleValidateQueryIT to put braces around boosted terms commit ae3a49d7ba7ced448d2a5262e5d8ec98671a9090 Author: Simon Willnauer <simonw@apache.org> Date: Fri Mar 4 15:27:25 2016 +0100 fix multimatchquery commit ae23fdb88a8f6d3fb7ba60fd1aaf3fd72d899aa5 Author: Simon Willnauer <simonw@apache.org> Date: Fri Mar 4 15:20:49 2016 +0100 Rewrite DecayFunctionScoreIT to be independent of the similarity used This test relied a lot on the term scoring and compared scores that are dependent on the similarity. This commit changes the base query to be a predictable constant score query. commit 366c2d518c35d31251033f1b6f6a93f6e2ae327d Author: Simon Willnauer <simonw@apache.org> Date: Fri Mar 4 14:06:14 2016 +0100 Fix scoring in tests due to changes to idf calculation. Lucene 6 uses a different default similarity as well as a different way to calculate IDF. In contrast to older version lucene 6 uses docCount per field to calculate the IDF not the # of docs in the index to overcome the sparse field cases. commit dac99fd64ac2fa71b8d8d106fe68825e574c49f8 Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 08:21:57 2016 -0500 don't hardcoded expected termquery score commit 6e9f340ba49ab10eed512df86d52a121aa775b0f Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 08:04:45 2016 -0500 suppress deprecation warning until migrated to points commit 3ac8908424b3fdad44a90a4f7bdb3eff7efd077d Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 07:21:43 2016 -0500 Remove invalid test: all commits have IDs, and its illegal to do this. commit c12976288124ad1a26467e7e848fb810548e7eab Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 07:06:14 2016 -0500 don't test with unsupported back compat commit 18bbfe76128570bc70883bf91ff4c44c82d27817 Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 07:02:18 2016 -0500 remove now invalid lucene 4 backcompat test commit 7e730e572886f0ef2d3faba712e4256216ff01ec Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 06:58:52 2016 -0500 remove now invalid lucene 4 backwards test commit 244d2ab6868ba5ac9e0bcde3c2833743751a25ec Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 06:47:23 2016 -0500 use 6.0 codec commit 5f64d4a431a6fdaa1234adca23f154c2a1de8284 Author: Robert Muir <rmuir@apache.org> Date: Fri Mar 4 06:43:08 2016 -0500 compile, javadocs, forbidden-apis, etc commit 1f273cd62a7fe9ca8f8944acbbfc5cbdd3d81ccb Merge: cd33921 29e3443 Author: Simon Willnauer <simonw@apache.org> Date: Fri Mar 4 10:45:29 2016 +0100 Merge branch 'master' into lucene6 commit cd33921ac742ef9fb351012eff35f3c7dbda7264 Author: Robert Muir <rmuir@apache.org> Date: Thu Mar 3 23:58:37 2016 -0500 fix hunspell dictionary loading commit c7fdbd837b01f7defe9cb1c24e2ec65604b0dc96 Merge: 4d4190f d8948ba Author: Robert Muir <rmuir@apache.org> Date: Thu Mar 3 23:41:53 2016 -0500 Merge branch 'master' into lucene6 commit 4d4190fd82601aaafac6b8254ccb3edf218faa34 Author: Robert Muir <rmuir@apache.org> Date: Thu Mar 3 23:39:14 2016 -0500 remove nocommit commit 77ca69e288b1a41aa9595c921ed166c272a00ea8 Author: Robert Muir <rmuir@apache.org> Date: Thu Mar 3 23:38:24 2016 -0500 clean up numericutils vs legacynumericutils commit a466d696fbaad04b647ffbc0857a9439b583d0bf Author: Robert Muir <rmuir@apache.org> Date: Thu Mar 3 23:32:43 2016 -0500 upgrade spatial4j commit 5412c747a8cfe638bacedbc8233163cb75cc3dc5 Author: Robert Muir <rmuir@apache.org> Date: Thu Mar 3 23:19:28 2016 -0500 move to 6.0.0-snapshot-8eada27 commit b32bfe924626b87e540692375ece09e7c2edb189 Author: Adrien Grand <jpountz@gmail.com> Date: Thu Mar 3 11:30:09 2016 +0100 Fix some test compile errors. commit 6ccde35e9840b03c68d1a2cd47c7923a06edf64a Author: Adrien Grand <jpountz@gmail.com> Date: Thu Mar 3 11:25:51 2016 +0100 Current Lucene version is 6.0.0. commit f62e1015d931b4cc04c778298a8fa1ba65e97ad9 Author: Adrien Grand <jpountz@gmail.com> Date: Thu Mar 3 11:20:48 2016 +0100 Fix compile errors in NGramTokenFilterFactory. commit 6837c6eabf96075f743649da9b9b52dd39611c58 Author: Adrien Grand <jpountz@gmail.com> Date: Thu Mar 3 10:50:59 2016 +0100 Fix the edge ngram tokenizer/filter. commit ccd7f070de5efcdfbeb34b9555c65c4990bf1ba6 Author: Adrien Grand <jpountz@gmail.com> Date: Thu Mar 3 10:42:44 2016 +0100 The missing value is now accessible through a getter. commit bd3b77f9b28e5b05daa3d49683a9922a6baf2963 Author: Adrien Grand <jpountz@gmail.com> Date: Thu Mar 3 10:41:51 2016 +0100 Remove IndexCacheableQuery. commit 05f3091c347aeae80eeb16349ac51d2b53cf86f7 Author: Adrien Grand <jpountz@gmail.com> Date: Thu Mar 3 10:39:43 2016 +0100 Fix compilation of function_score queries. commit 81cda79a2431ac78f56b0cc5a5765387f662d801 Author: Adrien Grand <jpountz@gmail.com> Date: Thu Mar 3 10:35:02 2016 +0100 Fix compile errors in BlendedTermQuery. commit 70994ce8dd1eca0b995870974a38e20f26f96a7b Author: Robert Muir <rmuir@apache.org> Date: Wed Mar 2 23:33:03 2016 -0500 add bug ID commit 29d4f1a71f36f646b5a6060bed3db019564a279d Author: Robert Muir <rmuir@apache.org> Date: Wed Mar 2 21:02:32 2016 -0500 easy .store changes commit 5e1a1e6fd665fa455e88d3a8987362fad5f44bb1 Author: Robert Muir <rmuir@apache.org> Date: Wed Mar 2 20:47:24 2016 -0500 cleanups mostly around boosting commit 333a669ec6c305ada5645d13ed1da0e19ec1d053 Author: Robert Muir <rmuir@apache.org> Date: Wed Mar 2 20:27:56 2016 -0500 more simple fixes commit bd5cd98a1e089c866b6b4a5e159400b110140ce6 Author: Robert Muir <rmuir@apache.org> Date: Wed Mar 2 19:49:38 2016 -0500 more easy fixes and removal of ancient cruft commit a68f419ee47da5f9c9ce5b372f01d707e902474c Author: Robert Muir <rmuir@apache.org> Date: Wed Mar 2 19:35:02 2016 -0500 cutover numerics commit 4ca5dc1fa47dd5892db00899032133318fff3116 Author: Robert Muir <rmuir@apache.org> Date: Wed Mar 2 18:34:18 2016 -0500 fix some constants commit 88710a17817086e477c6c021ec346d0534b7fb88 Author: Robert Muir <rmuir@apache.org> Date: Wed Mar 2 18:14:25 2016 -0500 Add spatial-extras jar as a core dependency commit c8cd6726583e5ce3f546ed355d4eca037164a30d Author: Robert Muir <rmuir@apache.org> Date: Wed Mar 2 18:03:33 2016 -0500 update to lucene 6 jars
2016-03-04Merge branch 'master' into cli-parsingRyan Ernst
2016-02-29Added jopt simple option parser and switched plugin cli to use itRyan Ernst
2016-02-26Remove optional logger wrappersNik Everett
Removes all our logger wrappers except the wrapper for log4j1.2. If you depend on Elasticsearch's jar in your application you'll need to declare log4j 1.2 and/or some bridge to your favorite logger. We did this to simplify our builds and code. No more commons-logging like log implementation sniffing. No more optional dependency hacks in gradle. We might one day want to use j.u.l instead of log4j. If we do want that we can recover its wrapper by studying this commit. We didn't go directly to j.u.l in this commit because that is a bigger change. Our logging configuration is based on log4j1.2 and people are used to it. So it'd be a much more fraught breaking change to do that conversion.
2016-01-11Ban SerializableNik Everett
1. Uses forbidden patterns to prevent things from referencing java.io.Serializable or from mentioning serialVersionUID. 2. Uses -Xlint:-serial so we don't have to hear from javac that we aren't declaring serialVersionUID on any classes that we make that happen to extend Serializable. 3. Remove Serializable and serialVersionUID declarations. I didn't use forbidden apis because it doesn't look like it has a way to ban explicitly implementing Serializable. If you try to ban Serializable with forbidden apis you end up banning all Exceptions and all Strings. Closes #15847
2016-01-06Remove Xlint:-override,-fallthrough,-staticNik Everett
Adds `@SuppressWarnings("fallthrough")` in two places where the fallthrough is used to implement well known hashing algorithms.
2015-12-28Improve thirdPartyAudit check, round 3Robert Muir
2015-12-18Remove wildcard importsRyan Ernst
2015-12-17Build: Move test framework under a "test" top level dirRyan Ernst
This allows adding more test projects, eg integ test fixtures that will be coming soon.
2015-12-17thirdPartyAudit round 2Robert Muir
This fixes the `lenient` parameter to be `missingClasses`. I will remove this boolean and we can handle them via the normal whitelist. It also adds a check for sheisty classes (jar hell with the jdk). This is inspired by the lucene "sheisty" classes check, but it has false positives. This check is more evil, it validates every class file against the extension classloader as a resource, to see if it exists there. If so: jar hell. This jar hell is a problem for several reasons: 1. causes insanely-hard-to-debug problems (like bugs in forbidden-apis) 2. hides problems (like internal api access) 3. the code you think is executing, is not really executing 4. security permissions are not what you think they are 5. brings in unnecessary dependencies 6. its jar hell The more difficult problems are stuff like jython, where these classes are simply 'uberjared' directly in, so you cant just fix them by removing a bogus dependency. And there is a legit reason for them to do that, they want to support java 1.4.
2015-12-16add some more comments about internal api usageRobert Muir
2015-12-16Add gradle thirdPartyAudit to precommit tasksRobert Muir
2015-12-08refactor mustache to lang-mustache plugin. No rest tests yet.Robert Muir
2015-12-04Remove unused dependency on rest spec in core integ testsRyan Ernst
2015-12-02Merge pull request #15172 from rmuir/nuke_unused_depsRobert Muir
remove unused core dependencies
2015-12-01Build: Cleanup precommit task gradle codeRyan Ernst
This change attempts to simplify the gradle tasks for precommit. One major part of that is using a "less groovy style", as well as being more consistent about how tasks are created and where they are configured. It also allows the things creating the tasks to set up inter task dependencies, instead of assuming them (ie decoupling from tasks eleswhere in the build).
2015-12-01remove unused dependenciesRobert Muir
2015-11-22Build: Change project attachment into special extra-plugins dirRyan Ernst
Currently we use the "gradle project attachment plugin" to support building elasticsearch as part of another project. However, this plugin has a number of issues, a large part of which is requiring consistent use of the projectsPrefix. This change removes projectsPrefix, and adds support for a special extra-plugins directory in the root of elasticsearch. Any projects checked out within this directory will be automatically added to elasticsearch.
2015-11-10Build: Remove transitive dependenciesRyan Ernst
Transitive dependencies can be confusing and hard to deal with when conflicts arise between them. This change removes transitive dependencies from elasticsearch, and forces any dependency conflicts to be resolved manually, instead of automatically by gradle. closes #14627
2015-11-09Build: Consolidate dependencies specified in multiple placesRyan Ernst
Some dependencies must be specified in a couple places in the build. e.g. randomized runner is specified both in buildSrc (for the gradle wrapper plugin), as well as in the test-framework. This change creates buildSrc/versions.properties which acts similar to the set of shared version properties we used to have in the maven parent pom.
2015-11-08replacing run.bat and run.sh with gradle runandrejserafim
run.sh and run.bat were calling out to the old maven build system. This is no longer in place, so we've created new gradle tasks to start an elasticsearch node from the current codebase. fixed #14423
2015-11-06Build: Fix eclipse generation to add a core-tests projectsRyan Ernst
Eclipse does not have the ability to differentiate test dependencies from main dependencies. This causes what looks like a circular dependency through test-framework. This change sets up an additional core-tests project for eclipse only, which removes this problem.