사용자 도구

사이트 도구


gradle:from_maven

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
gradle:from_maven [2013/05/10 14:33]
kwon37xi
gradle:from_maven [2014/06/20 01:18] (현재)
kwon37xi [Gradle이 Maven보다 좋았던 점]
줄 7: 줄 7:
   * Maven은 상속 구조를 사용해 멀티 모듈을 구현한다. Gradle은 구성 주입(Configuration Injection)을 사용한다.   * Maven은 상속 구조를 사용해 멀티 모듈을 구현한다. Gradle은 구성 주입(Configuration Injection)을 사용한다.
     * Maven에서 특정 설정을 몇몇 모듈에서만 공통으로 사용하려면 불필요하게 부모 프로젝트를 생성하여 설정하고 그것을 자식들이 상속하게 해야 한다. 게다가 다른 모든게 같더라도 약간이라도 설정이 다른 프로젝트가 하나라도 있다면 그 프로젝트는 상속을 할 수 없고, 거의 모든 설정을 중복해서 해당 프로젝트에 넣어줘야 한다.     * Maven에서 특정 설정을 몇몇 모듈에서만 공통으로 사용하려면 불필요하게 부모 프로젝트를 생성하여 설정하고 그것을 자식들이 상속하게 해야 한다. 게다가 다른 모든게 같더라도 약간이라도 설정이 다른 프로젝트가 하나라도 있다면 그 프로젝트는 상속을 할 수 없고, 거의 모든 설정을 중복해서 해당 프로젝트에 넣어줘야 한다.
-    * Gradle은 공통 설정을 조건에 따라 특정 프로젝트에만 주입 가능하다. 불필요한 프로젝트는 필요없다.+    * Gradle은 공통 설정을 조건에 따라 특정 프로젝트에만 주입 가능하다. 불필요한 상속 전용 프로젝트는 필요없다.
   * 프로젝트에 상대적인 파일 경로로 작업을 할 때 Gradle은 ''rootProject.file()'' 로 쉽게 구성 가능하다.(특히 Eclipse linkedResources 적용할 때)   * 프로젝트에 상대적인 파일 경로로 작업을 할 때 Gradle은 ''rootProject.file()'' 로 쉽게 구성 가능하다.(특히 Eclipse linkedResources 적용할 때)
   * Maven은 자신만의 플러그인을 만들기가 힘들다. 하지만 Gradle은 ''build.gradle'' 혹은 ''buildSrc''를 통해 자신만의 플러그인과 태스크를 매우 쉽게 정의할 수 있다.   * Maven은 자신만의 플러그인을 만들기가 힘들다. 하지만 Gradle은 ''build.gradle'' 혹은 ''buildSrc''를 통해 자신만의 플러그인과 태스크를 매우 쉽게 정의할 수 있다.
줄 51: 줄 51:
 final String DEFAULT_PROFILE = 'development' final String DEFAULT_PROFILE = 'development'
 allprojects { allprojects {
-    if (!project.hasProperty('profile')) { +    if (!project.hasProperty('profile'|| !profile) { 
-        profile = DEFAULT_PROFILE+        ext.profile = DEFAULT_PROFILE
     }     }
  
 +    // 리소스에 각 프로필별 리소스 디렉토리 추가
 +    sourceSets {
 +        main {
 +            resources {
 +                srcDir "src/main/resources-${profile}"
 +            }
 +        }
 +    }
 } }
 </code> </code>
gradle/from_maven.1368163993.txt.gz · 마지막으로 수정됨: 2013/05/10 14:33 저자 kwon37xi