From 400fa6037e9c623a23210e9894069f706f217ffb Mon Sep 17 00:00:00 2001 From: Eugen Pechanec Date: Sat, 25 Jun 2022 13:31:00 +0200 Subject: [PATCH] Use prebuilt AndroidX annotations useful during development Don't manage an external dependency, we still need to be able to build without gradle. --- gradle.properties | 1 + server/build.gradle | 1 + server/build_without_gradle.sh | 6 +++++- .../annotation/1.3.0/annotation-1.3.0.jar | Bin 0 -> 31705 bytes 4 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 thirdparty/androidx/annotation/1.3.0/annotation-1.3.0.jar diff --git a/gradle.properties b/gradle.properties index 89196d13..01236edf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,3 +16,4 @@ org.gradle.jvmargs=-Xmx1536m # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true +android.useAndroidX=true diff --git a/server/build.gradle b/server/build.gradle index 42387d57..67591e5b 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -21,6 +21,7 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) testImplementation 'junit:junit:4.13.1' + compileOnly rootProject.fileTree("thirdparty/androidx/annotation/1.3.0/annotation-1.3.0.jar") } apply from: "$project.rootDir/config/android-checkstyle.gradle" diff --git a/server/build_without_gradle.sh b/server/build_without_gradle.sh index c881e38a..e41e8e59 100755 --- a/server/build_without_gradle.sh +++ b/server/build_without_gradle.sh @@ -20,12 +20,14 @@ BUILD_TOOLS=${ANDROID_BUILD_TOOLS:-31.0.0} BUILD_DIR="$(realpath ${BUILD_DIR:-build_manual})" CLASSES_DIR="$BUILD_DIR/classes" SERVER_DIR=$(dirname "$0") +ROOT_PROJECT_DIR=$(realpath $SERVER_DIR/..) SERVER_BINARY=scrcpy-server ANDROID_JAR="$ANDROID_HOME/platforms/android-$PLATFORM/android.jar" echo "Platform: android-$PLATFORM" echo "Build-tools: $BUILD_TOOLS" echo "Build dir: $BUILD_DIR" +echo "Root project dir: $ROOT_PROJECT_DIR" rm -rf "$CLASSES_DIR" "$BUILD_DIR/$SERVER_BINARY" classes.dex mkdir -p "$CLASSES_DIR/com/genymobile/scrcpy" @@ -48,7 +50,9 @@ cd "$SERVER_DIR/src/main/aidl" echo "Compiling java sources..." cd ../java -javac -bootclasspath "$ANDROID_JAR" -cp "$CLASSES_DIR" -d "$CLASSES_DIR" \ +classpath="$CLASSES_DIR" +classpath="$classpath:$ROOT_PROJECT_DIR/thirdparty/androidx/annotation/1.3.0/annotation-1.3.0.jar" +javac -bootclasspath "$ANDROID_JAR" -cp "$classpath" -d "$CLASSES_DIR" \ -source 1.8 -target 1.8 \ com/genymobile/scrcpy/*.java \ com/genymobile/scrcpy/wrappers/*.java diff --git a/thirdparty/androidx/annotation/1.3.0/annotation-1.3.0.jar b/thirdparty/androidx/annotation/1.3.0/annotation-1.3.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..10c7c9d0c04ecda952510f17978e169f1a483d72 GIT binary patch literal 31705 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 literal 0 HcmV?d00001