Commit Graph

55 Commits

Author SHA1 Message Date
Nik Everett 2c81d7f77e
Build: Rework shadow plugin configuration (#32409)
This reworks how we configure the `shadow` plugin in the build. The major
change is that we no longer bundle dependencies in the `compile` configuration,
instead we bundle dependencies in the new `bundle` configuration. This feels
more right because it is a little more "opt in" rather than "opt out" and the
name of the `bundle` configuration is a little more obvious.

As an neat side effect of this, the `runtimeElements` configuration used when
one project depends on another now contains exactly the dependencies needed
to run the project so you no longer need to reference projects that use the
shadow plugin like this:

```
testCompile project(path: ':client:rest-high-level', configuration: 'shadow')
```

You can instead use the much more normal:

```
testCompile "org.elasticsearch.client:elasticsearch-rest-high-level-client:${version}"
```
2018-08-21 20:03:28 -04:00
aaronoah b2c2c94741 Docs: Add all JDKs to CONTRIBUTING.md 2018-07-31 17:04:31 -04:00
Nik Everett e6b9f59e4e
Build: Shadow x-pack:protocol into x-pack:plugin:core (#32240)
This bundles the x-pack:protocol project into the x-pack:plugin:core
project because we'd like folks to consider it an implementation detail
of our build rather than a separate artifact to be managed and depended
on. It is now bundled into both x-pack:plugin:core and
client:rest-high-level. To make this work I had to fix a few things.

Firstly, I had to make PluginBuildPlugin work with the shadow plugin.
In that case we have to bundle only the `shadow` dependencies and the
shadow jar.

Secondly, every reference to x-pack:plugin:core has to use the `shadow`
configuration. Without that the reference is missing all of the
un-shadowed dependencies. I tried to make it so that applying the shadow
plugin automatically redefines the `default` configuration to mirror the
`shadow` configuration which would allow us to use bare project references
to the x-pack:plugin:core project but I couldn't make it work. It'd *look*
like it works but then fail for transitive dependencies anyway. I think
it is still a good thing to do but I don't have the willpower to do it
now.

Finally, I had to fix an issue where Eclipse and IntelliJ didn't properly
reference shadowed transitive dependencies. Neither IDE supports shadowing
natively so they have to reference the shadowed projects. We fix this by
detecting `shadow` dependencies when in "Intellij mode" or "Eclipse mode"
and adding `runtime` dependencies to the same target. This convinces
IntelliJ and Eclipse to play nice.
2018-07-24 11:53:04 -04:00
Lisa Cawley 3960a7a310
[DOCS] Update readme for testing x-pack code snippets (#30696) 2018-05-31 09:32:22 -07:00
Nik Everett 6884b79128
Add a quick tour of the project to CONTRIBUTING (#30187)
Adds a description of the most important subdirectories to
`CONTRIBUTING.md` to help folks that are less familiar with the project
get their bearings. It reflects that state of the project right now so
it will inevitably go out of date. But I'll try and keep it up to date.
2018-05-07 19:43:18 -04:00
Tal Levy 5785245ae1
add copyright/scope configuration for intellij to Contributing Guide (#29688)
* add copyright/scope configuration for intellij

This commit introduces a section discussing the ability to define
copyright rules in intellij for inserting the appropriate copyright
headers into files across both apache2-Elasticsearch, as well as the
commercial code under `x-pack`.

Some other re-organization was made to create more sub-structure

* update to reflect reviewer comments
2018-04-26 08:19:17 -07:00
Jason Tedor 38fd9998e7
Require JDK 10 to build Elasticsearch (#29174)
This commit bumps the minimum compiler version required to build
Elasticsearch from JDK 9 to JDK 10.
2018-03-27 19:45:13 -04:00
Mikal 5cbafa4eba Updated distribution outputs in contributing docs
This commit updates the path to the output of building distributions
from source in the contributing docs.

Relates #28722
2018-02-20 12:08:11 -05:00
Tal Levy c122a6d4a0
remove recommended junit intellij setting change (#28274)
The "Shorten Command Line" setting in Intellij's JUnit test configuration
was recommended to change to `classpath file`. This setting has been
causing issues with JDK9 where some modules were not being found at
runtime. This PR removes the recommendation to change this setting and
instead asks that users verify that it is set to `user-local default:none`.
2018-01-17 15:01:02 -08:00
Jason Tedor 0a79555a12
Require JDK 9 for compilation (#28071)
This commit modifies the build to require JDK 9 for
compilation. Henceforth, we will compile with a JDK 9 compiler targeting
JDK 8 as the class file format. Optionally, RUNTIME_JAVA_HOME can be set
as the runtime JDK used for running tests. To enable this change, we
separate the meaning of the compiler Java home versus the runtime Java
home. If the runtime Java home is not set (via RUNTIME_JAVA_HOME) then
we fallback to using JAVA_HOME as the runtime Java home. This enables:
 - developers only have to set one Java home (JAVA_HOME)
 - developers can set an optional Java home (RUNTIME_JAVA_HOME) to test
   on the minimum supported runtime
 - we can test compiling with JDK 9 running on JDK 8 and compiling with
   JDK 9 running on JDK 9 in CI
2018-01-16 13:45:13 -05:00
hyeonyoung na 27bbec0c19 Update contributing docs to use the Gradle wrapper
This commit updates the contributing docs to reference the introduction
of the Gradle wrapper.

Relates #28103
2018-01-05 12:16:15 -05:00
Jason Tedor 480aeb7eb7
Introduce Gradle wrapper
We have agreed to introduce the Gradle wrapper to simplify workflows for
developers, and managing infrastructure (e.g., CI, release builds, etc.)
as well as consideration for the fact that other projects in our stack
use Gradle and do not necessarily want to be tied to our Gradle version.

Relates #28065
2018-01-04 16:36:13 -05:00
Doug Turnbull 507aac4424 Update CONTRIBUTING.md to indicate Gradle >= 4.3 is required (#27980)
Relates #27885.
2017-12-26 12:46:44 +00:00
Avneesh Chadha 58b4d6c5fc [Issue-27716]: CONTRIBUTING.md IntelliJ configurations settings are confusing. (#27717)
* Improved paragraph describing how to run unit tests from Intellij.
* Added information about how to run a local copy of elasticsearch from the source.
2017-12-08 14:31:45 +01:00
Catalin Ursachi e584c52017 Clarify IntelliJ IDEA Jar Hell fix (#27635) 2017-12-05 14:39:01 -08:00
David Roberts f123785d34
Add note on how to avoid Jar Hell in IntelliJ 2017.3 to contributing guide (#27614)
When running unit tests direct from the IDE this setting change is needed
in addition to the idea.no.launcher property that previous versions of IntelliJ
needed.
2017-12-01 12:42:09 +00:00
Yu 57da9dc57f Clarify setting IntelliJ preferences
This commit clarifies that the preferences menu in IntelliJ can differ
by OS (IntelliJ -> Preferences on macOS and Settings on Linux/Windows).

Relates #27575
2017-11-28 19:46:24 -05:00
Ryan Ernst a6ae6b5a9a Docs: Add note to contributing docs warning against tool based refactoring (#26936)
This commit adds a warning to deter contributers from creating PRs
generated by tools to do large refactors just for the sake of
refactoring.
2017-10-09 14:49:24 -07:00
David Turner 37453eef6f Add more instructions about jar hell (#26837)
Including the fact that IntelliJ 2017.2 seems to have a spurious jar on its
classpath.
2017-09-29 15:27:57 +01:00
Jason Tedor 628685a712 Clarify IDE versions
This commit clarifies the minimum IDE versions that we support for
development. We need to formally state that the minimum that we support
for Eclipse is Eclipse Oxygen because Eclipse Neon and prior releases
have type inference bugs that lead to compilation issues that cause us
to have to contort our code to support Eclipse and it appears that
Eclipse Oxygen is less-prone to these issue. And the recent high-level
REST shading work seems to work best in Intellij 2017.2. Therefore, we
state these versions explicitly.

Relates #26194
2017-08-14 22:19:23 +09:00
Igor Motov 7e437f2366 Document work-around for jar hell in idea_rt.jar file (#24523) 2017-05-08 07:34:36 -04:00
Simon Willnauer 8cfb9e446c Move back to 140 chars line length (#24013)
This reverts the line limit change in #23623 - this PR doesn't touch the suppression file since we are moving towards automatic code formatting which makes it mainly obsolete.
2017-04-10 17:07:18 +02:00
Jason Tedor df67f83834 Update contributing docs for line-length change
The line-length standard has changed from 140 columns to 100
columns. This commit updates the contributing docs to reflect this
change.
2017-03-27 20:01:52 -04:00
Boaz Leskes 38a18db81e Revert "Revert "Build: Upgrade min gradle to 3.3 (#23544)""
This reverts commit f926a717ed.
2017-03-21 11:20:04 +01:00
Boaz Leskes f926a717ed Revert "Build: Upgrade min gradle to 3.3 (#23544)"
This reverts commit 5d5815416d.
2017-03-21 10:34:07 +01:00
Ryan Ernst 5d5815416d Build: Upgrade min gradle to 3.3 (#23544)
This will allow us to get rid of deprecation warnings that appear when
using 3.3, and also get rid of extra logic for 2.13 required because of
the progress logger.
2017-03-20 21:15:17 -07:00
Nik Everett 7b4c5fe29f docs: guidelines for students and teachers (#23648)
Short summary: contributing code you wrote for a class is fine, just
don't make the contribution process part of a class.
2017-03-20 09:29:26 -04:00
Tom Manterfield 1bf11dc09a Updated documentation to include precise version of gradle currently required for building (#20776) 2016-10-07 20:24:37 +02:00
Alexander Guz 135a19e7a1 Added wildcards imports configuration for IntelliJ IDEA
Closes #20534
2016-09-17 17:29:24 -04:00
Jason Tedor be0bbce5df Clarify squashing of pull request commits
This commit rewords the note regarding the squashing of pull request
commits to make it clearer that the note applies to everyone and not
just external contributors.
2016-05-16 21:18:49 -04:00
Jason Tedor 0037a579a4 Add note to contributing docs about force push
This commit adds a note to the contributing docs regarding force pushing
during the review process.

Relates #18380
2016-05-16 17:34:32 -04:00
Shubham Aggarwal 80a7265276 Update CONTRIBUTING.md
Fix typo

Relates #18330
2016-05-13 10:27:40 -04:00
Jason Tedor 1385e25542 Add note on configuring assertions in IDEs
This commit adds a note to the contributing docs on how to configure
assertions inside Eclipse and IntelliJ.

Relates #18107
2016-05-03 09:20:19 -04:00
Jason Tedor e601e02912 Fix path to assembled packages in contributing doc
This commit fixes the specification of the path to assembled packages in
the contributing doc.

Closes #17725
2016-04-13 13:57:19 -04:00
qwerty4030 9008eadd0d Fixed broken links in CONTRIBUTING.md 2016-03-27 14:57:51 -07:00
Clinton Gormley b1cf2b2cb3 Moved CONTRIBUTING.md back to the root directory
The CONTRIBUTING.md file can be in the root directory or
in the .github directory and will still be used for
the contributing guidelines on Github.

Moved back to the root directory so that it is more
visible outside Github
2016-03-12 14:58:30 +01:00
Jason Tedor 79da609439 Add issue template
This commits adds an issue template for contributors that open bug
reports or feature requests.

Additionally, this commit adds a .github subdirectory to the project and
moves the CONTRIBUTING.md file to that directory.

Closes #16773
2016-02-22 15:05:36 -08:00
Robert Muir 0f518e1b07 fix typo 2015-12-11 13:23:33 -05:00
Nik Everett 783ba19086 Update contributing.md for forbidding import foo.* 2015-12-11 11:44:49 -05:00
Robert Muir 3961c9b58b fix eclipse (again) 2015-10-31 02:39:35 -04:00
Robert Muir 10d4f17aa8 make eclipse work without specifying a sysprop 2015-10-30 14:21:06 -04:00
Robert Muir 9bdc10802e Get eclipse working with gradle 2015-10-30 11:39:31 -04:00
Ryan Ernst c86100f636 Switch build system to Gradle
See #13930
2015-10-29 11:40:19 -07:00
Andreas Kohn cccbfe4fe4 Fix the link pointing to the repository 2015-10-08 12:43:26 +02:00
Ryan Schneider d26abe6ce5 add more notes about Eclipse setup
- "search for nested projects..."
- amount of memory Eclipse needs to build elasticsearch successfully
- make sure m2e-connector is not installed
2015-09-09 16:08:19 -04:00
David Pilato 2babdaefd4 Fix links to elastic.co github elastic group 2015-08-09 12:19:28 +02:00
astefan 98d9a2e946 Update CONTRIBUTING.md 2015-07-02 10:58:47 +03:00
Simon Willnauer 9b833fdf4e Fix CONTRIBUTING.md to include accurate information 2015-06-12 20:17:00 +02:00
mdalton 9646083c5a [Docs] Fix incorrect eclipse m2e markdown syntax
Closes #7546.
2014-09-04 06:20:29 +02:00
Clinton Gormley be2b8066d1 Docs: Updated CONTRIBUTING.md to provide more details about the PR process
Closes #6323
2014-06-12 13:07:04 +02:00