-
Notifications
You must be signed in to change notification settings - Fork 104
/
maven-publish.gradle
128 lines (93 loc) · 3.79 KB
/
maven-publish.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
126
127
128
apply plugin: 'maven'
apply plugin: 'org.jetbrains.kotlin.jvm'
apply plugin: 'signing'
def artifact = 'rocketx'
def libraryName = 'videoprogressview-sdk'
def libraryDescription = 'speed build plugin'
def libraryVersion = '1.1.1'
def publishedGroupId='io.github.trycatchx'
def siteUrl='https://github.com/trycatchx/RocketXPlugin'
def gitUrl='https://github.com/trycatchx/RocketXPlugin.git'
def developerId='trycatchx'
def developerName='trycatch'
def developerEmail='[email protected]'
def licenseName='The Apache Software License, Version 2.0'
def licenseUrl='http://www.apache.org/licenses/LICENSE-2.0.txt'
task sourcesJar(type: Jar) {
from sourceSets.main.allJava
classifier = 'sources'
}
task javadocJar(type: Jar) {
from javadoc
classifier = 'javadoc'
}
tasks.withType(Javadoc).all {
enabled = false
}
// 强制 Java/JavaDoc 等的编码为 UTF-8
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
tasks.withType(Javadoc) {
options.encoding = "UTF-8"
}
// add javadoc/source jar tasks as artifacts
artifacts {
archives jar
archives javadocJar
archives sourcesJar
}
//Properties properties = new Properties()
//properties.load(project.rootProject.file('local.properties').newDataInputStream())
//
//def ossrhUsername = properties.getProperty("ossrhUsername")
//def ossrhPassword = properties.getProperty("ossrhPassword")
def PUBLISH_GROUP_ID = publishedGroupId //这里可以不是直接申请时候的groupId只要开头是就可以
def PUBLISH_ARTIFACT_ID = artifact
def PUBLISH_VERSION = libraryVersion // android.defaultConfig.versionName //这个是直接获取的库gradle里配置好的版本号,不用到处修改版本号,只需要维护一份就可以。
//签名
signing {
required { gradle.taskGraph.hasTask("uploadArchives") }
sign configurations.archives
}
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
snapshotRepository(url: "https://s01.oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
pom.groupId = PUBLISH_GROUP_ID
pom.artifactId = PUBLISH_ARTIFACT_ID
pom.version = PUBLISH_VERSION
pom.project {
packaging 'jar' //我这里发布的是安卓的包,所有写的aar
name libraryName // '发布库的简单名称'
// optionally artifactId can be defined here
description libraryDescription // '发布包的描述'
url siteUrl // '可以写公司官网地址或github个人页面地址'
scm {
connection gitUrl // 'scm:替换成项目git地址'
developerConnection gitUrl // 'scm:替换为git开头的项目地址'
url siteUrl // '项目首页,可以是github项目的主页'
}
licenses {
license {
name licenseName // 'The Apache License, Version 2.0'
url licenseUrl // 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id developerId // '这里填写申请账号时候的全名就可以'
name developerName // '这里随意填写就可以'
email developerEmail// '最好是申请账号时用的邮箱'
}
}
}
}
}
}