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
This commit is contained in:
Jason Tedor 2017-08-14 22:19:23 +09:00 committed by GitHub
parent d896e62703
commit 628685a712
1 changed files with 8 additions and 2 deletions

View File

@ -91,6 +91,10 @@ Make sure you have [Gradle](http://gradle.org) installed, as
Elasticsearch uses it as its build system. Gradle must be at least Elasticsearch uses it as its build system. Gradle must be at least
version 3.3 in order to build successfully. version 3.3 in order to build successfully.
We support development in the Eclipse and IntelliJ IDEs. For Eclipse, the
minimum version that we support is [Eclipse Oxygen][eclipse] (version 4.7). For
IntelliJ, the minimum version that we support is [IntelliJ 2017.2][intellij].
Eclipse users can automatically configure their IDE: `gradle eclipse` Eclipse users can automatically configure their IDE: `gradle eclipse`
then `File: Import: Existing Projects into Workspace`. Select the then `File: Import: Existing Projects into Workspace`. Select the
option `Search for nested projects`. Additionally you will want to option `Search for nested projects`. Additionally you will want to
@ -102,11 +106,10 @@ then `File->New Project From Existing Sources`. Point to the root of
the source directory, select the source directory, select
`Import project from external model->Gradle`, enable `Import project from external model->Gradle`, enable
`Use auto-import`. Additionally, in order to run tests directly from `Use auto-import`. Additionally, in order to run tests directly from
IDEA 2017.1 and above it is required to disable IDEA run launcher, IDEA 2017.2 and above it is required to disable IDEA run launcher,
which can be achieved by adding `-Didea.no.launcher=true` which can be achieved by adding `-Didea.no.launcher=true`
[JVM option](https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties) [JVM option](https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties)
The Elasticsearch codebase makes heavy use of Java `assert`s and the The Elasticsearch codebase makes heavy use of Java `assert`s and the
test runner requires that assertions be enabled within the JVM. This test runner requires that assertions be enabled within the JVM. This
can be accomplished by passing the flag `-ea` to the JVM on startup. can be accomplished by passing the flag `-ea` to the JVM on startup.
@ -172,3 +175,6 @@ especially when they are unlikely to become long time contributors.
Finally, we require that you run `gradle check` before submitting a Finally, we require that you run `gradle check` before submitting a
non-documentation contribution. This is mentioned above, but it is worth non-documentation contribution. This is mentioned above, but it is worth
repeating in this section because it has come up in this context. repeating in this section because it has come up in this context.
[eclipse]: http://www.eclipse.org/community/eclipse_newsletter/2017/june/
[intellij]: https://blog.jetbrains.com/idea/2017/07/intellij-idea-2017-2-is-here-smart-sleek-and-snappy/