forked from bmuschko/gradle-nexus-plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
executable file
·125 lines (102 loc) · 3.16 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
apply plugin: 'groovy'
apply plugin: 'idea'
apply plugin: 'maven'
def compatibilityVersion = 1.5
sourceCompatibility = compatibilityVersion
targetCompatibility = compatibilityVersion
group = 'org.gradle.api.plugins'
version = '0.2'
repositories {
mavenCentral()
}
dependencies {
groovy localGroovy()
compile gradleApi()
}
jar {
manifest {
attributes 'Implementation-Title': 'Gradle Sonatype Nexus plugin',
'Implementation-Version': version,
'Built-By': System.getProperty('user.name'),
'Built-Date': new Date(),
'Built-JDK': System.getProperty('java.version'),
'Built-Gradle': gradle.gradleVersion
}
}
idea.project {
jdkName = '1.6'
ipr.withXml { provider ->
def node = provider.asNode()
// Use GIT
def vcsConfig = node.component.find { it.'@name' == 'VcsDirectoryMappings' }
vcsConfig.mapping[0].'@vcs' = 'Git'
// Set Gradle home
def gradleSettings = node.appendNode('component', [name: 'GradleSettings'])
gradleSettings.appendNode('option', [name: 'SDK_HOME', value: gradle.gradleHomeDir])
}
}
task wrapper(type: Wrapper) {
gradleVersion = '1.2'
}
task sourcesJar(type: Jar) {
classifier 'sources'
from sourceSets.main.allSource
}
task groovydocJar(type: Jar, dependsOn: groovydoc) {
classifier 'javadoc'
from groovydoc.destinationDir
}
artifacts {
archives sourcesJar
archives groovydocJar
}
ext.pomConfiguration = {
name 'Gradle Sonatype Nexus plugin'
description 'Gradle plugin for configuring and upload artifacts to Sonatype Nexus.'
url 'https://github.com/bmuschko/gradle-nexus-plugin'
inceptionYear '2012'
scm {
url 'https://github.com/bmuschko/gradle-nexus-plugin'
connection 'scm:https://[email protected]/bmuschko/gradle-nexus-plugin.git'
developerConnection 'scm:git://github.com/bmuschko/gradle-nexus-plugin.git'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
developers {
developer {
id 'bmuschko'
name 'Benjamin Muschko'
email '[email protected]'
}
}
}
install {
repositories.mavenInstaller {
pom.project pomConfiguration
}
}
if(hasProperty('nexusUsername') && hasProperty('nexusPassword')) {
apply plugin: 'signing'
signing {
required { gradle.taskGraph.hasTask(uploadArchives) && !version.endsWith('SNAPSHOT') }
sign configurations.archives
}
uploadArchives {
repositories.mavenDeployer {
beforeDeployment { deployment ->
signing.signPom(deployment)
}
name = 'mavenCentralReleaseDeployer'
repository(url: 'https://oss.sonatype.org/service/local/staging/deploy/maven2/') {
authentication(userName: nexusUsername, password: nexusPassword)
releases(updatePolicy: 'always')
}
pom.project pomConfiguration
}
}
}