2016-06-21 3 views
0

artifactory에 jar를 게시하려고합니다. 나는 이것을하고있다 :Jar 형식의 사용자 정의 플러그인 작업 만들기

project.publishing.publications{ task -> 
      mavenJava(MavenPublication) { 
       archives makeJar 
       } 

이제 makeJar에서 한 위치에서 다른 위치로 병을 복사하고 그냥 이름을 바꾼다. 복사 유형의 작업이지만이 작업은 Jar 작업과 같은 AbstractArchiveTask 유형이어야하는 오류가 발생하므로 작동하지 않습니다. 나는 다음과 같은 일을 쓰고 싶다 :

class MakeJar extends Jar{ 
    @TaskAction 
    def createJar(){ 
<- code for creating jar -> 
} 

그러나 그런 gradle 작업 유형은 없다. 그런 일을하는 데 도움이 필요합니다. 감사합니다

답변

0

당신은 쉽게 기능에 대한 사용자 정의 작업 클래스를 필요가 없습니다

apply plugin: 'java' 

task renameArtifact(type: Copy, dependsOn: 'jar') { 
    from jar.archivePath 

    rename '.*', 'renamedFile.jar' 

    into 'destDir' 
} 

가 컴파일

└── src 
    └── main 
     └── java 
      └── Main.java 

├── destDir 
│   └── renamedFile.jar 
관련 문제