Skip to content

Commit

Permalink
调整CI使能发布包含source/javadoc且经签名的release SDK
Browse files Browse the repository at this point in the history
Change-Id: Id1f1d814e6b7f0dc30ae6f895b6412ff9370f2d7
  • Loading branch information
archurcode committed Sep 3, 2020
1 parent d4eb985 commit 12a96aa
Show file tree
Hide file tree
Showing 6 changed files with 134 additions and 5 deletions.
8 changes: 8 additions & 0 deletions .github/scripts/updateValuesForSign.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/sh

key_id=$KEY_ID_OF_SIGN
password=$PASSWORD_OF_SIGN
root_path=$(pwd)
sed -i 's#MY_KEY_ID#'$key_id'#g' gradle.properties
sed -i 's#MY_PASSWORD#'$password'#g' gradle.properties
sed -i 's#MY_KEY_RING_FILE#'$root_path'/secring.gpg#g' gradle.properties
61 changes: 61 additions & 0 deletions .github/sdk/secring.gpg.asc
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
-----BEGIN PGP MESSAGE-----

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
=38Qq
-----END PGP MESSAGE-----
2 changes: 0 additions & 2 deletions .github/workflows/opensource.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ jobs:
run: |
rb=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
rc=$(git rev-parse --short HEAD)
sed -i 's#def versionAppName.*#def versionAppName = \"'$rb'+git.'$rc'\"#g' config.gradle
- name: Build with Gradle
run: ./gradlew build
- name: Package apk and aar with Gradle
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/tencent_official.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ env:
IOT_SONATYPE_PASSWORD: ${{ secrets.IOT_SONATYPE_PASSWORD }}
IOT_RELEASE_KEYSTORE_PASSWORD: ${{ secrets.IOT_RELEASE_KEYSTORE_PASSWORD }}
GPG_DECRYPT_PASSPHRASE: ${{ secrets.GPG_DECRYPT_PASSPHRASE }}
IOT_PGYER_API_KEY: ${{ secrets.IOT_PGYER_API_KEY }}
IOT_GPG_KEYNAME: ${{ secrets.IOT_GPG_KEYNAME }}
IOT_GPG_PASSPHRASE: ${{ secrets.IOT_GPG_PASSPHRASE }}

jobs:
build:
Expand All @@ -23,6 +24,7 @@ jobs:
gpg -d --passphrase "$GPG_DECRYPT_PASSPHRASE" --batch --quiet .github/tencent_official_keystore.jks.asc > tencent_official_keystore.jks
gpg -d --passphrase "$GPG_DECRYPT_PASSPHRASE" --batch --quiet .github/app-config.json.asc > app-config.json
gpg -d --passphrase "$GPG_DECRYPT_PASSPHRASE" --batch --quiet .github/app/google-services.json.asc > app/google-services.json
gpg -d --passphrase "$GPG_DECRYPT_PASSPHRASE" --batch --quiet .github/sdk/secring.gpg.asc > secring.gpg
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
Expand All @@ -36,7 +38,11 @@ jobs:
rc=$(git rev-parse --short HEAD)
sed -i 's#def versionAppName.*#def versionAppName = \"'$rt'+git.'$rc'\"#g' config.gradle
- name: Update Values of Signing
run: |
export KEY_ID_OF_SIGN=$IOT_GPG_KEYNAME
export PASSWORD_OF_SIGN=$IOT_GPG_PASSPHRASE
sh .github/scripts/updateValuesForSign.sh
- name: Adapt build.gradle from debug to release
run: |
sed -i 's#opensource_keystore#tencent_official_keystore#g' app/build.gradle
Expand Down
3 changes: 3 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,6 @@ android.useAndroidX=true
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
signing.keyId=MY_KEY_ID
signing.password=MY_PASSWORD
signing.secretKeyRingFile=MY_KEY_RING_FILE
55 changes: 54 additions & 1 deletion sdk/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'maven-publish'
apply from: "../parse_json.gradle"
apply plugin: 'signing'

android {
compileSdkVersion 29
Expand Down Expand Up @@ -42,19 +43,65 @@ dependencies {
implementation "org.java-websocket:Java-WebSocket:1.4.0"
//kotlin协程
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.4'
}

task androidJavadocs(type: Javadoc) {
failOnError false
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
android.libraryVariants.all { variant ->
if (variant.name == 'release') {
owner.classpath += variant.javaCompile.classpath
}
}
exclude '**/R.html', '**/R.*.html', '**/index.html'
}

task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}

task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}

def libVersion = rootProject.ext.android.versionNameStr + '-SNAPSHOT'
ext.isReleaseVersion = !libVersion.endsWith("SNAPSHOT")
publishing {
publications {
aar(MavenPublication) {
groupId 'com.tencent.iot.explorer'
artifactId 'explorer-link-android'
version libVersion
artifact(androidSourcesJar)
artifact(androidJavadocsJar)
artifact file('build/outputs/aar/sdk-release.aar')

println("libVersion=" + libVersion)
pom {
name = 'explorer link android'
description = 'Tencent Link Android library'
url = 'https://github.com/tencentyun/iot-link-android/tree/master/sdk'
licenses {
license {
name = 'Tencent Binary License'
url = 'https://github.com/tencentyun/iot-link-android/blob/master/sdk/LICENSE'
}
}
developers {
developer {
id = 'tencent_archurtan'
name = 'Tencent archurtan'
email = '[email protected]'
}
}
scm {
url = 'scm:[email protected]:tencentyun/iot-link-android.git'
connection = 'scm:[email protected]:tencentyun/iot-link-android.git'
developerConnection = 'scm:[email protected]:tencentyun/iot-link-android.git'
}
}

pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
Expand Down Expand Up @@ -91,3 +138,9 @@ publishing {
}
}
}

signing {
if (isReleaseVersion) {
sign publishing.publications.aar
}
}

0 comments on commit 12a96aa

Please sign in to comment.