2017-02-19 1 views
0

Gradle 문서는 기본 SourceSet, main, is compiled and assembled into a Jar이라고합니다. 커스텀 플러그인을 사용하여 컴파일하고자하는 Java 이외의 템플릿 파일 그룹이 있습니다. SourceSet 개념은 이러한 모든 템플릿 파일을 체계적으로 유지하는 좋은 방법 인 것처럼 보이지만 Gradle이 Java 파일로 컴파일하려고하지는 않습니다. 기본 SourceSet 동작을 재정의하여 SourceSet의 파일에 수행 할 작업을 정확하게 Gradle에 알릴 수있는 방법이 있습니까? 그렇지 않다면 Java가 아닌 소스 파일을 논리 단위로 그룹화하는 데 사용할 수있는 또 다른 Gradle 구조가 있습니까?일반 SourceSet 동작 무시,

+0

소스의 폴더 구조와 소스 코드의 gradle 정의를 추가해야 할 수도 있습니다. – sm4

+0

문제를 해결 했습니까? – sm4

답변

1

다음은 조직이 아닌 자바 파일을 유지하는 방법 및 그 처리 방법을 예입니다 :

apply plugin: "java" 

sourceSets { 
    template { 
     resources { 
      srcDir 'src/template' 
      include '**/*' 
     } 
    } 
} 

processTemplateResources { 
    doLast { 
     println sourceSets.template.output.classesDir 
     FileTree tree = fileTree(dir: sourceSets.template.output.resourcesDir) 
     tree.forEach { 
      println it 
     } 
    } 
} 

jar { 
    from sourceSets.main.output 
    from sourceSets.template.output 
} 

나는 새로운 자원을 전용 소스 세트를 정의했다. 이렇게하면 자원을 출력 디렉토리에 복사하는 프로세스 자원 작업이 자동으로 추가됩니다. 그런 다음 거기에서 처리 할 수 ​​있습니다.

결국, 필요한 경우 항아리에 추가하기 만하면됩니다.