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:
parent
d896e62703
commit
628685a712
|
@ -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/
|
||||||
|
|
Loading…
Reference in New Issue