From: Jaeyun Date: Thu, 5 Sep 2019 13:01:34 +0000 (+0900) Subject: [Android] update script to release X-Git-Tag: accepted/tizen/unified/20190918.102219~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f096b2029cfec8c03207d925a13670d768eea0eb;p=platform%2Fupstream%2Fnnstreamer.git [Android] update script to release Add dependency and args for jcenter release. To upload NNStreamer library, run the script with bintray user name. ./api/android/build-android-lib.sh --release=yes --release_version=$release_ver --bintray_user_name=$user_name --bintray_user_key=$user_key Signed-off-by: Jaeyun Jung --- diff --git a/api/android/api/build.gradle b/api/android/api/build.gradle index b89f24c..2116c05 100644 --- a/api/android/api/build.gradle +++ b/api/android/api/build.gradle @@ -1,4 +1,5 @@ apply plugin: 'com.android.library' +// add plugin (bintray) android { compileSdkVersion 28 diff --git a/api/android/build-android-lib.sh b/api/android/build-android-lib.sh index deb81af..17d3b2c 100644 --- a/api/android/build-android-lib.sh +++ b/api/android/build-android-lib.sh @@ -16,6 +16,30 @@ nnstreamer_target_abi="'armeabi-v7a', 'arm64-v8a'" # Set tensorflow-lite version (available: 1.9 and 1.13) nnstreamer_tf_lite_ver=1.13 +# Variables to release library (GROUP:ARTIFACT:VERSION) +release_bintray='no' + +# Parse args +for arg in "$@"; do + case $arg in + --release=*) + release_bintray=${arg#*=};; + --release_version=*) + release_version=${arg#*=};; + --bintray_user_name=*) + bintray_user_name=${arg#*=};; + --bintray_user_key=*) + bintray_user_key=${arg#*=};; + esac +done + +if [[ $release_bintray == 'yes' ]]; then + [ -z "$release_version" ] && echo "Set release version." && exit 1 + [ -z "$bintray_user_name" ] || [ -z "$bintray_user_key" ] && echo "Set user info to release." && exit 1 + + echo "Release version: $release_version user: $bintray_user_name" +fi + # Function to check if a package is installed function check_package() { which "$1" 2>/dev/null || { @@ -66,6 +90,25 @@ tar xJf ./ext-files/tensorflow-lite-$nnstreamer_tf_lite_ver.tar.xz -C ./api/src/ sed -i "s|abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'|abiFilters $nnstreamer_target_abi|" api/build.gradle +# Add dependency for release +if [[ $release_bintray == 'yes' ]]; then + sed -i "s|// add dependency (bintray)|classpath 'com.novoda:bintray-release:0.9.1'|" build.gradle + + sed -i "s|// add plugin (bintray)|apply plugin: 'com.novoda.bintray-release'\n\ +\n\ +publish {\n\ + userOrg = 'nnsuite'\n\ + repoName = 'nnstreamer'\n\ + groupId = 'org.nnsuite'\n\ + artifactId = 'nnstreamer'\n\ + publishVersion = '$release_version'\n\ + desc = 'NNStreamer API for Android'\n\ + website = 'https://github.com/nnsuite/nnstreamer'\n\ + issueTracker = 'https://github.com/nnsuite/nnstreamer/issues'\n\ + repository = 'https://github.com/nnsuite/nnstreamer.git'\n\ +}|" api/build.gradle +fi + echo "Starting gradle build for Android library." nnstreamer_android_api_lib=./api/build/outputs/aar/api-release.aar @@ -80,6 +123,11 @@ if [[ -e $nnstreamer_android_api_lib ]]; then echo "Build procedure is done, copy NNStreamer library to $result_directory directory." mkdir -p ../$result_directory cp $nnstreamer_android_api_lib ../$result_directory/nnstreamer-api-$today.aar + + if [[ $release_bintray == 'yes' ]]; then + echo "Upload NNStreamer library to Bintray" + ./gradlew api:bintrayUpload -PbintrayUser=$bintray_user_name -PbintrayKey=$bintray_user_key -PdryRun=false + fi else echo "Failed to build NNStreamer library." fi diff --git a/api/android/build.gradle b/api/android/build.gradle index a1526b9..169e6ee 100644 --- a/api/android/build.gradle +++ b/api/android/build.gradle @@ -7,6 +7,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.3.1' + // add dependency (bintray) // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/api/android/sample/build.gradle b/api/android/sample/build.gradle index 3d4fcb5..6e3321b 100644 --- a/api/android/sample/build.gradle +++ b/api/android/sample/build.gradle @@ -22,4 +22,6 @@ dependencies { implementation fileTree(include: ['*.aar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' + // Set latest version of NNStreamer API + // implementation 'org.nnsuite:nnstreamer:0.0.1' }