From 1733aaa4ccb24eb6f0d156c8a84d876bbca1919a Mon Sep 17 00:00:00 2001 From: Pierre Dommerc Date: Mon, 6 Feb 2023 10:56:39 +0100 Subject: [PATCH] NC Android - setup APK publish (#2967) * ci(nc-android): init workflow apk build & release * ci(nc-android): setup nc android project for APK publish * docs(nc-android): update readme * ci(nc-android): add note in the workflow --- .github/workflows/nc-android-apk.yml | 127 ++++++++++++++++++ nym-connect-android/README.md | 10 +- nym-connect-android/package.json | 6 +- nym-connect-android/src-tauri/Cargo.toml | 10 +- .../nym-connect-android/app/.gitignore | 1 - .../nym-connect-android/app/build.gradle.kts | 112 --------------- .../.editorconfig | 0 .../.gitignore | 2 - .../nym_connect_android/app/.gitignore | 1 + .../nym_connect_android/app/build.gradle.kts | 111 +++++++++++++++ .../app/proguard-rules.pro | 0 .../app/src/main/AndroidManifest.xml | 0 .../nym_connect_android}/MainActivity.kt | 0 .../arm64-v8a/libnym_connect_android.so | 0 .../armeabi-v7a/libnym_connect_android.so | 0 .../jniLibs/x86/libnym_connect_android.so | 0 .../jniLibs/x86_64/libnym_connect_android.so | 0 .../drawable-v24/ic_launcher_foreground.xml | 0 .../res/drawable/ic_launcher_background.xml | 0 .../app/src/main/res/layout/activity_main.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../mipmap-hdpi/ic_launcher_foreground.png | Bin .../res/mipmap-hdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../mipmap-mdpi/ic_launcher_foreground.png | Bin .../res/mipmap-mdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../mipmap-xhdpi/ic_launcher_foreground.png | Bin .../res/mipmap-xhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin .../app/src/main/res/values-night/themes.xml | 0 .../app/src/main/res/values/colors.xml | 0 .../app/src/main/res/values/strings.xml | 0 .../app/src/main/res/values/themes.xml | 2 +- .../build.gradle.kts | 0 .../buildSrc/build.gradle.kts | 0 .../nym_connect_android/kotlin/BuildTask.kt | 45 +++++++ .../nym_connect_android/kotlin/RustPlugin.kt | 59 ++++++++ .../gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 .../gradlew | 0 .../gradlew.bat | 0 .../settings.gradle | 0 nym-connect-android/src-tauri/tauri.conf.json | 4 +- 50 files changed, 360 insertions(+), 130 deletions(-) create mode 100644 .github/workflows/nc-android-apk.yml delete mode 100644 nym-connect-android/src-tauri/gen/android/nym-connect-android/app/.gitignore delete mode 100644 nym-connect-android/src-tauri/gen/android/nym-connect-android/app/build.gradle.kts rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/.editorconfig (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/.gitignore (59%) create mode 100644 nym-connect-android/src-tauri/gen/android/nym_connect_android/app/.gitignore create mode 100644 nym-connect-android/src-tauri/gen/android/nym_connect_android/app/build.gradle.kts rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/proguard-rules.pro (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/AndroidManifest.xml (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android/app/src/main/java/net/nymtech/nym-connect-android => nym_connect_android/app/src/main/java/net/nymtech/nym_connect_android}/MainActivity.kt (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/jniLibs/arm64-v8a/libnym_connect_android.so (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/jniLibs/armeabi-v7a/libnym_connect_android.so (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/jniLibs/x86/libnym_connect_android.so (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/jniLibs/x86_64/libnym_connect_android.so (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/drawable-v24/ic_launcher_foreground.xml (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/drawable/ic_launcher_background.xml (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/layout/activity_main.xml (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-hdpi/ic_launcher_round.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-mdpi/ic_launcher_round.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/values-night/themes.xml (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/values/colors.xml (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/values/strings.xml (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/app/src/main/res/values/themes.xml (98%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/build.gradle.kts (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/buildSrc/build.gradle.kts (100%) create mode 100644 nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/src/main/java/net/nymtech/nym_connect_android/kotlin/BuildTask.kt create mode 100644 nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/src/main/java/net/nymtech/nym_connect_android/kotlin/RustPlugin.kt rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/gradle.properties (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/gradle/wrapper/gradle-wrapper.jar (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/gradle/wrapper/gradle-wrapper.properties (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/gradlew (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/gradlew.bat (100%) rename nym-connect-android/src-tauri/gen/android/{nym-connect-android => nym_connect_android}/settings.gradle (100%) diff --git a/.github/workflows/nc-android-apk.yml b/.github/workflows/nc-android-apk.yml new file mode 100644 index 0000000000..ea12e94f1d --- /dev/null +++ b/.github/workflows/nc-android-apk.yml @@ -0,0 +1,127 @@ +name: NC Android APK Release + +on: + workflow_dispatch: + push: + branches: + - "release/nc-android-v[0-9].[0-9].[0-9]*" + +jobs: + build: + name: Build APK + runs-on: ubuntu-latest + env: + ANDROID_HOME: ${{ github.workspace }}/android-sdk + NDK_VERSION: 25.1.8937393 + NDK_HOME: ${{ env.ANDROID_HOME }}/ndk/${{ env.NDK_VERSION }} + SDK_PLATFORM_VERSION: android-33 + SDK_BUILDTOOLS_VERSION: 33.0.1 + + steps: + - name: Install Dependencies (Linux) + # https://next--tauri.netlify.app/next/guides/getting-started/prerequisites/linux/#1-system-dependencies + run: | + sudo apt-get update + sudo apt-get -y install \ + libwebkit2gtk-4.0-dev \ + build-essential \ + curl \ + wget \ + libssl-dev \ + libgtk-3-dev \ + squashfs-tools \ + libayatana-appindicator3-dev \ + librsvg2-dev + + - name: Install Java + uses: actions/setup-java@v3 + with: + distribution: "temurin" + java-version: "17" + + - name: Install Android SDK manager + # https://developer.android.com/studio/command-line/sdkmanager + run: | + curl -sS https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -o cmdline-tools.zip + unzip cmdline-tools.zip + mkdir -p $ANDROID_HOME/cmdline-tools/latest + mv cmdline-tools/* $ANDROID_HOME/cmdline-tools/latest + rm -rf cmdline-tools + + - name: Install Android S/NDK + run: | + echo y | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses + echo y | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager \ + "platforms;$SDK_PLATFORM_VERSION" \ + "platform-tools" \ + "ndk;$NDK_VERSION" \ + "build-tools;$SDK_BUILDTOOLS_VERSION" + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + + - name: Install tauri cli + run: cargo install tauri-cli --version "^2.0.0-alpha.2" + + - name: Install rust android targets + run: | + rustup target add aarch64-linux-android \ + armv7-linux-androideabi \ + i686-linux-android \ + x86_64-linux-android + + - name: Setup Nodejs + uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: Install yarn + run: | + npm i -g yarn + yarn --version + + - name: Checkout + uses: actions/checkout@v3 + + - name: Build frontend code + run: | + yarn install --frozen-lockfile + yarn build + yarn workspace @nym/nym-connect-android webpack:prod + + - name: Build APK + working-directory: nym-connect-android + env: + WRY_ANDROID_PACKAGE: net.nymtech.nym_connect_android + WRY_ANDROID_LIBRARY: nym_connect_android + # TODO build with release profile (--release), it will requires + # to sign the APK. For now build with debug profile to avoid that + run: cargo tauri android build --debug --apk + + # TODO add the version number to APK name + - name: Rename APK artifact + run: | + mv nym-connect-android/src-tauri/gen/android/nym_connect_android/app/build/outputs/apk/universal/debug/app-universal-debug.apk \ + nym-connect-debug.apk + + - name: Upload APK artifact + uses: actions/upload-artifact@v3 + with: + name: nc-apk-debug + path: nym-connect-debug.apk + + publish: + name: Publish APK + needs: build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Download binary artifact + uses: actions/download-artifact@v3 + with: + name: nc-apk-debug + path: apk + # TODO add a step to upload the APK somewhere + # - name: Publish + # uses: ??? diff --git a/nym-connect-android/README.md b/nym-connect-android/README.md index 73e541083d..a97d3c8ea0 100644 --- a/nym-connect-android/README.md +++ b/nym-connect-android/README.md @@ -21,10 +21,11 @@ https://next--tauri.netlify.app/next/guides/getting-started/prerequisites/linux# ## Installation -Inside the `nym-connect-android` directory, run the following command: +Inside the `nym-connect-android` directory, run the following commands: ``` yarn install +yarn prewebpack:dev ``` ## Development @@ -34,7 +35,7 @@ or a real [device](https://developer.android.com/studio/run/device) connected. Inside the `nym-connect-android/src-tauri` directory, run the following command: ``` -WRY_ANDROID_PACKAGE=net.nymtech.nym_connect_android WRY_ANDROID_LIBRARY=nym_connect_android cargo tauri android dev +yarn dev ``` #### Debugging @@ -43,10 +44,11 @@ https://next--tauri.netlify.app/next/guides/debugging/application#mobile ## Production -To build the application bundles (APK and AAB files), run the build command. +To build the APK, run the build commands. ``` -WRY_ANDROID_PACKAGE=net.nymtech.nym_connect_android WRY_ANDROID_LIBRARY=nym_connect_android cargo tauri android build +yarn webpack:prod +WRY_ANDROID_PACKAGE=net.nymtech.nym_connect_android WRY_ANDROID_LIBRARY=nym_connect_android cargo tauri android build --debug --apk ``` # Storybook diff --git a/nym-connect-android/package.json b/nym-connect-android/package.json index 2d9c094109..13e96efdde 100644 --- a/nym-connect-android/package.json +++ b/nym-connect-android/package.json @@ -8,9 +8,9 @@ "webpack:dev": "yarn webpack serve --config webpack.dev.js", "webpack:dev:onlyThis": "yarn webpack serve --config webpack.dev.js", "webpack:prod": "yarn webpack --progress --config webpack.prod.js", - "tauri:dev": "RUST_DEBUG=1 yarn tauri dev", - "tauri:build": "yarn tauri build", - "dev": "run-p webpack:dev tauri:dev", + "tauri:dev": "WRY_ANDROID_PACKAGE=net.nymtech.nym_connect_android WRY_ANDROID_LIBRARY=nym_connect_android cargo tauri android dev", + "tauri:build": "WRY_ANDROID_PACKAGE=net.nymtech.nym_connect_android WRY_ANDROID_LIBRARY=nym_connect_android cargo tauri android build", + "dev": "run-p webpack:dev:onlyThis tauri:dev", "prebuild": "yarn --cwd .. build", "build": "run-s webpack:prod tauri:build", "storybook": "start-storybook -p 6006", diff --git a/nym-connect-android/src-tauri/Cargo.toml b/nym-connect-android/src-tauri/Cargo.toml index e967c9729a..6b9ddc186a 100644 --- a/nym-connect-android/src-tauri/Cargo.toml +++ b/nym-connect-android/src-tauri/Cargo.toml @@ -19,9 +19,6 @@ crate-type = ["staticlib", "cdylib", "rlib"] # tauri-build = { version = "2.0.0-alpha.0", features = [] } tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "next", features = [] } -# tauri-codegen = "2.0.0-alpha.0" -# tauri-macros = "2.0.0-alpha.0" - [dependencies] anyhow = "1.0" bip39 = "1.0" @@ -41,8 +38,7 @@ serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_repr = "0.1" tap = "1.0.1" -# TODO swithing to `rfd101` temporarily, untill https://github.com/tauri-apps/tauri/pull/6174 is merged -tauri = { git = "https://github.com/tauri-apps/tauri", branch = "rfd101", features = ["clipboard-write-text", "native-tls-vendored", "notification-all", "shell-open", "system-tray", "window-close", "window-minimize", "window-start-dragging"] } +tauri = { git = "https://github.com/tauri-apps/tauri", branch = "next", features = ["clipboard-write-text", "native-tls-vendored", "notification-all", "shell-open", "system-tray", "window-close", "window-minimize", "window-start-dragging"] } tendermint-rpc = "0.23.0" thiserror = "1.0" tokio = { version = "1.24.1", features = ["sync", "time"] } @@ -70,3 +66,7 @@ custom-protocol = ["tauri/custom-protocol"] # opt-level = "s" # lto = true +[profile.release] +strip = true +opt-level = "s" +lto = true diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/.gitignore b/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/.gitignore deleted file mode 100644 index eddc6bd989..0000000000 --- a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/src/main/java/net/nymtech/nym-connect-android/generated diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/build.gradle.kts b/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/build.gradle.kts deleted file mode 100644 index 56d94386ff..0000000000 --- a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/build.gradle.kts +++ /dev/null @@ -1,112 +0,0 @@ -plugins { - id("com.android.application") - id("org.jetbrains.kotlin.android") - id("rustPlugin") -} - -android { - compileSdk = 33 - defaultConfig { - manifestPlaceholders["usesCleartextTraffic"] = "false" - applicationId = "net.nymtech.nym_connect_android" - minSdk = 24 - targetSdk = 33 - versionCode = 1 - versionName = "1.0" - } - sourceSets.getByName("main") { - // Vulkan validation layers - val ndkHome = System.getenv("NDK_HOME") - jniLibs.srcDir("${ndkHome}/sources/third_party/vulkan/src/build-android/jniLibs") - } - buildTypes { - getByName("debug") { - manifestPlaceholders["usesCleartextTraffic"] = "true" - isDebuggable = true - isJniDebuggable = true - isMinifyEnabled = false - packagingOptions { - jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so") - - jniLibs.keepDebugSymbols.add("*/armeabi-v7a/*.so") - - jniLibs.keepDebugSymbols.add("*/x86/*.so") - - jniLibs.keepDebugSymbols.add("*/x86_64/*.so") - } - } - getByName("release") { - isMinifyEnabled = false - // proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") - } - } - flavorDimensions.add("abi") - productFlavors { - create("universal") { - val abiList = findProperty("abiList") as? String - - dimension = "abi" - ndk { - abiFilters += abiList?.split(",")?.map { it.trim() } ?: listOf( - "arm64-v8a", "armeabi-v7a", "x86", "x86_64", - ) - } - } - create("arm64") { - dimension = "abi" - ndk { - abiFilters += listOf("arm64-v8a") - } - } - - create("arm") { - dimension = "abi" - ndk { - abiFilters += listOf("armeabi-v7a") - } - } - - create("x86") { - dimension = "abi" - ndk { - abiFilters += listOf("x86") - } - } - - create("x86_64") { - dimension = "abi" - ndk { - abiFilters += listOf("x86_64") - } - } - } - - assetPacks += mutableSetOf() - namespace = "net.nymtech.nym_connect_android" -} - -rust { - rootDirRel = "../../../../" - targets = listOf("aarch64", "armv7", "i686", "x86_64") - arches = listOf("arm64", "arm", "x86", "x86_64") -} - -dependencies { - implementation("androidx.webkit:webkit:1.5.0") - implementation("androidx.appcompat:appcompat:1.5.1") - implementation("com.google.android.material:material:1.7.0") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.4") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0") -} - -afterEvaluate { - android.applicationVariants.all { - tasks["mergeUniversalReleaseJniLibFolders"].dependsOn(tasks["rustBuildRelease"]) - tasks["mergeUniversalDebugJniLibFolders"].dependsOn(tasks["rustBuildDebug"]) - productFlavors.filter { it.name != "universal" }.forEach { _ -> - val archAndBuildType = name.capitalize() - tasks["merge${archAndBuildType}JniLibFolders"].dependsOn(tasks["rustBuild${archAndBuildType}"]) - } - } -} diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/.editorconfig b/nym-connect-android/src-tauri/gen/android/nym_connect_android/.editorconfig similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/.editorconfig rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/.editorconfig diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/.gitignore b/nym-connect-android/src-tauri/gen/android/nym_connect_android/.gitignore similarity index 59% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/.gitignore rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/.gitignore index 1eed4c2fbd..b2ed2681b2 100644 --- a/nym-connect-android/src-tauri/gen/android/nym-connect-android/.gitignore +++ b/nym-connect-android/src-tauri/gen/android/nym_connect_android/.gitignore @@ -9,8 +9,6 @@ /.idea/assetWizardSettings.xml .DS_Store build -/buildSrc/src/main/java/net/nymtech/nym-connect-android/kotlin/BuildTask.kt -/buildSrc/src/main/java/net/nymtech/nym-connect-android/kotlin/RustPlugin.kt /captures .externalNativeBuild .cxx diff --git a/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/.gitignore b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/.gitignore new file mode 100644 index 0000000000..cd06a0a15a --- /dev/null +++ b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/.gitignore @@ -0,0 +1 @@ +/src/main/java/net/nymtech/nym_connect_android/generated diff --git a/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/build.gradle.kts b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/build.gradle.kts new file mode 100644 index 0000000000..a81c779421 --- /dev/null +++ b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/build.gradle.kts @@ -0,0 +1,111 @@ +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") + id("rustPlugin") +} + +android { + compileSdk = 33 + defaultConfig { + manifestPlaceholders["usesCleartextTraffic"] = "false" + applicationId = "net.nymtech.nym_connect_android" + minSdk = 24 + targetSdk = 33 + versionCode = 1 + versionName = "1.0" + } + sourceSets.getByName("main") { + // Vulkan validation layers + val ndkHome = System.getenv("NDK_HOME") + jniLibs.srcDir("${ndkHome}/sources/third_party/vulkan/src/build-android/jniLibs") + } + buildTypes { + getByName("debug") { + manifestPlaceholders["usesCleartextTraffic"] = "true" + isDebuggable = true + isJniDebuggable = true + isMinifyEnabled = false + packagingOptions { + jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so") + + jniLibs.keepDebugSymbols.add("*/armeabi-v7a/*.so") + + jniLibs.keepDebugSymbols.add("*/x86/*.so") + + jniLibs.keepDebugSymbols.add("*/x86_64/*.so") + } + } + getByName("release") { + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") + } + } + flavorDimensions.add("abi") + productFlavors { + create("universal") { + val abiList = findProperty("abiList") as? String + + dimension = "abi" + ndk { + abiFilters += abiList?.split(",")?.map { it.trim() } ?: listOf( "arm64-v8a", "armeabi-v7a", "x86", "x86_64", + ) + } + } + create("arm64") { + dimension = "abi" + ndk { + abiFilters += listOf("arm64-v8a") + } + } + + create("arm") { + dimension = "abi" + ndk { + abiFilters += listOf("armeabi-v7a") + } + } + + create("x86") { + dimension = "abi" + ndk { + abiFilters += listOf("x86") + } + } + + create("x86_64") { + dimension = "abi" + ndk { + abiFilters += listOf("x86_64") + } + } + } + + assetPacks += mutableSetOf() + namespace = "net.nymtech.nym_connect_android" +} + +rust { + rootDirRel = "../../../../" + targets = listOf("aarch64", "armv7", "i686", "x86_64") + arches = listOf("arm64", "arm", "x86", "x86_64") +} + +dependencies { + implementation("androidx.webkit:webkit:1.5.0") + implementation("androidx.appcompat:appcompat:1.5.1") + implementation("com.google.android.material:material:1.7.0") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.4") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0") +} + +afterEvaluate { + android.applicationVariants.all { + tasks["mergeUniversalReleaseJniLibFolders"].dependsOn(tasks["rustBuildRelease"]) + tasks["mergeUniversalDebugJniLibFolders"].dependsOn(tasks["rustBuildDebug"]) + productFlavors.filter{ it.name != "universal" }.forEach { _ -> + val archAndBuildType = name.capitalize() + tasks["merge${archAndBuildType}JniLibFolders"].dependsOn(tasks["rustBuild${archAndBuildType}"]) + } + } +} diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/proguard-rules.pro b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/proguard-rules.pro similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/proguard-rules.pro rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/proguard-rules.pro diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/AndroidManifest.xml b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/AndroidManifest.xml similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/AndroidManifest.xml rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/AndroidManifest.xml diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/java/net/nymtech/nym-connect-android/MainActivity.kt b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/java/net/nymtech/nym_connect_android/MainActivity.kt similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/java/net/nymtech/nym-connect-android/MainActivity.kt rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/java/net/nymtech/nym_connect_android/MainActivity.kt diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/jniLibs/arm64-v8a/libnym_connect_android.so b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/jniLibs/arm64-v8a/libnym_connect_android.so similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/jniLibs/arm64-v8a/libnym_connect_android.so rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/jniLibs/arm64-v8a/libnym_connect_android.so diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/jniLibs/armeabi-v7a/libnym_connect_android.so b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/jniLibs/armeabi-v7a/libnym_connect_android.so similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/jniLibs/armeabi-v7a/libnym_connect_android.so rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/jniLibs/armeabi-v7a/libnym_connect_android.so diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/jniLibs/x86/libnym_connect_android.so b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/jniLibs/x86/libnym_connect_android.so similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/jniLibs/x86/libnym_connect_android.so rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/jniLibs/x86/libnym_connect_android.so diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/jniLibs/x86_64/libnym_connect_android.so b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/jniLibs/x86_64/libnym_connect_android.so similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/jniLibs/x86_64/libnym_connect_android.so rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/jniLibs/x86_64/libnym_connect_android.so diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/drawable/ic_launcher_background.xml b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/drawable/ic_launcher_background.xml similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/drawable/ic_launcher_background.xml rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/drawable/ic_launcher_background.xml diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/layout/activity_main.xml b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/layout/activity_main.xml similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/layout/activity_main.xml rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/layout/activity_main.xml diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/values-night/themes.xml b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/values-night/themes.xml similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/values-night/themes.xml rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/values-night/themes.xml diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/values/colors.xml b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/values/colors.xml similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/values/colors.xml rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/values/colors.xml diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/values/strings.xml b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/values/strings.xml similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/values/strings.xml rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/values/strings.xml diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/values/themes.xml b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/values/themes.xml similarity index 98% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/values/themes.xml rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/values/themes.xml index 1de86a4c9a..7178979168 100644 --- a/nym-connect-android/src-tauri/gen/android/nym-connect-android/app/src/main/res/values/themes.xml +++ b/nym-connect-android/src-tauri/gen/android/nym_connect_android/app/src/main/res/values/themes.xml @@ -13,4 +13,4 @@ ?attr/colorPrimaryVariant - + \ No newline at end of file diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/build.gradle.kts b/nym-connect-android/src-tauri/gen/android/nym_connect_android/build.gradle.kts similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/build.gradle.kts rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/build.gradle.kts diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/buildSrc/build.gradle.kts b/nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/build.gradle.kts similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/buildSrc/build.gradle.kts rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/build.gradle.kts diff --git a/nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/src/main/java/net/nymtech/nym_connect_android/kotlin/BuildTask.kt b/nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/src/main/java/net/nymtech/nym_connect_android/kotlin/BuildTask.kt new file mode 100644 index 0000000000..63289a3731 --- /dev/null +++ b/nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/src/main/java/net/nymtech/nym_connect_android/kotlin/BuildTask.kt @@ -0,0 +1,45 @@ +package net.nymtech + +import java.io.File +import org.gradle.api.DefaultTask +import org.gradle.api.GradleException +import org.gradle.api.logging.LogLevel +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.InputDirectory +import org.gradle.api.tasks.PathSensitive +import org.gradle.api.tasks.PathSensitivity +import org.gradle.api.tasks.TaskAction + +open class BuildTask : DefaultTask() { + @InputDirectory + @PathSensitive(PathSensitivity.RELATIVE) + var rootDirRel: File? = null + @Input + var target: String? = null + @Input + var release: Boolean? = null + + @TaskAction + fun build() { + val rootDirRel = rootDirRel ?: throw GradleException("rootDirRel cannot be null") + val target = target ?: throw GradleException("target cannot be null") + val release = release ?: throw GradleException("release cannot be null") + val home = (System.getenv("HOME") ?: "") + val cargo_home = (System.getenv("CARGO_HOME") ?: "$home/.cargo") + println("gradle Rust plugin: CARGO_HOME $cargo_home") + project.exec { + workingDir(File(project.projectDir, rootDirRel.path)) + executable("""$cargo_home/bin/cargo-tauri""") + args(listOf("tauri", "android", "android-studio-script")) + if (project.logger.isEnabled(LogLevel.DEBUG)) { + args("-vv") + } else if (project.logger.isEnabled(LogLevel.INFO)) { + args("-v") + } + if (release) { + args("--release") + } + args(listOf("--target", target)) + }.assertNormalExitValue() + } +} \ No newline at end of file diff --git a/nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/src/main/java/net/nymtech/nym_connect_android/kotlin/RustPlugin.kt b/nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/src/main/java/net/nymtech/nym_connect_android/kotlin/RustPlugin.kt new file mode 100644 index 0000000000..5e8dcdb3ac --- /dev/null +++ b/nym-connect-android/src-tauri/gen/android/nym_connect_android/buildSrc/src/main/java/net/nymtech/nym_connect_android/kotlin/RustPlugin.kt @@ -0,0 +1,59 @@ +package net.nymtech + +import org.gradle.api.DefaultTask +import org.gradle.api.GradleException +import org.gradle.api.Plugin +import org.gradle.api.Project +import java.io.File +import java.util.* + +const val TASK_GROUP = "rust" + +open class Config { + var rootDirRel: String? = null + var targets: List? = null + var arches: List? = null +} + +open class RustPlugin : Plugin { + private lateinit var config: Config + + override fun apply(project: Project) { + config = project.extensions.create("rust", Config::class.java) + project.afterEvaluate { + if (config.targets == null) { + throw GradleException("targets cannot be null") + } + if (config.arches == null) { + throw GradleException("arches cannot be null") + } + for (profile in listOf("debug", "release")) { + val profileCapitalized = profile.capitalize(Locale.ROOT) + val buildTask = project.tasks.maybeCreate( + "rustBuild$profileCapitalized", + DefaultTask::class.java + ).apply { + group = TASK_GROUP + description = "Build dynamic library in $profile mode for all targets" + } + for (targetPair in config.targets!!.withIndex()) { + val targetName = targetPair.value + val targetArch = config.arches!![targetPair.index] + val targetArchCapitalized = targetArch.capitalize(Locale.ROOT) + val targetBuildTask = project.tasks.maybeCreate( + "rustBuild$targetArchCapitalized$profileCapitalized", + BuildTask::class.java + ).apply { + group = TASK_GROUP + description = "Build dynamic library in $profile mode for $targetArch" + rootDirRel = config.rootDirRel?.let { File(it) } + target = targetName + release = profile == "release" + } + buildTask.dependsOn(targetBuildTask) + project.tasks.findByName("preBuild")?.mustRunAfter(targetBuildTask) + } + } + } + } +} diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/gradle.properties b/nym-connect-android/src-tauri/gen/android/nym_connect_android/gradle.properties similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/gradle.properties rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/gradle.properties diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/gradle/wrapper/gradle-wrapper.jar b/nym-connect-android/src-tauri/gen/android/nym_connect_android/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/gradle/wrapper/gradle-wrapper.jar rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/gradle/wrapper/gradle-wrapper.jar diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/gradle/wrapper/gradle-wrapper.properties b/nym-connect-android/src-tauri/gen/android/nym_connect_android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/gradle/wrapper/gradle-wrapper.properties rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/gradle/wrapper/gradle-wrapper.properties diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/gradlew b/nym-connect-android/src-tauri/gen/android/nym_connect_android/gradlew similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/gradlew rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/gradlew diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/gradlew.bat b/nym-connect-android/src-tauri/gen/android/nym_connect_android/gradlew.bat similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/gradlew.bat rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/gradlew.bat diff --git a/nym-connect-android/src-tauri/gen/android/nym-connect-android/settings.gradle b/nym-connect-android/src-tauri/gen/android/nym_connect_android/settings.gradle similarity index 100% rename from nym-connect-android/src-tauri/gen/android/nym-connect-android/settings.gradle rename to nym-connect-android/src-tauri/gen/android/nym_connect_android/settings.gradle diff --git a/nym-connect-android/src-tauri/tauri.conf.json b/nym-connect-android/src-tauri/tauri.conf.json index 0572848f3b..2e50e25325 100644 --- a/nym-connect-android/src-tauri/tauri.conf.json +++ b/nym-connect-android/src-tauri/tauri.conf.json @@ -6,8 +6,8 @@ "build": { "distDir": "../dist", "devPath": "http://localhost:9000", - "beforeDevCommand": "yarn webpack:dev:onlyThis", - "beforeBuildCommand": "yarn webpack:prod" + "beforeDevCommand": "", + "beforeBuildCommand": "" }, "tauri": { "bundle": {