diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b9198293e86a3ee68c5b4a34a25c20ba7c567db8..e9398d90ec24ed17e2f50889557bf8035903cebb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,27 +1,35 @@ +# Modeled after https://salsa.debian.org/freedombox-team/android-app/blob/master/.gitlab-ci.yml image: openjdk:8-jdk variables: - ANDROID_COMPILE_SDK: "25" - ANDROID_BUILD_TOOLS: "25.0.3" - ANDROID_SDK_TOOLS: "24.4.1" + ANDROID_COMPILE_SDK: "28" + ANDROID_BUILD_TOOLS: "28.0.1" + ANDROID_SDK_TOOLS: "4333796" before_script: - apt-get --quiet update --yes - - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 - - wget --quiet --output-document=android-sdk.tgz https://dl.google.com/android/android-sdk_r${ANDROID_SDK_TOOLS}-linux.tgz - - tar --extract --gzip --file=android-sdk.tgz - - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter android-${ANDROID_COMPILE_SDK} - - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter platform-tools - - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter build-tools-${ANDROID_BUILD_TOOLS} - - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter extra-android-m2repository - - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter extra-google-m2repository + - apt-get --quiet install --yes wget unzip lib32stdc++6 lib32z1 + - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip + - unzip -q android-sdk.zip -d android-sdk-linux + + - mkdir android-sdk-linux/licenses + - printf "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > android-sdk-linux/licenses/android-sdk-license + - printf "84831b9409646a918e30573bab4c9c91346d8abd" > android-sdk-linux/licenses/android-sdk-preview-license + - android-sdk-linux/tools/bin/sdkmanager --update > update.log + - android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" "build-tools;${ANDROID_BUILD_TOOLS}" "extras;google;m2repository" "extras;android;m2repository" > installPlatform.log + - export ANDROID_HOME=$PWD/android-sdk-linux - export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/ - chmod +x ./gradlew stages: - - build - test + - build + +unitTests: + stage: test + script: + - ./gradlew test build: stage: build @@ -30,21 +38,3 @@ build: artifacts: paths: - app/build/outputs/ - -unitTests: - stage: test - script: - - ./gradlew test - -#Runners needs kvm installed. Hardware acceleration not possible for now -#functionalTests: -# stage: test -# script: -# - wget --quiet --output-document=android-wait-for-emulator https://raw.githubusercontent.com/travis-ci/travis-cookbooks/0f497eb71291b52a703143c5cd63a217c8766dc9/community-cookbooks/android-sdk/files/default/android-wait-for-emulator -# - chmod +x android-wait-for-emulator -# - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter sys-img-x86-google_apis-${ANDROID_COMPILE_SDK} -# - echo no | android-sdk-linux/tools/android create avd -n test -t android-${ANDROID_COMPILE_SDK} --abi google_apis/x86 -# - android-sdk-linux/tools/emulator64-x86 -avd test -no-window -no-audio & -# - ./android-wait-for-emulator -# - adb shell input keyevent 82 -# - ./gradlew cAT diff --git a/README.md b/README.md index b2dc6ed525febca0380e39925f7d47df5df24d3c..3441e54100a68eab27d836e3616be7b2f1e6d298 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ For requesting icons or contributing, please use the [Issue Tracker](https://git #### What to do? (You have 4 options:) 1. Write a new activityname in [Issue Tracker](https://gitlab.com/xphnx/ameixa/issues) -2. Atach the new icon (.svg) in [Issue Tracker](https://gitlab.com/xphnx/ameixa/issues) +2. Attach the new icon (.svg) in [Issue Tracker](https://gitlab.com/xphnx/ameixa/issues) 3. [MR](https://gitlab.com/xphnx/ameixa/merge_requests) activityname lines into appfilter.xml and/or icon files (.svg) into todo/wip 4. [MR](https://gitlab.com/xphnx/ameixa/merge_requests) activityname and/or icon data (.pngs and xml) after running the script [process_wipsvg.sh](https://gitlab.com/xphnx/ameixa/blob/master/process_wipsvg.sh) @@ -48,8 +48,8 @@ For requesting icons or contributing, please use the [Issue Tracker](https://git # Installation -[](https://f-droid.org/app/org.xphnx.ameixa) -[](https://gitlab.com/xphnx/ameixa/-/jobs/85252526/artifacts/browse/app/build/outputs/apk/) +[](https://f-droid.org/app/org.xphnx.ameixa) +[](https://gitlab.com/xphnx/ameixa/-/jobs/85391706/artifacts/browse/app/build/outputs/apk/) # License diff --git a/app/build.gradle b/app/build.gradle index 56ad119857db9b8a567fda452e5032b34e6744f7..e195775051365ea8ddde3c0eba146d8b028048cd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,21 +1,20 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 25 - buildToolsVersion '25.0.3' + compileSdkVersion 28 + buildToolsVersion '28.0.1' defaultConfig { applicationId "org.xphnx.ameixa" minSdkVersion 16 - targetSdkVersion 25 + targetSdkVersion 28 versionCode 57 versionName "3.1.7" } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } /* lintOptions { @@ -24,10 +23,16 @@ android { } */ + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:25.0.1' + implementation fileTree(dir: 'libs', include: ['*.jar']) + testImplementation 'junit:junit:4.12' + implementation 'com.android.support:appcompat-v7:28.0.0-beta01' } diff --git a/build.gradle b/build.gradle index ee024307bb27d748daf5a7ae55909ae418b5fc75..8b8e272261a88a6608db696928d470199b9515bb 100644 --- a/build.gradle +++ b/build.gradle @@ -3,9 +3,11 @@ buildscript { repositories { jcenter() + google() } + dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.1.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -15,6 +17,7 @@ buildscript { allprojects { repositories { jcenter() + google() } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 05ef575b0cd0173fc735f2857ce4bd594ce4f6bd..bbdfa368b91243528e05050b69127f9e457ebbda 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 123e568eabbc5841f11671ee55cd7e0263cde31a..bd24854fe8969a4bf28202879e89c1a5c46a3245 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Wed Jul 26 19:54:13 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip diff --git a/gradlew b/gradlew index 9d82f78915133e1c35a6ea51252590fb38efac2f..cccdd3d517fc5249beaefa600691cf150f2fa3e6 100755 --- a/gradlew +++ b/gradlew @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh ############################################################################## ## @@ -6,20 +6,38 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -30,6 +48,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,26 +59,11 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -85,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -150,11 +154,19 @@ if $cygwin ; then esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +exec "$JAVACMD" "$@"