11/* Maven publish - start */
2- task sourcesJar (type : Jar ) {
2+
3+ tasks. register(" sourcesJar" , Jar ) {
34 archiveClassifier. set(" sources" )
4- from sourceSets. main. allSource
5+ from sourceSets. main. allJava
56}
67
7- task javadocJar (type : Jar , dependsOn : javadoc) {
8+ tasks. register(" javadocJar" , Jar ) {
9+ dependsOn tasks. named(" javadoc" , Javadoc )
810 archiveClassifier. set(" javadoc" )
9- from javadoc. destinationDir
11+ from { tasks . named( " javadoc" , Javadoc ) . get() . destinationDir }
1012}
1113
14+ if (project. hasProperty(' user' ) && project. hasProperty(' password' ) && project. hasProperty(' deployVersion' )) {
1215
13- if (project. hasProperty(' user' ) && project. hasProperty(' password' )) {
16+ // snapshot version differs from normal version
17+ String versionString = project. getProperty(' deployVersion' )
1418
15- signing {
16- required { ! version. endsWith(' SNAPSHOT' ) }
17- if (required)
18- sign(publishing. publications)
19- }
2019
2120 publishing {
2221 publications {
23- mavenJava( MavenPublication ) {
22+ create( " mavenJava " , MavenPublication ) {
2423
2524 versionMapping {
2625 // resolves dynamic versioning to current version number
@@ -37,7 +36,7 @@ if (project.hasProperty('user') && project.hasProperty('password')) {
3736 url = ' https:github.com/ie3-institute/powerflow'
3837 organization {
3938 name = ' Institute of Energy Systems, Energy Efficiency and Energy Economics (ie3)/TU Dortmund University'
40- url = ' http :www.ie3.tu-dortmund.de/'
39+ url = ' https :www.ie3.tu-dortmund.de/'
4140 }
4241 issueManagement {
4342 system = ' GitHub'
@@ -63,38 +62,41 @@ if (project.hasProperty('user') && project.hasProperty('password')) {
6362 }
6463
6564 removeTestDependenciesFromPom(pom)
66- groupId project . getProperty( ' group' )
67- artifactId ' powerflow'
68- version project . getProperty( ' version ' )
65+ groupId = group
66+ artifactId = ' powerflow'
67+ version = versionString
6968
7069 from components. java
71- artifact sourcesJar
72- artifact javadocJar
70+ artifact tasks . named( " sourcesJar" )
71+ artifact tasks . named( " javadocJar" )
7372 }
7473 }
7574 repositories {
7675 maven {
7776 def releasesRepoUrl = " https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
7877 def snapshotsRepoUrl = " https://s01.oss.sonatype.org/content/repositories/snapshots/"
79- url = this . version . endsWith(' SNAPSHOT' ) ? snapshotsRepoUrl : releasesRepoUrl
78+ url = versionString . endsWith(' SNAPSHOT' ) ? snapshotsRepoUrl : releasesRepoUrl
8079 credentials {
8180 username project. getProperty(' user' )
8281 password project. getProperty(' password' )
8382 }
8483 }
8584 }
85+ signing {
86+ useInMemoryPgpKeys(
87+ findProperty(' signingKey' ) as String ,
88+ findProperty(' signingPassword' ) as String
89+ )
90+ sign publications. mavenJava
91+ }
8692 }
8793
88-
89- model {
90- tasks. generatePomFileForMavenJavaPublication {
91- destination = file(" ${ layout.buildDirectory.dir} /generated-pom.xml" )
92- }
94+ tasks. named(" generatePomFileForMavenJavaPublication" ) {
95+ destination = layout. buildDirectory. file(" generated-pom.xml" ). get(). asFile
9396 }
9497}
9598
9699def removeTestDependenciesFromPom (pom ) {
97-
98100 pom. withXml {
99101 def root = asNode()
100102 // eliminate test-scoped dependencies (no need in maven central POMs)
@@ -104,4 +106,4 @@ def removeTestDependenciesFromPom(pom) {
104106 }
105107}
106108
107- /* Maven publish - end */
109+ /* Maven publish - end */
0 commit comments