Browse Source

Merge pull request #14411 from rmuir/fix_eclipse

fix eclipse (again)
Robert Muir 10 years ago
parent
commit
ebec4bdaf6
3 changed files with 13 additions and 7 deletions
  1. 1 1
      CONTRIBUTING.md
  2. 12 5
      build.gradle
  3. 0 1
      plugins/delete-by-query/.gitignore

+ 1 - 1
CONTRIBUTING.md

@@ -76,7 +76,7 @@ Contributing to the Elasticsearch codebase
 
 
 **Repository:** [https://github.com/elastic/elasticsearch](https://github.com/elastic/elasticsearch)
 **Repository:** [https://github.com/elastic/elasticsearch](https://github.com/elastic/elasticsearch)
 
 
-Make sure you have [Gradle](http://gradle.org) installed, as Elasticsearch uses it as its build system. Integration with IntelliJ and Eclipse should work out of the box. Eclipse users can automatically configure their IDE: `File > Import -> Gradle -> Gradle project`. Additionally you will want to ensure that Eclipse is using 2048m of heap by modifying `eclipse.ini` accordingly to avoid GC overhead errors.
+Make sure you have [Gradle](http://gradle.org) installed, as Elasticsearch uses it as its build system. Integration with IntelliJ and Eclipse should work out of the box. Eclipse users can automatically configure their IDE: `gradle eclipse` then `File: Import: Existing Projects into Workspace`. Select the option `Search for nested projects`. Additionally you will want to ensure that Eclipse is using 2048m of heap by modifying `eclipse.ini` accordingly to avoid GC overhead errors.
 
 
 Please follow these formatting guidelines:
 Please follow these formatting guidelines:
 
 

+ 12 - 5
build.gradle

@@ -18,6 +18,7 @@
  */
  */
 
 
 import com.bmuschko.gradle.nexus.NexusPlugin
 import com.bmuschko.gradle.nexus.NexusPlugin
+import org.gradle.plugins.ide.eclipse.model.SourceFolder
 
 
 buildscript {
 buildscript {
   repositories {
   repositories {
@@ -161,14 +162,20 @@ if (hasProperty('projectsPrefix') == false) {
   }
   }
 }
 }
 
 
-// ecplise configuration
+// eclipse configuration
 allprojects {
 allprojects {
   apply plugin: 'eclipse'
   apply plugin: 'eclipse'
 
 
-  // TODO: similar for intellij
-  eclipse {
-    classpath {
-      defaultOutputDir = new File(project.buildDir, 'eclipse')
+  plugins.withType(JavaBasePlugin) {
+    eclipse.classpath.defaultOutputDir = new File(project.buildDir, 'eclipse')
+    eclipse.classpath.file.whenMerged { classpath ->
+      // give each source folder a unique corresponding output folder
+      int i = 0;
+      classpath.entries.findAll { it instanceof SourceFolder }.each { folder ->
+        i++;
+        // this is *NOT* a path or a file.
+        folder.output = "build/eclipse/" + i
+      }
     }
     }
   }
   }
   // otherwise the eclipse merging is *super confusing*
   // otherwise the eclipse merging is *super confusing*

+ 0 - 1
plugins/delete-by-query/.gitignore

@@ -1 +0,0 @@
-/bin/