2016-12-27 4 views
1

Gradle을 사용하여 Nexus에 업로드하려는 PL 파일이 있다고 가정 해 보겠습니다. 그런 스크립트는 어떻게 생겼을까요?Gradle을 사용하여 Nexus (Maven)에 zip 파일 게시

그룹 'be.mips' 버전 = '1.4.0-SNAPSHOT'

settings.gradle에서

-> rootProject.name = '스톰'

그리고의는 PL 파일이 있다고 가정 해 봅시다 dist 디렉토리 (./dist/stomp.pl)에 있습니다.

이제이 stomp.pl 파일을 넥서스 스냅 샷 저장소에 게시하려고합니다.

Java를 사용하는 한 Gradle (Maven처럼)은 매력처럼 작동합니다. 그러나 DLL, ZIP 또는 PL (진행 라이브러리)가있는 경우 수행 할 작업에 대한 설명서가 거의 없습니다.

+0

가나요? https://docs.gradle.org/current/userguide/artifact_management.html#sec:file_artifacts – RaGe

+0

예, jar 파일뿐 아니라 zip, ocx, dll, ... –

+0

게시 한 링크는 txt 파일 예제를 보여줍니다 – RaGe

답변

3

오랫동안 그러한 이슈를 게시합니다. 예를 들어, SQL 파일이있는 ZIP 아카이브.

apply plugin: "base" 
apply plugin: "maven" 
apply plugin: "maven-publish" 

repositories { 
    maven { url defaultRepository } 
} 

task assembleArtifact(type: Zip, group: 'DB') { 
    archiveName 'db.zip' 
    destinationDir file("$buildDir/libs/") 
    from "src/main/sql" 
    description "Assemble archive $archiveName into ${relativePath(destinationDir)}" 
} 

publishing { 
    publications { 
     mavenJava(MavenPublication) { 
      artifact source: assembleArtifact, extension: 'zip' 
     } 
    } 
    repositories { 
     maven { 
      credentials { 
       username nexusUsername 
       password nexusPassword 
      } 
      url nexusRepo 
     } 
    } 
} 

assemble.dependsOn assembleArtifact 
    build.dependsOn assemble 
publish.dependsOn build 

gradle.properties :

build.gradle : 내가 실제 프로젝트에서 당신에게 예를 들게 당신이 출판 파일의 유물을 조사

# Maven repository for publishing artifacts 
nexusRepo=http://privatenexus/content/repositories/releases 
nexusUsername=admin_user 
nexusPassword=admin_password 

# Maven repository for resolving artifacts 
defaultRepository=http://privatenexus/content/groups/public 

# Maven coordinates 
group=demo.group.db 
version=SNAPSHOT 
+0

Thx , 스냅 샷과 릴리스를 구별하는 방법에 대한 모범 사례 또는 예제가 있습니까? 우리는 maven이 자동으로이를 처리한다는 것을 보았습니다. Gradle은 게시 할 이물도 봅니까? SNAPSHOT이 포함되어 있으면 스냅 샷 저장소에 게시해야합니다. –

+1

요프, 이것 또한 가능합니다. 하지만 publishing.repositories {}에 'snapshot'저장소를 지정한 다음 publishing.publications {} 내에 새 발행물을 만들고 이슈의 버전 번호에 '-SNAPSHOT'을 첨부해야합니다. –