사용자 도구

사이트 도구


gradle:eclipse

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
gradle:eclipse [2013/05/16 10:53]
kwon37xi [Gradle Ecliise Plugin]
gradle:eclipse [2015/11/14 01:16] (현재)
kwon37xi [Eclipse용 Gradle Plugin]
줄 13: 줄 13:
 apply plugin: 'eclipse-wtp' apply plugin: 'eclipse-wtp'
 </code> </code>
 +
 +===== Eclipse용 Gradle Plugin =====
 +Eclipse용 Gradle 플러그인을 원한다면
 +
 +  * [[gradle:eclipse_buildship|Eclipse Buildship]] : Eclipse 공식 Gradle Plugin Buildship
 +  * [[https://github.com/SpringSource/eclipse-integration-gradle/|Eclipse Integration Gradle]]. 잘 작동하는 듯 하며, 이 플러그인 자체가 Gradle Eclipse 플러그인에 의존하고 있는 듯 하다.
  
 ===== Multiple Project Import ===== ===== Multiple Project Import =====
줄 18: 줄 24:
   * 단, 이때 Eclipse 4.2 이하 버전은 최상위 프로젝트에 ''.project'' 파일이 있을 경우 하위 프로젝트들을 일괄적으로 가져오는 것이 안된다. 이로 인해 각각의 하위 프로젝트를 하나씩 Import 해야한다.   * 단, 이때 Eclipse 4.2 이하 버전은 최상위 프로젝트에 ''.project'' 파일이 있을 경우 하위 프로젝트들을 일괄적으로 가져오는 것이 안된다. 이로 인해 각각의 하위 프로젝트를 하나씩 Import 해야한다.
   * 하지만 최상위 프로젝트에서 ''.project'' 파일을 일시적으로 삭제하고, 최상위 경로로 일괄 Import를 한 뒤에 다시 ''.project'' 파일을 되살려 주면 이 문제를 해결할 수 있다.   * 하지만 최상위 프로젝트에서 ''.project'' 파일을 일시적으로 삭제하고, 최상위 경로로 일괄 Import를 한 뒤에 다시 ''.project'' 파일을 되살려 주면 이 문제를 해결할 수 있다.
-  * Eclipse 4.3에서는 이런 과정없이 될 것이라고 한다.+  * Eclipse 4.3에서는 이런 과정없이 Multi Project import가 잘 된다.
  
  
줄 63: 줄 69:
 ===== Default Output Dir ===== ===== Default Output Dir =====
 <code groovy> <code groovy>
-defaultOutputDir = file("${buildDir}/classes/main")+eclipse { 
 +    classpath { 
 +        defaultOutputDir = file("${buildDir}/classes/main") 
 +    } 
 +}
 </code> </code>
 +
 +==== 테스트 소스 Output Dir 변경 ====
 +<code groovy>
 +eclipse.classpath.file.whenMerged { cp ->
 + def testSrcs = cp.entries.findAll {
 + it instanceof org.gradle.plugins.ide.eclipse.model.SourceFolder &&
 + it.path.startsWith("src/test/")
 + }
 +
 + testSrcs.each {
 +                // 멀티 프로젝트에서는 꼭 project.relativePath 로 호출해야 한다.
 +                // 안그러면 Root 프로젝트에 대한 상대경로가 지정됨면서 하위 모듈의 프로젝트이름이 이중으로 들어감.
 + it.output = project.relativePath("${buildDir}/classes/test")
 + it.exported = false // Deployment Assembly에서 제외
 + }
 +         // 중복 엔트리 삭제. gradle eclipse를 두 번이상 실행하면 test 관련 디렉토리가 중복 생성된다.
 +         cp.entries.unique()
 +}
 +</code>
 +
 +===== 소스와 Java API Doc 함께 다운로드=====
 +<code groovy>
 +eclipse {
 +  classpath {
 +    //default settings for downloading sources and Javadoc:
 +    downloadSources = true
 +    downloadJavadoc = false
 +  }
 +}
 +</code>
 +
  
 ===== WTP ===== ===== WTP =====
줄 75: 줄 116:
         facet {         facet {
             facet name: 'jst.web', version: '2.5' // Servlet Spec Version 지정             facet name: 'jst.web', version: '2.5' // Servlet Spec Version 지정
-            facet name: 'jst.java', version: '6.0' // Java Version 지정+            facet name: 'jst.java', version: '1.6' // Java Version 지정, 1.7 ...
         }         }
     }     }
줄 167: 줄 208:
 </code> </code>
  
 +===== gradle eclipse 쉽게 실행하기 =====
 +  * **Run -> External Tools -> External Tools Configurations** 에서
 +  * ''gradle cleanEclipse eclipse clean'' 명령을 외부 프로그램으로 등록해준다.
 +  * 등록시 **Refresh** 탭에서 "Refresh resources upon completion."을 체크하고 "The entire workspace"를 선택해둔다. "Recursively include sub-folders"도 체크된 상태.
 +  * 등록시 **Common** 탭에서 "Display in favorites menu"의 "External Tools"체 체크해둔다.
 +  * 이제부터는 gradle 설정이 변경 되었을 때 이 명령만 실행하면 최종적으로 새로고침까지 모두 자동으로 수행된다.
 ===== target/build 디렉토리 derived로 만들기 ===== ===== target/build 디렉토리 derived로 만들기 =====
   * http://forums.gradle.org/gradle/topics/is_it_possible_to_have_gradle_mark_the_build_directory_as_derived_in_eclipse #TODO 테스트   * http://forums.gradle.org/gradle/topics/is_it_possible_to_have_gradle_mark_the_build_directory_as_derived_in_eclipse #TODO 테스트
  
 +
 +[[http://divinespear.blogspot.kr/2014/04/gradle-eclipse-expert.html|Gradle + Eclipse Expert]] 더 정리
gradle/eclipse.1368669214.txt.gz · 마지막으로 수정됨: 2013/05/16 10:53 저자 kwon37xi