2015-01-09 6 views
4

다른 관련없는 프로젝트에 사용될 인공물을 빌드하려면 Gradle maven 플러그인을 사용하고 있습니다. .jar 인공물과 함께 -javadoc.jar 인공물을 생성하여 설치하고 싶습니다. gradle clean build javadoc install를 사용Gradle : javadocs로 gradle 설치

로컬 빌드 파일에서의 JavaDoc을 생성하고, 로컬 저장소에 내장 가공품을 설치하지만, 현재 구축 및 측면이 함께 -javadoc.jar를 설치하지 않습니다.

maven 또는 javadoc 플러그인을 사용하여 Gradle에서이 작업을 수행 할 수 있나요? 내가 할 사용자 지정 작업을 쓰는 것을 좋아하지만, "공식적으로 지원되는"방법을 사용합니다.

build.gradle 파일 :

project.group = "org.example.artefact" 
project.version = "1.0-SNAPSHOT" 

apply plugin: 'java' 
apply plugin: 'maven' 

dependencies { 
    // ... 
} 

uploadArchives { 
    repositories { 
     mavenDeployer { 
      // Custom repository location 
      repository(url: "file:///home/user/.m3/repository") 
     } 
    } 
} 
+0

좋은 질문 ... 내 build.gradle 파일을 가져 왔지만 왜 그들이 전혀 작동하지 않는지 이해할 수 없습니다 ... – fge

답변

6

Javadoc과는 javadoc작업 (난 당신이 실수로 플러그인으로 언급하는 생각)에 의해 생성된다. 이 작업은 build 또는 install을 실행할 때 기본적으로 실제로 실행되지 않습니다. 또한 jar 작업을 정의하여 javadocs를 번들로 만들고 artifacts {...} 블록에 추가하여 해당 이슈를 게시하도록합니다.

task javadocJar(type: Jar) { 
    classifier = 'javadoc' 
    from javadoc 
} 

artifacts { 
    archives javadocJar 
} 

다음 javadoc의 항아리를 만들고 지역 받는다는에 게시해야 모두 install을 실행합니다. 또한 uploadArchives을 실행하면 구성된 이슈에 해당 이슈가 게시됩니다.

편집 : javadoc jar 작업의 정의를 추가하여 업데이트했습니다.

+0

고마워요. 이것은 솔루션을 도왔습니다. 유일한 것은 javadoc 태스크가 Jar artefact을 생성하지 않았다는 것입니다 (사용중인 Gradle 버전에서 : 2.2.1). 그래서 javadoc jar을 생성하기 위해 커스텀 태스크를 도입해야했습니다. – lmika

+0

예, 죄송합니다. 추가'jar' 작업을 만들 필요성을 반영하여 답변을 업데이트했습니다. –

관련 문제