2016-06-14 3 views
0

나는 사용자 정의 플러그인을 입력 Copy의 작업을 쓸 때, 나는이 수행 '쓰기 사용자 정의 플러그인

class CopyJarsTask extends DefaultTask { 
    @TaskAction 
    def copyJars(){ 
     project.copy { 
     from('libs') 
     include("**/*") 
     into "jars" 
     } 
    } 
} 

는 마찬가지로, 나는 형 Zip의 작업을 쓰고 싶어하지만 우리는 돈 이 경우에는 project.zip과 같은 것이 없습니다. 사용자 정의 플러그인 작업 클래스에 유형 Zip의 작업을 작성하려면 어떻게해야합니까?

+0

당신이 그것을 작동 확신에 작업의 동작을 구성 할 필요가

? 예제를 제공해 주시겠습니까? – Opal

+0

만약 project.copy가 의미하는 것이라면, 나는 그것이 작동한다고 확신한다. – sver

+0

주석이 달린 메소드에 있다면 그렇다. 'project.copy' 만 주석 처리하면 실패합니다. – Opal

답변

0
당신은 Zip 클래스를 확장하고 생성자 예컨대 :
class CopyJarsTask extends Zip { 

    CopyJarsTask() { 
     from 'libs' 
     baseName = 'libs' 
    } 
} 

task archive(type: CopyJarsTask) 
+0

@TaskAction이 필요하지 않습니다.이 작업을 어떻게 수행합니까? – sver

+0

@sver, 그렇지 않습니다. 태스크는 어떤 액션도 포함하지 않을 수 있지만이 특별한 경우에는'Zip' 태스크로부터 상속받습니다. 작업을 구성하기 만하면됩니다. 당신은 gradle에서 실행 대 구성을 알고 있습니까? – Opal

+0

질문이 있습니다. 어디 정확히 내가 작업 아카이브 (유형 : CopyJarTask) 작성해야합니다. 같은 계급인가요? 또한, 생성자 안에 archiveName, from, include, exlude, destinationDir을 제공하고 있습니다. 괜찮습니까? – sver

관련 문제