사용자 도구

사이트 도구


springframework:springboot:jar_publish

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
마지막 판 양쪽 다음 판
springframework:springboot:jar_publish [2019/06/12 14:11]
kwon37xi
springframework:springboot:jar_publish [2019/06/12 14:23]
kwon37xi
줄 52: 줄 52:
  
 // 불필요하게 publsh.dependsOn bootJar 를 붙일 경우 생성된 jar 에 의존성 *.jar 파일들이 추가가 안되는 형상이 있었음. // 불필요하게 publsh.dependsOn bootJar 를 붙일 경우 생성된 jar 에 의존성 *.jar 파일들이 추가가 안되는 형상이 있었음.
 +</code>
 +
 +===== maven-publish plugin 사용 prod/dev 구분해서 release/snapshot 올리기 =====
 +  * ''publishing.gradle''<code>
 +import java.time.LocalDateTime
 +import java.time.format.DateTimeFormatter
 +
 +apply plugin: 'maven'
 +apply plugin: "maven-publish"
 +
 +def isProduction = Boolean.getBoolean('production')
 +def buildDateTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy.MM.dd.HH.mm.ss"))
 +version = isProduction ? buildDateTime + "PROD" : buildDateTime + "DEV-SNAPSHOT"
 +
 +def initializePublishing(String targetGroupId, String targetArtifactId) {
 +    publishing {
 +        publications {
 +            zipUpload(MavenPublication) {
 +                groupId targetGroupId
 +                artifactId targetArtifactId
 +                artifact project.bootJar
 +            }
 +        }
 +        repositories {
 +            maven {
 +                credentials {
 +                    username 'username'
 +                    password 'passwd'
 +                }
 +
 +                def releaseRepoUrl = 'http://repositories/releases/'
 +                def snapshotRepoUrl = 'http://repositories/snapshots/'
 +                url version.endsWith('SNAPSHOT') ?  snapshotRepoUrl : releaseRepoUrl
 +            }
 +        }
 +    }
 +}
 +
 +ext {
 +    initializePublishing = this.&initializePublishing
 +}
 +
 +</code>
 +  * ''build.gradle''에서<code>
 +apply from: 'publishing.gradle'
 +
 +initializePublishing('groupId', 'artifactId')
 </code> </code>
springframework/springboot/jar_publish.txt · 마지막으로 수정됨: 2019/06/12 14:24 저자 kwon37xi