2017-03-29 3 views
0

나는 Android Studio 2.3의 Gradle 3.3에 어려움을 겪고 있습니다. 나는 CFG 섹션에 inputs.dir 및 outputs.dir을 지정하는 자산 생성 작업이 : 나는 Gradle을 입력 폴더 변경 내용을 확인 할 것으로 예상내 작업을위한 Gradle 증분 빌드 : 무엇이 잘못 되었나요?

task compileAssets{ 

inputs.dir 'src/main/assets_src' 
outputs.dir 'src/main/assets' 

def proj_src = 'src/main/' 
def abs_proj_src = project.projectDir.getAbsolutePath() + '/' + 'src/main/' 
abs_proj_src = abs_proj_src.replace('\\','/') 

doLast { 
    delete(proj_src + 'assets') 
    mkdir(proj_src + 'assets') 

    copy 
     { 
      from proj_src + 'assets_src' 
      include 'xml/**' 
      include 'fonts/**' 
      include 'shaders/**' 
      into proj_src + 'assets' 
     } 

    javaexec{ 
     main = '-jar' 
     args = [ 
      "../../utils/encoder.jar", 
      abs_proj_src + 'assets_src/bin/levels', 
      abs_proj_src + 'assets/bin/levels', 
      '-rewrite' 
     ] 
    } 
} 

을 일부 파일이 추가 된 경우, 제거하거나 허용 변경된 작업을 실행하려면 'UP-TO-DATE'가 인쇄됩니다. 그러나 삭제 (...) 및 mkdir (...) 만 해당됩니다. 그렇지 않으면 매번 실행됩니다. 어쩌면 내가 '점진적 빌드'라는 용어를 잘못된 방식으로 이해 했을까? 아니면 작업 크기 제한이 있습니까, 아니면 javaexec 또는 copy가 증분 빌드에서 금지되어 있습니까?

추신. make 명령으로 AS Gradle 프로젝트 창에서 직접 작업을 시작하려고했습니다.

답변

0

내 실수였습니다. 내가 < < 또는 doLast를 추가하는 것을 잊었다 곳 아래, cleanAssets 작업을 정의 :

task cleanAssets{ 
     delete(proj_src + 'assets') 
     mkdir(proj_src + 'assets') 
} 

그래서 모든 삭제 된 구성 상 자산 폴더에 구축 할 수 있습니다. 이상한!