From 010ccb682efebd3e3c5d12e5267f375919bcd7e3 Mon Sep 17 00:00:00 2001 From: scwang90 <> Date: Thu, 2 Dec 2021 18:02:44 +0800 Subject: [PATCH] publish 2.0.4 --- build.gradle | 117 ++++++++++++++++++++++++++--- gradle.properties | 9 ++- refresh-layout-kernel/build.gradle | 74 +++++++++++++++++- secret-rsa.gpg | Bin 0 -> 1951 bytes 4 files changed, 189 insertions(+), 11 deletions(-) create mode 100644 secret-rsa.gpg diff --git a/build.gradle b/build.gradle index 60e6db4b..1ef89c20 100644 --- a/build.gradle +++ b/build.gradle @@ -49,19 +49,118 @@ if (new File(file).exists()) { group = SMART_GROUP version = SMART_VERSION if (name.split('-').length > 2) { +// afterEvaluate { +// publish { +// userOrg = SMART_USER +// groupId = group +// artifactId = name +// desc = description +// publishVersion = version +// website = "https://github.com/scwang90/${rootProject.name}" +// } +// } +// apply plugin: 'com.novoda.bintray-release' + + apply plugin: 'maven-publish' + apply plugin: 'signing' + afterEvaluate { - publish { - userOrg = SMART_USER - groupId = group - artifactId = name - desc = description - publishVersion = version - website = "https://github.com/scwang90/${rootProject.name}" + + task androidSourcesJar(type: Jar) { + archiveClassifier.set("sources") + from android.sourceSets.main.java.source + exclude "**/R.class" + exclude "**/BuildConfig.class" + } + + def projectName = name + def projectDescription = description + publishing { + publications { + mavenJava(MavenPublication) { + // group id,发布后引用的依赖的 group id + groupId SMART_GROUP_MVN + // 发布后引用的依赖的 artifact id + artifactId projectName + // 发布的版本 + version SMART_VERSION + // 发布的 arr 的文件和源码文件 + artifact("$buildDir/outputs/aar/${projectName}-release.aar") + artifact androidSourcesJar + pom { + // 构件名称,可以自定义 + name = projectName + // 构件描述 + description = projectDescription + // 构件主页 + url = "https://github.com/scwang90/${rootProject.name}" + // 许可证名称和地址 + licenses { + license { + name = 'The Apache License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + } + } + // 开发者信息 + developers { + developer { + name = SMART_USER + email = SMART_EMAIL + } + } + // 版本控制仓库地址 + scm { + url = "https://github.com/scwang90/${rootProject.name}" + connection = "scm:git:github.com/scwang90/${rootProject.name}.git" + developerConnection = "scm:git:ssh://git@github.com/scwang90/${rootProject.name}.git" + } + // 解决依赖关系 + withXml { + def dependenciesNode = asNode().appendNode('dependencies') + project.configurations.all { configuration -> + def name = configuration.name + if (name != "implementation" && name != "compile" && name != "api") { + return + } + configuration.dependencies.each { + if (it.name == "unspecified") { + // 忽略无法识别的 + return + } + def dependencyNode = dependenciesNode.appendNode('dependency') + dependencyNode.appendNode('groupId', it.group) + dependencyNode.appendNode('artifactId', it.name) + dependencyNode.appendNode('version', it.version) + if (name == "api" || name == "compile") { + dependencyNode.appendNode("scope", "compile") + } else { // implementation + dependencyNode.appendNode("scope", "runtime") + } + } + } + } + } + } + } + repositories { + maven { + // 发布的位置,这里根据发布的版本区分了 SNAPSHOT 和最终版本两种情况 + def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" + def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/" + url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl + credentials { + // 这里就是之前在 issues.sonatype.org 注册的账号 + username "${properties["sonatype.username"]}" + password new String(Base64.mimeDecoder.decode("${properties["sonatype.password"]}"), "UTF-8") + } + } + } + } + signing { + sign publishing.publications } } - apply plugin: 'com.novoda.bintray-release' } - } } } diff --git a/gradle.properties b/gradle.properties index dae3d2e6..48d15ed8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,5 +18,12 @@ org.gradle.jvmargs=-Xmx1536m SMART_USER=scwang90 SMART_GROUP=com.scwang.smart -SMART_VERSION=2.0.3 +SMART_VERSION=2.0.4 +# -SNAPSHOT SMART_PUBLISH=false +SMART_GROUP_MVN=io.github.scwang90 +SMART_EMAIL=scwang90@hotmail.com + +signing.keyId=888F6528 +signing.password= +signing.secretKeyRingFile=/Users/scwang/.gnupg/secret-rsa.gpg \ No newline at end of file diff --git a/refresh-layout-kernel/build.gradle b/refresh-layout-kernel/build.gradle index a437a936..8ac0c411 100644 --- a/refresh-layout-kernel/build.gradle +++ b/refresh-layout-kernel/build.gradle @@ -34,4 +34,76 @@ dependencies { testImplementation 'junit:junit:4.12' compileOnly 'com.android.support:design:28.0.0' -} \ No newline at end of file +} + +//apply plugin: 'maven-publish' +//apply plugin: 'signing' +// +//task androidSourcesJar(type: Jar) { +// archiveClassifier.set("sources") +// from android.sourceSets.main.java.source +// exclude "**/R.class" +// exclude "**/BuildConfig.class" +//} +// +//def projectName = name +//def projectDescription = description +//publishing { +// publications { +// mavenJava(MavenPublication) { +// // group id,发布后引用的依赖的 group id +// groupId SMART_GROUP_MVN +// // 发布后引用的依赖的 artifact id +// artifactId projectName +// // 发布的版本 +// version SMART_VERSION +// // 发布的 arr 的文件和源码文件 +// artifact("$buildDir/outputs/aar/${projectName}-release.aar") +// artifact androidSourcesJar +// pom { +// // 构件名称,可以自定义 +// name = projectName +// // 构件描述 +// description = projectDescription +// // 构件主页 +// url = "https://github.com/scwang90/${rootProject.name}" +// // 许可证名称和地址 +// licenses { +// license { +// name = 'The Apache License, Version 2.0' +// url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' +// } +// } +// // 开发者信息 +// developers { +// developer { +// name = SMART_USER +// email = SMART_EMAIL +// } +// } +// // 版本控制仓库地址 +// scm { +// url = "https://github.com/scwang90/${rootProject.name}" +// connection = "scm:git:github.com/scwang90/${rootProject.name}.git" +// developerConnection = "scm:git:ssh://git@github.com/scwang90/${rootProject.name}.git" +// } +// } +// } +// } +// repositories { +// maven { +// // 发布的位置,这里根据发布的版本区分了 SNAPSHOT 和最终版本两种情况 +// def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" +// def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/" +// url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl +// credentials { +// // 这里就是之前在 issues.sonatype.org 注册的账号 +// username "${properties["sonatype.username"]}" +// password new String(Base64.mimeDecoder.decode("${properties["sonatype.password"]}"), "UTF-8") +// } +// } +// } +//} +//signing { +// sign publishing.publications +//} \ No newline at end of file diff --git a/secret-rsa.gpg b/secret-rsa.gpg new file mode 100644 index 0000000000000000000000000000000000000000..bf502711f3aa0dcd4d1edfe1b5c36c145dce523d GIT binary patch literal 1951 zcmV;Q2VnS>1%?D+rx1?;3;@PKNHP71-q7b&WuU$CvBp}%IsbUlPAzZh9^%Q_#%VH> ztP~*!UYxZyLlTE{cZYKjJ87qYPmdDlVKlz@>rFd_+UJO;S# zZr%vc>)WD;sr>*5HW|-);~~zAy_JHnU@61r{5_8C66!^8Ark!dwZqE1>oUG4rC5uq zXy6C?(Sbq?t8suwAJ@pic(b9e|0odDSn%mrU19(P!6iH3=N5FlaM?T!il>Q}$^ZS4 z>Iax@K-E$NrNeqn*y`83LZk$ zfS$m$w+RU`=}f;GQy9&dkTR&lomTa6>6E4d{xuE++UGctIay~vC)w6TN4QBinS@)1 z>PO?X@RTjhzi691-zU44<2+aTGWyUw4kWZg*OL7Ddfv^5c0NU8yXFiWL?cIAl7#cw zS{3*wTg|ML5)WVtM_%daiY7R_uSK7uUFG8?2CFEwFlRX(R3iWp0RRF12Ll2@+;gut z7hM_j@P{i=12o{?oiqmTBLa2TnXAH)G=DnktEr<7a>JA8Z3X%4Z4?-sy1TV0h&;lJ;jz-Yz|e zS>ex*nRnN!)@3SLj|}K0qjuBBl#84cGH{aN$aqCi4)XlXVTy z3KMJ4OfRY9Fpf#ko#cLfW%R4Zr*V>PCROsQtaGgf@7OVh=Xh}WUcJ-gcXJM533_zd z&xWw-Uu|PM==3Ly#Nz_k-71>T_X#B{Zt`Be9{4?15P+RH92I6T3PhHS|}#t z?TDHRC(5F;z2U@!{ATK0ORPCuL78G-A-I{|_UxQY1 zr=UO#pSFc${xeObR%iy=fo$JGGS+F(?Qs3Iefp9T_9JR8np#Gz&2Oc!1HkuGTdWv^*?;m5}WCfLo1wud1sGHNu5|J3FE;*6TJbfyeWJbD=_4 zyi=qFqr1_(%mD`S2fk9m(QZP%wd=nKw8_sNZp@fFFn7^=R0KyoG;=y_4xwgP+$A1{ zF6Do1l!8bWKC!OYp=MOD)i12O;B&c56E>RFhGi$4`1vn1OE3KdEpwV4M@n+tIqDrJ zyjEC>^E{lGG4k$g&~~Y~D7?ZoFi_qkiYn>UjDXC$QAFors)J>{Od+xIEeP90&RR@( zkOp9qX`)1BcBh(jQJhxf*%}gm zksYL^Vkdn=FaZ+8c)IK-?UNTOSdxkyL)cX%K78=shJ}RN3dy?s@wm3Px^G}i$=c^t znjM7%OermCKwQ? z3GiA|&?q(96%{j?3<7scqLj^Nv^nRFi{_w_=A6DDC~0plXK8e3bz&}KZ*4DgV|QV0 zXE`t_AUtzpcVTX4IWRzIZ**;8X>2ZIZ*4w_0oVi+0SEv>79j-eVTMHEf1ewyMBTp_YCoeicz2XtX>i)K4Hb*u5_^b~Z~+j?UnYi)J6*EA5MR*bOE1it-UC%T(c z=ODBGMsIRXXD@Q=#lJoZd(SbdyzZ9aswvlRTjU@CzWtBtSAI2-yylma)1@hbW~^wA z&WdwZpF}W+;C&U-!=zHi{Fn%Y_1KaUz?T+oQY@m1XKl05El3+qElp zHDhpJkwbA%0l%eQwLx9=s}d$<+QHVuzx);E_~j5XClI#V_`G@Q*U#^GbcEAX&1zPR7S@z~ux$VU literal 0 HcmV?d00001