├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .gitattributes ├── .github └── workflows │ └── build.yaml ├── .gitignore ├── .npmrc ├── README.md ├── index.html ├── package.json ├── pnpm-lock.yaml ├── src-tauri ├── .cargo │ ├── config.toml │ └── libgcc.a ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── build.rs ├── gen │ └── android │ │ └── tauri_app │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── nu │ │ │ │ └── simon │ │ │ │ └── tauri_app │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ ├── build.gradle.kts │ │ ├── buildSrc │ │ └── build.gradle.kts │ │ ├── gradle.properties │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle ├── icons │ ├── 128x128.png │ ├── 128x128@2x.png │ ├── 32x32.png │ ├── Square107x107Logo.png │ ├── Square142x142Logo.png │ ├── Square150x150Logo.png │ ├── Square284x284Logo.png │ ├── Square30x30Logo.png │ ├── Square310x310Logo.png │ ├── Square44x44Logo.png │ ├── Square71x71Logo.png │ ├── Square89x89Logo.png │ ├── StoreLogo.png │ ├── icon.icns │ ├── icon.ico │ └── icon.png ├── src │ ├── lib.rs │ └── main.rs └── tauri.conf.json ├── src ├── assets │ ├── tauri.svg │ ├── typescript.svg │ └── vite.svg ├── main.ts └── styles.css ├── tsconfig.json └── vite.config.ts /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # Arguments for setting up the SDK. Can be overridden in devcontainer.json but shouldn't be required 2 | ARG ANDROID_SDK_TOOLS_VERSION="9477386" 3 | ARG ANDROID_PLATFORM_VERSION="32" 4 | ARG ANDROID_BUILD_TOOLS_VERSION="30.0.3" 5 | ARG NDK_VERSION="25.0.8775105" 6 | 7 | # Arguments related to setting up a non-root user for the container 8 | ARG USERNAME=vscode 9 | ARG USER_UID=1000 10 | ARG USER_GID=$USER_UID 11 | 12 | # Arguments for installing dependencies where DEPENDENCIES are Tauri dependencies and EXTRA_DEPENDENCIES is empty so that users can add more without interfering with Tauri 13 | ARG DEPENDENCIES="build-essential curl libappindicator3-dev libgtk-3-dev librsvg2-dev libssl-dev libwebkit2gtk-4.1-dev wget libappimage-dev" 14 | ARG EXTRA_DEPENDENCIES="" 15 | 16 | # Argument for which image version to use 17 | ARG IMAGE="mcr.microsoft.com/vscode/devcontainers/base" 18 | ARG VARIANT="0-ubuntu-22.04" 19 | 20 | ###################################### 21 | ## Base image 22 | ## Installing dependencies 23 | ###################################### 24 | FROM ${IMAGE}:${VARIANT} AS base_image 25 | 26 | # Redefine arguments 27 | ARG DEPENDENCIES 28 | ARG EXTRA_DEPENDENCIES 29 | 30 | # Non-interactive frontend 31 | ENV DEBIAN_FRONTEND=noninteractive 32 | 33 | # Install dependencies 34 | RUN apt update \ 35 | && apt upgrade -yq \ 36 | # Install general dependencies 37 | && apt install -yq --no-install-recommends sudo default-jdk \ 38 | wget curl git xz-utils zip unzip file socat clang libssl-dev \ 39 | pkg-config git git-lfs bash-completion llvm \ 40 | # Install Tauri dependencies as well as extra dependencies 41 | && apt install -yq ${DEPENDENCIES} ${EXTRA_DEPENDENCIES} 42 | 43 | ###################################### 44 | ## Android SDK 45 | ## Downloading and installing 46 | ###################################### 47 | FROM base_image as android_sdk 48 | WORKDIR /android_sdk 49 | 50 | # Arguments are consumed by the first FROM they encounter, so we need to just explicitly tell Docker we need to use these again and again 51 | ARG ANDROID_SDK_TOOLS_VERSION 52 | ARG ANDROID_PLATFORM_VERSION 53 | ARG ANDROID_BUILD_TOOLS_VERSION 54 | ARG NDK_VERSION 55 | 56 | # Environment variables inside the android_sdk step to ensure the SDK is built properly 57 | ENV ANDROID_HOME="/android_sdk" 58 | ENV ANDROID_SDK_ROOT="$ANDROID_HOME" 59 | ENV NDK_HOME="${ANDROID_HOME}/ndk/${NDK_VERSION}" 60 | ENV PATH=${PATH}:/android_sdk/cmdline-tools/latest/bin 61 | ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 62 | 63 | # Set up the SDK 64 | RUN curl -C - --output android-sdk-tools.zip "https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS_VERSION}_latest.zip" \ 65 | && mkdir -p /android_sdk/cmdline-tools/latest/ \ 66 | && unzip -q android-sdk-tools.zip -d /android_sdk/cmdline-tools/latest/ \ 67 | && mv /android_sdk/cmdline-tools/latest/cmdline-tools/* /android_sdk/cmdline-tools/latest \ 68 | && rm -r /android_sdk/cmdline-tools/latest/cmdline-tools \ 69 | && rm android-sdk-tools.zip \ 70 | && yes | sdkmanager --licenses \ 71 | && touch $HOME/.android/repositories.cfg \ 72 | && sdkmanager "cmdline-tools;latest" \ 73 | && sdkmanager "platform-tools" \ 74 | && sdkmanager "emulator" \ 75 | && sdkmanager "platforms;android-${ANDROID_PLATFORM_VERSION}" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" \ 76 | && sdkmanager "ndk;${NDK_VERSION}" \ 77 | && sdkmanager "system-images;android-${ANDROID_PLATFORM_VERSION};google_apis;x86_64" 78 | 79 | # As an added bonus we set up a gradle.properties file that enhances Gradle performance 80 | RUN echo "org.gradle.daemon=true" >> "/gradle.properties" \ 81 | && echo "org.gradle.parallel=true" >> "/gradle.properties" 82 | 83 | ###################################### 84 | ## Mold 85 | ## Speeds up compilation 86 | ###################################### 87 | FROM base_image as mold 88 | WORKDIR /mold 89 | 90 | # Install dependencies 91 | RUN apt install -yq g++ libstdc++-10-dev zlib1g-dev cmake 92 | 93 | # Clone mold 1.4.2, build it then install it 94 | RUN git clone https://github.com/rui314/mold.git && \ 95 | cd mold && \ 96 | git checkout --quiet v1.4.2 && \ 97 | make -j$(nproc) CXX=clang++ && \ 98 | make install 99 | 100 | # Set up a config.toml file that makes Cargo use clang and mold 101 | RUN echo "[target.x86_64-unknown-linux-gnu]" >> /config.toml \ 102 | && echo "linker = \"clang\"" >> /config.toml \ 103 | && echo "rustflags = [\"-C\", \"link-arg=-fuse-ld=/usr/local/bin/mold\"]" >> /config.toml 104 | 105 | ###################################### 106 | ## Tauri CLI 107 | ## Temporary workaround 108 | ###################################### 109 | FROM base_image as tauri-cli 110 | WORKDIR /build 111 | 112 | # Install rustup 113 | RUN curl https://sh.rustup.rs -sSf | \ 114 | sh -s -- --default-toolchain stable -y 115 | 116 | # Add Cargo bin to the PATH 117 | ENV PATH="/home/${USERNAME}/.cargo/bin:$PATH" 118 | 119 | # Build and install the Tauri CLI 120 | RUN . ~/.cargo/env \ 121 | && git clone https://github.com/tauri-apps/tauri \ 122 | && cd tauri/tooling/cli \ 123 | && git checkout next \ 124 | && cargo build \ 125 | && cp target/debug/cargo-tauri /cargo-tauri 126 | 127 | ###################################### 128 | ## The finalized container 129 | ## Puts it all together 130 | ###################################### 131 | FROM base_image 132 | 133 | # We require these arguments in this image so we have to fetch them anew 134 | ARG ANDROID_SDK_TOOLS_VERSION 135 | ARG ANDROID_PLATFORM_VERSION 136 | ARG ANDROID_BUILD_TOOLS_VERSION 137 | ARG NDK_VERSION 138 | 139 | ARG USERNAME 140 | ARG USER_UID 141 | ARG USER_GID 142 | 143 | # Set up the required Android environment variables 144 | ENV ANDROID_HOME="/home/${USERNAME}/android_sdk" 145 | ENV ANDROID_SDK_ROOT="$ANDROID_HOME" 146 | ENV NDK_HOME="${ANDROID_HOME}/ndk/${NDK_VERSION}" 147 | ENV PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/emulator 148 | ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 149 | 150 | # Ensure the user is a sudo user in case the developer needs to e.g. run apt install later 151 | RUN echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ 152 | && chmod 0440 /etc/sudoers.d/$USERNAME 153 | 154 | # Clean up to reduce container size 155 | RUN apt clean \ 156 | && rm -rf /var/lib/apt/lists/* 157 | 158 | # Run the rest of the commands as the non-root user 159 | USER $USERNAME 160 | 161 | # Install rustup 162 | RUN curl https://sh.rustup.rs -sSf | \ 163 | sh -s -- --default-toolchain stable -y 164 | 165 | # Ensure the Cargo env gets loaded 166 | RUN echo "source /home/${USERNAME}/.cargo/env" >>/home/${USERNAME}/.bashrc 167 | 168 | # Add Cargo bin to the PATH, primarily to ensure the next command can find rustup 169 | ENV PATH="/home/${USERNAME}/.cargo/bin:$PATH" 170 | 171 | # Update Rust and install required Android targets 172 | RUN rustup update && rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android 173 | 174 | # Copy files from android_sdk 175 | COPY --from=android_sdk --chown=${USERNAME}:${USERNAME} /gradle.properties /home/${USERNAME}/.gradle/gradle.properties 176 | COPY --from=android_sdk --chown=${USERNAME}:${USERNAME} /android_sdk /home/${USERNAME}/android_sdk 177 | 178 | # Create an emulator 179 | RUN echo no | avdmanager create avd -n dev -k "system-images;android-${ANDROID_PLATFORM_VERSION};google_apis;x86_64" 180 | 181 | # Copy files from mold 182 | COPY --from=mold --chown=${USERNAME}:${USERNAME} /usr/local/bin/mold /usr/local/bin/mold 183 | COPY --from=mold --chown=${USERNAME}:${USERNAME} /config.toml /home/${USERNAME}/.cargo/config.toml 184 | 185 | # Install the Tauri CLI 186 | COPY --from=tauri-cli --chown=${USERNAME}:${USERNAME} /cargo-tauri /usr/local/bin/cargo-tauri 187 | 188 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Tauri Android", 3 | "runArgs": [ 4 | "--network=host", // Without this the Tauri CLI will fail because it can't find a valid IP, and adb won't find your devices 5 | "--device=/dev/kvm" 6 | ], 7 | "build": { 8 | "dockerfile": "Dockerfile", 9 | "args": { 10 | // You don't need to set any of these since the defaults in the Dockerfile should 11 | // be the best/recommended ones to use, but it's here if you need it 12 | // "VARIANT": "ubuntu-22.04", // Which version the container should use 13 | // "NDK_VERSION": "25.2.9519653", // The NDK version to use 14 | // "ANDROID_PLATFORM_VERSION": "31", // The SDK version 15 | // "ANDROID_BUILD_TOOLS_VERSION": "33.0.0", // Build tools version 16 | // "ANDROID_SDK_TOOLS_VERSION": "9477386", // The command line tools version 17 | // "DEPENDENCIES": "" // Don't override this, it's the Tauri dependencies to get through apt 18 | // "EXTRA_DEPENDENCIES": "" // Any additional apt dependencies you require in addition to the Tauri dependencies 19 | } 20 | }, 21 | "settings": {}, 22 | "extensions": [ 23 | "rust-lang.rust-analyzer", // Recommended, rust-analyzer, to validate Rust code 24 | "tauri-apps.tauri-vscode", // Recommended, tauri.conf.json schema 25 | "ms-azuretools.vscode-docker" // Optional, primarily helps me develop the Dockerfile 26 | ], 27 | // "forwardPorts": [ 5039 ], 28 | "postCreateCommand": "pnpm i", // Optional, automatically runs `pnpm i` once the container starts running 29 | "remoteUser": "vscode", // The name of the non-root user in the container 30 | "features": { 31 | // Sets up Node.js, npm, yarn and pnpm 32 | // We could do this in the Dockerfile, but this is easier 33 | "ghcr.io/devcontainers/features/node:1": { 34 | "version": "lts" 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.png filter=lfs diff=lfs merge=lfs -text 2 | *.jpg filter=lfs diff=lfs merge=lfs -text 3 | *.ico filter=lfs diff=lfs merge=lfs -text 4 | *.icns filter=lfs diff=lfs merge=lfs -text 5 | *.jpeg filter=lfs diff=lfs merge=lfs -text 6 | -------------------------------------------------------------------------------- /.github/workflows/build.yaml: -------------------------------------------------------------------------------- 1 | name: Build container 2 | on: 3 | workflow_dispatch: 4 | push: 5 | branches: 6 | - "main" 7 | paths: 8 | - ".devcontainer/Dockerfile" 9 | - ".github/workflows/build.yaml" 10 | 11 | concurrency: 12 | group: ${{ github.workflow }}-${{ github.ref }} 13 | cancel-in-progress: true 14 | 15 | env: 16 | REGISTRY: ghcr.io 17 | LOCATION: simonhyll 18 | IMAGE_NAME: devcontainer-tauri-android 19 | jobs: 20 | build_deploy: 21 | permissions: 22 | contents: read 23 | packages: write 24 | runs-on: ubuntu-latest 25 | timeout-minutes: 60 26 | steps: 27 | - name: Log in to the Container Registry 28 | uses: docker/login-action@v2 29 | with: 30 | registry: ${{ env.REGISTRY }} 31 | username: ${{ github.actor }} 32 | password: ${{ secrets.GITHUB_TOKEN }} 33 | 34 | - uses: actions/checkout@v3.1.0 35 | 36 | - name: Extract metadata (tags, labels) for Docker 37 | id: meta 38 | uses: docker/metadata-action@v4 39 | with: 40 | images: ${{ env.REGISTRY }}/${{ env.LOCATION }}/${{ env.IMAGE_NAME }} 41 | flavor: | 42 | latest=true 43 | - run: sudo rm -rf /usr/local/lib/android 44 | - run: sudo rm -rf /usr/share/dotnet 45 | - run: sudo rm -rf "$AGENT_TOOLSDIRECTORY" 46 | - uses: docker/setup-buildx-action@v2 47 | - name: Build and push Docker image 48 | uses: docker/build-push-action@v3 49 | with: 50 | context: .devcontainer/ 51 | push: true 52 | tags: ${{ steps.meta.outputs.tags }} 53 | labels: ${{ steps.meta.outputs.labels }} 54 | cache-from: type=gha 55 | cache-to: type=gha,mode=min 56 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | 26 | .pnpm-store 27 | *.so 28 | tauri-apps/ -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | strict-peer-dependencies=false 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |

New dev container here!

3 |
4 | 5 | # Dev Container for Tauri+Android 6 | 7 | This is by far the least painful way I've developed for Android thus far just in general. I'll never use Android on my host system ever again. 8 | 9 | ## Current issues, READ THIS!! 10 | 11 | ### 1. You need to add the following to `gen/android/APP/build.gradle.kts` 12 | 13 | This is due to Kotlin not being able to detect the correct JVM target to use. [More info here](https://kotlinlang.org/docs/gradle-configure-project.html#gradle-java-toolchains-support) 14 | 15 | I'll probably make a PR for this so it won't have to be added manually. But for now, after you've ran `tauri android init` you'll need to manually add these lines to avoid Kotlin using Java 8 as a target while Java decides to use Java 11. 16 | 17 | ```java 18 | import org.jetbrains.kotlin.gradle.tasks.KotlinCompile 19 | 20 | // https://kotlinlang.org/docs/gradle-configure-project.html#gradle-java-toolchains-support 21 | tasks.withType(JavaCompile::class.java) { 22 | sourceCompatibility = "11" 23 | targetCompatibility = "11" 24 | } 25 | 26 | tasks.withType(KotlinCompile::class.java) { 27 | kotlinOptions { 28 | jvmTarget = "11" 29 | } 30 | } 31 | ``` 32 | 33 | ### 2. The frontend can't be accessed in the devcontainer due to networking 34 | 35 | This sounds more dire than it really is. If the Tauri CLI just has an option for specifying the IP and port manually it's as simple as creating a port forward on the host machine. The frontend already gets exposed to the host through e.g. http://localhost:1420, with port forwarding we could get it to be e.g. http://192.168.1.123:6969 and that should allow the android device to function normally. For now the only solution is to run the emulator from within the dev container, which doesn't perform very well, but at least it works. 36 | 37 | ## Getting started 38 | 39 | ### Setting up Devcontainer 40 | 41 | 1. [Set up Devcontainer development](https://code.visualstudio.com/docs/devcontainers/tutorial) 42 | 2. Copy the `.devcontainer` folder from this repo to your own project and glance over the files once so I'm not doing something malicious to your project 43 | 3. (Optional): If you trust me you can remove the Dockerfile and instead put `ghcr.io/simonhyll/devcontainer-tauri-android` in the `{"image":""}` part of `devcontainer.json` and remove the `{"build:{}}"` section entirely. This makes you download my prebuilt version instead. If you don't go with this option you'll be building it yourself and that can take quite a bit of time. Note that this option means you can't customize the preinstalled SDK for your developers, they'll need to use the sdkmanager to update it every time they launch their setup if you don't use the same SDK version nr as I've built into it. If you just want something that I've verified works, go with my image. If you want something that you can customize, build it yourself. Just note that if every developer builds it every time you're not just wasting precious energy from the world, you're effectively giving every single developer you have a 5-15 minute break every time there's an update to the container. If you're a team, consider making a prebuilt version, just steal the workflow from this repo and you should be good to go with that 44 | 45 | And that's it really! If you just use `Ctrl + Shift + P` and `>Dev Containers: Open folder in Container...` you'll be up and running. 46 | 47 | Now you can either run the emulator inside the dev container, or run the emulator on your host and port forward adb. 48 | 49 | If you run the emulator inside the dev container everything is just plug and play, just launch it then run `cargo tauri android dev` and you'll see your app running on Android. There's performance issues, but you don't have to set up your host at all. 50 | 51 | If you require better performance you'll have to check the ADB section below for further instructions on that. It's also currently the only solution I have for running on a physical device until I figure out how to forward the physical device (most likely a mix of mounting something in /dev and ensuring WSL has it). 52 | 53 | ### Option 1: ADB port forwarding 54 | 55 | > NOTE!!! The frontend won't show up even if the app gets installed since the device can't connect to the containers IP. This is a known issue and will get fixed once the Tauri CLI gets patched to support setting the IP manually. Once that patch is out we can use port forwarding on the host side to expose the frontend running in the container to the device. Until 56 | > 57 | > Until this issue gets resolved I recommend using Option 2: Running the emulator inside the dev container 58 | 59 | This approach relies on port forwarding from the host system into the dev container. The benefit of this approach is that you get maximum performance, since the emulator/physical device is used, the container just handles building the APK that gets installed. 60 | 61 | ```bash 62 | # Host machine 63 | # First run adb devices just to verify that your device shows up, if it doesn't you'll need to keep at it until it does 64 | adb devices 65 | # If your device showed up, kill the adb server 66 | adb kill-server 67 | # Now start the server in a way that supports port forwarding 68 | adb -a -P 5037 nodaemon server start 69 | ``` 70 | 71 | ```bash 72 | # Inside the devcontainer 73 | # Get your host ip 74 | HOST_IP=192.168.HOST.IP # REPLACE WITH YOUR HOSTS IP, I might figure out later how to do this dynamically 75 | # Start socat port forwarding 76 | socat TCP-LISTEN:5037,reuseaddr,fork TCP:${HOST_IP}:5037 77 | # Run adb devices to ensure everything works as intended 78 | adb devices 79 | ``` 80 | 81 | If you can now see your device inside the devcontainer you're good to go! 82 | 83 | ### Option 2: Running the emulator inside the devcontainer 84 | 85 | You're gonna need to make sure you have `/dev/kvm` on your host system, on Windows you'll need to be using WSL to have that. This is related to making sure the container is capable of running the virtualization at a kernel level required for emulation. 86 | 87 | Note that launching the emulator may appear black for a while. This is normal and is entirely related to the fact that it doesn't perform very well when ran inside the container. The fix for this is to instead opt for installing ADB and the emulator on your host system (you don't need the entire SDK and Android Studio for just those, just the cmdline-tools to install them), and use the port forwarding solution instead. 88 | 89 | All you have to do is open a terminal inside the container and run the following command: 90 | 91 | ```bash 92 | emulator -avd dev -no-audio -no-snapshot-load -gpu swiftshader_indirect -qemu -m 2048 -netdev user,id=mynet0,hostfwd=tcp::5555-:5555 93 | ``` 94 | 95 | ### Building and running 96 | 97 | Start by trying to build the project. Retry the command 2-3 times before giving up! 98 | 99 | ```bash 100 | # Initiate the project. Note that I has to use the JS version to init along with the fix for issue nr 1 in order for it to build 101 | pnpm tauri android init 102 | # Use the Cargo version for running/building since I've added one to the container based on the next branch which contains some commits that fix some issues 103 | cargo tauri android build 104 | # Run on a connected device 105 | cargo tauri android dev 106 | ``` 107 | 108 | ### Running `tauri dev` 109 | 110 | #### Windows 111 | 112 | Running something graphical from the dev container requires an X11 server to be running. On Windows we can accomplish this with the `vcxsrv` package. 113 | 114 | 1. Run `choco install vcxsrv` 115 | 2. Run Xlaunch from the start menu, making sure you ✔️ the "Disable access control" option 116 | 3. Inside the dev container, run `export DISPLAY=192.168.HOST.IP:0.0` 117 | 4. Run `tauri dev` inside the dev container 118 | 119 | That should be it! 120 | 121 | #### Mac 122 | 123 | I don't own a Mac so not sure what the steps here are, nor am I able to even attempt it. Sponsor me with the value of a Mac and I'll definitely buy one and look into it! :D 124 | 125 | #### Linux 126 | 127 | Haven't tested yet but it shouldn't be any more difficult than setting the DISPLAY value properly if you're on a system with an existing X11 server running (in my experience, most of them). 128 | 129 | ## Performance 130 | 131 | ### Use WSL2 on Windows!!! 132 | 133 | If you're on Windows you should clone your project into the WSL filesystem. Just to be clear here, that does NOT mean just opening VSCode in WSL, you have to actually move the project into the WSL filesystem into e.g. `~/Projects/your-app`. 134 | 135 | The reason for this is disk I/O related. If you keep the files on your Windows filesystem you're going to have absolutely horrible performance. 136 | 137 | ### Allocate sufficient RAM (I use 16GB) 138 | 139 | I had limited WSL to only use 4GB for a while, and that made VSCode constantly crash when I ran something heavy. The solution was simply to increase the RAM that WSL is allowed to use. This isn't related btw to building the container, it's related to compiling Tauri which can take a bit too much RAM. 140 | 141 | You can probably also just limit the nr of threads running at the same time in case you don't have 16GB RAM to spare, but it'll severely reduce your performance. 142 | 143 | ### I've added mold to speed up compilation a bit 144 | 145 | Check the Dockerfile for more info on `mold`. It's basically just another linker that massively speeds up compilation times for your projects. If you don't want it simply remove it from the Dockerfile. It doesn't affect the Android build (at least not currently, I miiiight look into compiling it for Android, but most likely won't). 146 | 147 | The reason I bring it up is to just make you aware of the fact that it's there. If you run `tauri build` you may actually compile it faster than on your host system! 148 | 149 | Note that the quality of the build binary is somewhat lessened by `mold`. I only have second hand information on this, but apparently it can have a slightly larger size and lower performance. In my experience it's not any more unstable ay all, just a little bit less optimized. Perfect for development, but if you're going to build for production (which you shouldn't do in a **dev** container), don't use it. 150 | 151 | ## Todo: 152 | 153 | 1. Ensure the Tauri CLI gets the necessary patch for selecting an IP manually so that devices on the host system can show the frontend 154 | 2. Ensure the Kotlin version issue gets resolved in Tauri so that doesn't have to be applied manually 155 | 3. Optimize the Dockerfile a bit 156 | 4. Host a prebuilt Docker container on ghcr.io 157 | 5. Figure out why `git` isn't working for me correctly inside the dev container even if it should just magically work according to Microsoft 158 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Tauri App 8 | 9 | 18 | 19 | 20 | 21 |
22 |

Welcome to Tauri!

23 | 24 |
25 | 26 | 27 | 28 | 29 | 34 | 35 | 36 | 41 | 42 |
43 | 44 |

Click on the Tauri logo to learn more about the framework

45 | 46 |
47 |
48 | 49 | 50 |
51 |
52 | 53 |

54 |
55 | 56 | 57 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tauri-app", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc && vite build", 9 | "preview": "vite preview", 10 | "tauri": "tauri" 11 | }, 12 | "dependencies": { 13 | "@tauri-apps/api": "^2.0.0-alpha.0" 14 | }, 15 | "devDependencies": { 16 | "@tauri-apps/cli": "^2.0.0-alpha.2", 17 | "internal-ip": "^7.0.0", 18 | "vite": "^4.0.0", 19 | "typescript": "^4.8.2" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@tauri-apps/api': ^2.0.0-alpha.0 5 | '@tauri-apps/cli': ^2.0.0-alpha.2 6 | internal-ip: ^7.0.0 7 | typescript: ^4.8.2 8 | vite: ^4.0.0 9 | 10 | dependencies: 11 | '@tauri-apps/api': 2.0.0-alpha.0 12 | 13 | devDependencies: 14 | '@tauri-apps/cli': 2.0.0-alpha.2 15 | internal-ip: 7.0.0 16 | typescript: 4.9.5 17 | vite: 4.1.4 18 | 19 | packages: 20 | 21 | /@esbuild/android-arm/0.16.17: 22 | resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} 23 | engines: {node: '>=12'} 24 | cpu: [arm] 25 | os: [android] 26 | requiresBuild: true 27 | dev: true 28 | optional: true 29 | 30 | /@esbuild/android-arm64/0.16.17: 31 | resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} 32 | engines: {node: '>=12'} 33 | cpu: [arm64] 34 | os: [android] 35 | requiresBuild: true 36 | dev: true 37 | optional: true 38 | 39 | /@esbuild/android-x64/0.16.17: 40 | resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} 41 | engines: {node: '>=12'} 42 | cpu: [x64] 43 | os: [android] 44 | requiresBuild: true 45 | dev: true 46 | optional: true 47 | 48 | /@esbuild/darwin-arm64/0.16.17: 49 | resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} 50 | engines: {node: '>=12'} 51 | cpu: [arm64] 52 | os: [darwin] 53 | requiresBuild: true 54 | dev: true 55 | optional: true 56 | 57 | /@esbuild/darwin-x64/0.16.17: 58 | resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} 59 | engines: {node: '>=12'} 60 | cpu: [x64] 61 | os: [darwin] 62 | requiresBuild: true 63 | dev: true 64 | optional: true 65 | 66 | /@esbuild/freebsd-arm64/0.16.17: 67 | resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} 68 | engines: {node: '>=12'} 69 | cpu: [arm64] 70 | os: [freebsd] 71 | requiresBuild: true 72 | dev: true 73 | optional: true 74 | 75 | /@esbuild/freebsd-x64/0.16.17: 76 | resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} 77 | engines: {node: '>=12'} 78 | cpu: [x64] 79 | os: [freebsd] 80 | requiresBuild: true 81 | dev: true 82 | optional: true 83 | 84 | /@esbuild/linux-arm/0.16.17: 85 | resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} 86 | engines: {node: '>=12'} 87 | cpu: [arm] 88 | os: [linux] 89 | requiresBuild: true 90 | dev: true 91 | optional: true 92 | 93 | /@esbuild/linux-arm64/0.16.17: 94 | resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} 95 | engines: {node: '>=12'} 96 | cpu: [arm64] 97 | os: [linux] 98 | requiresBuild: true 99 | dev: true 100 | optional: true 101 | 102 | /@esbuild/linux-ia32/0.16.17: 103 | resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} 104 | engines: {node: '>=12'} 105 | cpu: [ia32] 106 | os: [linux] 107 | requiresBuild: true 108 | dev: true 109 | optional: true 110 | 111 | /@esbuild/linux-loong64/0.16.17: 112 | resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} 113 | engines: {node: '>=12'} 114 | cpu: [loong64] 115 | os: [linux] 116 | requiresBuild: true 117 | dev: true 118 | optional: true 119 | 120 | /@esbuild/linux-mips64el/0.16.17: 121 | resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} 122 | engines: {node: '>=12'} 123 | cpu: [mips64el] 124 | os: [linux] 125 | requiresBuild: true 126 | dev: true 127 | optional: true 128 | 129 | /@esbuild/linux-ppc64/0.16.17: 130 | resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} 131 | engines: {node: '>=12'} 132 | cpu: [ppc64] 133 | os: [linux] 134 | requiresBuild: true 135 | dev: true 136 | optional: true 137 | 138 | /@esbuild/linux-riscv64/0.16.17: 139 | resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} 140 | engines: {node: '>=12'} 141 | cpu: [riscv64] 142 | os: [linux] 143 | requiresBuild: true 144 | dev: true 145 | optional: true 146 | 147 | /@esbuild/linux-s390x/0.16.17: 148 | resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} 149 | engines: {node: '>=12'} 150 | cpu: [s390x] 151 | os: [linux] 152 | requiresBuild: true 153 | dev: true 154 | optional: true 155 | 156 | /@esbuild/linux-x64/0.16.17: 157 | resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} 158 | engines: {node: '>=12'} 159 | cpu: [x64] 160 | os: [linux] 161 | requiresBuild: true 162 | dev: true 163 | optional: true 164 | 165 | /@esbuild/netbsd-x64/0.16.17: 166 | resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} 167 | engines: {node: '>=12'} 168 | cpu: [x64] 169 | os: [netbsd] 170 | requiresBuild: true 171 | dev: true 172 | optional: true 173 | 174 | /@esbuild/openbsd-x64/0.16.17: 175 | resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} 176 | engines: {node: '>=12'} 177 | cpu: [x64] 178 | os: [openbsd] 179 | requiresBuild: true 180 | dev: true 181 | optional: true 182 | 183 | /@esbuild/sunos-x64/0.16.17: 184 | resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} 185 | engines: {node: '>=12'} 186 | cpu: [x64] 187 | os: [sunos] 188 | requiresBuild: true 189 | dev: true 190 | optional: true 191 | 192 | /@esbuild/win32-arm64/0.16.17: 193 | resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} 194 | engines: {node: '>=12'} 195 | cpu: [arm64] 196 | os: [win32] 197 | requiresBuild: true 198 | dev: true 199 | optional: true 200 | 201 | /@esbuild/win32-ia32/0.16.17: 202 | resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} 203 | engines: {node: '>=12'} 204 | cpu: [ia32] 205 | os: [win32] 206 | requiresBuild: true 207 | dev: true 208 | optional: true 209 | 210 | /@esbuild/win32-x64/0.16.17: 211 | resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} 212 | engines: {node: '>=12'} 213 | cpu: [x64] 214 | os: [win32] 215 | requiresBuild: true 216 | dev: true 217 | optional: true 218 | 219 | /@tauri-apps/api/2.0.0-alpha.0: 220 | resolution: {integrity: sha512-PQdy1Ao6JwKwW2/C11nP+IqnrWHB7+UgbM71zbzA1W3+1yyd9Zg+K7rzZ7f3yhvD7kdxmXUN3KgSfGeiDFzZ2A==} 221 | engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} 222 | dev: false 223 | 224 | /@tauri-apps/cli-darwin-arm64/2.0.0-alpha.2: 225 | resolution: {integrity: sha512-Wu5QdZUgh0DEE0b3EKdJRkZzFoVngezxgvncQlMdXNaiKjdT767K2fB0XvQps+ycbtVLbUlG15jAwPZbWqRYGw==} 226 | engines: {node: '>= 10'} 227 | cpu: [arm64] 228 | os: [darwin] 229 | requiresBuild: true 230 | dev: true 231 | optional: true 232 | 233 | /@tauri-apps/cli-darwin-x64/2.0.0-alpha.2: 234 | resolution: {integrity: sha512-e5VLsT/exSW1swUWkhCEAQ/fM8mZaUMoGeyESYtO7VfTNVglS0j+VfQ9a8taRxtOkajDZmqMDvmii4tA5I1Bbw==} 235 | engines: {node: '>= 10'} 236 | cpu: [x64] 237 | os: [darwin] 238 | requiresBuild: true 239 | dev: true 240 | optional: true 241 | 242 | /@tauri-apps/cli-linux-arm-gnueabihf/2.0.0-alpha.2: 243 | resolution: {integrity: sha512-+/emaFpDPuqnTIyh+WcDqCbzc/SoREFfLDyumqdnFjRU1Uvc2Z9Eo/sMVnfuUw5vDMc2EPzYtT3uiZGez65ZTA==} 244 | engines: {node: '>= 10'} 245 | cpu: [arm] 246 | os: [linux] 247 | requiresBuild: true 248 | dev: true 249 | optional: true 250 | 251 | /@tauri-apps/cli-linux-arm64-gnu/2.0.0-alpha.2: 252 | resolution: {integrity: sha512-UHAyqt8fFbp9MEbUHSiEKjJC98w/Dta3r9auE70K+/uNpt9pnP/lGturDWWAJagRIFwYKPyqSEqL5qFcKadYqw==} 253 | engines: {node: '>= 10'} 254 | cpu: [arm64] 255 | os: [linux] 256 | requiresBuild: true 257 | dev: true 258 | optional: true 259 | 260 | /@tauri-apps/cli-linux-arm64-musl/2.0.0-alpha.2: 261 | resolution: {integrity: sha512-3euwm11RWvmTX+ISR/Y+N0TaWTJCRIj1pDgB+r2ZptRKlVTMNTJZDTXQlyJKcWEpi1azlbdxAzRvhN8NrgDmyA==} 262 | engines: {node: '>= 10'} 263 | cpu: [arm64] 264 | os: [linux] 265 | requiresBuild: true 266 | dev: true 267 | optional: true 268 | 269 | /@tauri-apps/cli-linux-x64-gnu/2.0.0-alpha.2: 270 | resolution: {integrity: sha512-ijJ8Wij5mVd9p6lXQ+pXoFlx3Iv1JS1KQTeySICds43xzE8esGp5+HXRXDwWqQLdVmtI77P5VRIe2ssXiaeDUg==} 271 | engines: {node: '>= 10'} 272 | cpu: [x64] 273 | os: [linux] 274 | requiresBuild: true 275 | dev: true 276 | optional: true 277 | 278 | /@tauri-apps/cli-linux-x64-musl/2.0.0-alpha.2: 279 | resolution: {integrity: sha512-sg8OTQfG/zJ4+6MA/+hk08hVb57iJn5VZDzBb3o6IpJ0cwtM8YDNv5C+6HWttBuxsn4oEoYxGml/FvowMfsOCg==} 280 | engines: {node: '>= 10'} 281 | cpu: [x64] 282 | os: [linux] 283 | requiresBuild: true 284 | dev: true 285 | optional: true 286 | 287 | /@tauri-apps/cli-win32-ia32-msvc/2.0.0-alpha.2: 288 | resolution: {integrity: sha512-R1AmO3GEm97ptM0tjxZjZ1fLnxzN3ZeOEKc85nR7ayqVqKVhMu+dhq5lKa/Y3GdMUR6Yj9GoCnaLp2xy4bV6JQ==} 289 | engines: {node: '>= 10'} 290 | cpu: [ia32] 291 | os: [win32] 292 | requiresBuild: true 293 | dev: true 294 | optional: true 295 | 296 | /@tauri-apps/cli-win32-x64-msvc/2.0.0-alpha.2: 297 | resolution: {integrity: sha512-cLJJWxCdvvQP+I0B4h6h0TMMNYISoatQu57QVxPqypbkC/lK/ljjrbD5nu7M9wTFBkLkCTGyMC7N99esCmgIBQ==} 298 | engines: {node: '>= 10'} 299 | cpu: [x64] 300 | os: [win32] 301 | requiresBuild: true 302 | dev: true 303 | optional: true 304 | 305 | /@tauri-apps/cli/2.0.0-alpha.2: 306 | resolution: {integrity: sha512-M5o2ESOv9jGr7oIDl3sR3Q5++DXSW4xyfxzKCyu1JVGlOc+C9Q4y0dbKhlpd0wPCAxRa0ikbfu7z8qfEhHSpVQ==} 307 | engines: {node: '>= 10'} 308 | hasBin: true 309 | optionalDependencies: 310 | '@tauri-apps/cli-darwin-arm64': 2.0.0-alpha.2 311 | '@tauri-apps/cli-darwin-x64': 2.0.0-alpha.2 312 | '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-alpha.2 313 | '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-alpha.2 314 | '@tauri-apps/cli-linux-arm64-musl': 2.0.0-alpha.2 315 | '@tauri-apps/cli-linux-x64-gnu': 2.0.0-alpha.2 316 | '@tauri-apps/cli-linux-x64-musl': 2.0.0-alpha.2 317 | '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-alpha.2 318 | '@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.2 319 | dev: true 320 | 321 | /cross-spawn/7.0.3: 322 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 323 | engines: {node: '>= 8'} 324 | dependencies: 325 | path-key: 3.1.1 326 | shebang-command: 2.0.0 327 | which: 2.0.2 328 | dev: true 329 | 330 | /default-gateway/6.0.3: 331 | resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} 332 | engines: {node: '>= 10'} 333 | dependencies: 334 | execa: 5.1.1 335 | dev: true 336 | 337 | /esbuild/0.16.17: 338 | resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} 339 | engines: {node: '>=12'} 340 | hasBin: true 341 | requiresBuild: true 342 | optionalDependencies: 343 | '@esbuild/android-arm': 0.16.17 344 | '@esbuild/android-arm64': 0.16.17 345 | '@esbuild/android-x64': 0.16.17 346 | '@esbuild/darwin-arm64': 0.16.17 347 | '@esbuild/darwin-x64': 0.16.17 348 | '@esbuild/freebsd-arm64': 0.16.17 349 | '@esbuild/freebsd-x64': 0.16.17 350 | '@esbuild/linux-arm': 0.16.17 351 | '@esbuild/linux-arm64': 0.16.17 352 | '@esbuild/linux-ia32': 0.16.17 353 | '@esbuild/linux-loong64': 0.16.17 354 | '@esbuild/linux-mips64el': 0.16.17 355 | '@esbuild/linux-ppc64': 0.16.17 356 | '@esbuild/linux-riscv64': 0.16.17 357 | '@esbuild/linux-s390x': 0.16.17 358 | '@esbuild/linux-x64': 0.16.17 359 | '@esbuild/netbsd-x64': 0.16.17 360 | '@esbuild/openbsd-x64': 0.16.17 361 | '@esbuild/sunos-x64': 0.16.17 362 | '@esbuild/win32-arm64': 0.16.17 363 | '@esbuild/win32-ia32': 0.16.17 364 | '@esbuild/win32-x64': 0.16.17 365 | dev: true 366 | 367 | /execa/5.1.1: 368 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 369 | engines: {node: '>=10'} 370 | dependencies: 371 | cross-spawn: 7.0.3 372 | get-stream: 6.0.1 373 | human-signals: 2.1.0 374 | is-stream: 2.0.1 375 | merge-stream: 2.0.0 376 | npm-run-path: 4.0.1 377 | onetime: 5.1.2 378 | signal-exit: 3.0.7 379 | strip-final-newline: 2.0.0 380 | dev: true 381 | 382 | /fsevents/2.3.2: 383 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 384 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 385 | os: [darwin] 386 | requiresBuild: true 387 | dev: true 388 | optional: true 389 | 390 | /function-bind/1.1.1: 391 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 392 | dev: true 393 | 394 | /get-stream/6.0.1: 395 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 396 | engines: {node: '>=10'} 397 | dev: true 398 | 399 | /has/1.0.3: 400 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 401 | engines: {node: '>= 0.4.0'} 402 | dependencies: 403 | function-bind: 1.1.1 404 | dev: true 405 | 406 | /human-signals/2.1.0: 407 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 408 | engines: {node: '>=10.17.0'} 409 | dev: true 410 | 411 | /internal-ip/7.0.0: 412 | resolution: {integrity: sha512-qE4TeD4brqC45Vq/+VASeMiS1KRyfBkR6HT2sh9pZVVCzSjPkaCEfKFU+dL0PRv7NHJtvoKN2r82G6wTfzorkw==} 413 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 414 | dependencies: 415 | default-gateway: 6.0.3 416 | ipaddr.js: 2.0.1 417 | is-ip: 3.1.0 418 | p-event: 4.2.0 419 | dev: true 420 | 421 | /ip-regex/4.3.0: 422 | resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} 423 | engines: {node: '>=8'} 424 | dev: true 425 | 426 | /ipaddr.js/2.0.1: 427 | resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} 428 | engines: {node: '>= 10'} 429 | dev: true 430 | 431 | /is-core-module/2.11.0: 432 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 433 | dependencies: 434 | has: 1.0.3 435 | dev: true 436 | 437 | /is-ip/3.1.0: 438 | resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} 439 | engines: {node: '>=8'} 440 | dependencies: 441 | ip-regex: 4.3.0 442 | dev: true 443 | 444 | /is-stream/2.0.1: 445 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 446 | engines: {node: '>=8'} 447 | dev: true 448 | 449 | /isexe/2.0.0: 450 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 451 | dev: true 452 | 453 | /merge-stream/2.0.0: 454 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 455 | dev: true 456 | 457 | /mimic-fn/2.1.0: 458 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 459 | engines: {node: '>=6'} 460 | dev: true 461 | 462 | /nanoid/3.3.4: 463 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 464 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 465 | hasBin: true 466 | dev: true 467 | 468 | /npm-run-path/4.0.1: 469 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 470 | engines: {node: '>=8'} 471 | dependencies: 472 | path-key: 3.1.1 473 | dev: true 474 | 475 | /onetime/5.1.2: 476 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 477 | engines: {node: '>=6'} 478 | dependencies: 479 | mimic-fn: 2.1.0 480 | dev: true 481 | 482 | /p-event/4.2.0: 483 | resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} 484 | engines: {node: '>=8'} 485 | dependencies: 486 | p-timeout: 3.2.0 487 | dev: true 488 | 489 | /p-finally/1.0.0: 490 | resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} 491 | engines: {node: '>=4'} 492 | dev: true 493 | 494 | /p-timeout/3.2.0: 495 | resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} 496 | engines: {node: '>=8'} 497 | dependencies: 498 | p-finally: 1.0.0 499 | dev: true 500 | 501 | /path-key/3.1.1: 502 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 503 | engines: {node: '>=8'} 504 | dev: true 505 | 506 | /path-parse/1.0.7: 507 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 508 | dev: true 509 | 510 | /picocolors/1.0.0: 511 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 512 | dev: true 513 | 514 | /postcss/8.4.21: 515 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} 516 | engines: {node: ^10 || ^12 || >=14} 517 | dependencies: 518 | nanoid: 3.3.4 519 | picocolors: 1.0.0 520 | source-map-js: 1.0.2 521 | dev: true 522 | 523 | /resolve/1.22.1: 524 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 525 | hasBin: true 526 | dependencies: 527 | is-core-module: 2.11.0 528 | path-parse: 1.0.7 529 | supports-preserve-symlinks-flag: 1.0.0 530 | dev: true 531 | 532 | /rollup/3.19.1: 533 | resolution: {integrity: sha512-lAbrdN7neYCg/8WaoWn/ckzCtz+jr70GFfYdlf50OF7387HTg+wiuiqJRFYawwSPpqfqDNYqK7smY/ks2iAudg==} 534 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 535 | hasBin: true 536 | optionalDependencies: 537 | fsevents: 2.3.2 538 | dev: true 539 | 540 | /shebang-command/2.0.0: 541 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 542 | engines: {node: '>=8'} 543 | dependencies: 544 | shebang-regex: 3.0.0 545 | dev: true 546 | 547 | /shebang-regex/3.0.0: 548 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 549 | engines: {node: '>=8'} 550 | dev: true 551 | 552 | /signal-exit/3.0.7: 553 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 554 | dev: true 555 | 556 | /source-map-js/1.0.2: 557 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 558 | engines: {node: '>=0.10.0'} 559 | dev: true 560 | 561 | /strip-final-newline/2.0.0: 562 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 563 | engines: {node: '>=6'} 564 | dev: true 565 | 566 | /supports-preserve-symlinks-flag/1.0.0: 567 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 568 | engines: {node: '>= 0.4'} 569 | dev: true 570 | 571 | /typescript/4.9.5: 572 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 573 | engines: {node: '>=4.2.0'} 574 | hasBin: true 575 | dev: true 576 | 577 | /vite/4.1.4: 578 | resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==} 579 | engines: {node: ^14.18.0 || >=16.0.0} 580 | hasBin: true 581 | peerDependencies: 582 | '@types/node': '>= 14' 583 | less: '*' 584 | sass: '*' 585 | stylus: '*' 586 | sugarss: '*' 587 | terser: ^5.4.0 588 | peerDependenciesMeta: 589 | '@types/node': 590 | optional: true 591 | less: 592 | optional: true 593 | sass: 594 | optional: true 595 | stylus: 596 | optional: true 597 | sugarss: 598 | optional: true 599 | terser: 600 | optional: true 601 | dependencies: 602 | esbuild: 0.16.17 603 | postcss: 8.4.21 604 | resolve: 1.22.1 605 | rollup: 3.19.1 606 | optionalDependencies: 607 | fsevents: 2.3.2 608 | dev: true 609 | 610 | /which/2.0.2: 611 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 612 | engines: {node: '>= 8'} 613 | hasBin: true 614 | dependencies: 615 | isexe: 2.0.0 616 | dev: true 617 | -------------------------------------------------------------------------------- /src-tauri/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = 'x86_64-unknown-linux-gnu' 3 | [target.aarch64-linux-android] 4 | linker = '/home/vscode/android_sdk/ndk/25.0.8775105/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang' 5 | rustflags = [ 6 | '-L', 7 | '/workspaces/tauri-devcontainer-android/src-tauri/.cargo', 8 | '-Clink-arg=-landroid', 9 | '-Clink-arg=-llog', 10 | '-Clink-arg=-lOpenSLES', 11 | ] 12 | 13 | [target.armv7-linux-androideabi] 14 | linker = '/home/vscode/android_sdk/ndk/25.0.8775105/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang' 15 | rustflags = [ 16 | '-L', 17 | '/workspaces/tauri-devcontainer-android/src-tauri/.cargo', 18 | '-Clink-arg=-landroid', 19 | '-Clink-arg=-llog', 20 | '-Clink-arg=-lOpenSLES', 21 | ] 22 | 23 | [target.i686-linux-android] 24 | linker = '/home/vscode/android_sdk/ndk/25.0.8775105/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android24-clang' 25 | rustflags = [ 26 | '-L', 27 | '/workspaces/tauri-devcontainer-android/src-tauri/.cargo', 28 | '-Clink-arg=-landroid', 29 | '-Clink-arg=-llog', 30 | '-Clink-arg=-lOpenSLES', 31 | ] 32 | 33 | [target.x86_64-linux-android] 34 | linker = '/home/vscode/android_sdk/ndk/25.0.8775105/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android24-clang' 35 | rustflags = [ 36 | '-L', 37 | '/workspaces/tauri-devcontainer-android/src-tauri/.cargo', 38 | '-Clink-arg=-landroid', 39 | '-Clink-arg=-llog', 40 | '-Clink-arg=-lOpenSLES', 41 | ] 42 | -------------------------------------------------------------------------------- /src-tauri/.cargo/libgcc.a: -------------------------------------------------------------------------------- 1 | INPUT(-lunwind) -------------------------------------------------------------------------------- /src-tauri/.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | -------------------------------------------------------------------------------- /src-tauri/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "adler" 7 | version = "1.0.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 10 | 11 | [[package]] 12 | name = "aho-corasick" 13 | version = "0.7.20" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" 16 | dependencies = [ 17 | "memchr", 18 | ] 19 | 20 | [[package]] 21 | name = "alloc-no-stdlib" 22 | version = "2.0.4" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 25 | 26 | [[package]] 27 | name = "alloc-stdlib" 28 | version = "0.2.2" 29 | source = "registry+https://github.com/rust-lang/crates.io-index" 30 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 31 | dependencies = [ 32 | "alloc-no-stdlib", 33 | ] 34 | 35 | [[package]] 36 | name = "anyhow" 37 | version = "1.0.69" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" 40 | 41 | [[package]] 42 | name = "atk" 43 | version = "0.16.0" 44 | source = "registry+https://github.com/rust-lang/crates.io-index" 45 | checksum = "39991bc421ddf72f70159011b323ff49b0f783cc676a7287c59453da2e2531cf" 46 | dependencies = [ 47 | "atk-sys", 48 | "bitflags", 49 | "glib", 50 | "libc", 51 | ] 52 | 53 | [[package]] 54 | name = "atk-sys" 55 | version = "0.16.0" 56 | source = "registry+https://github.com/rust-lang/crates.io-index" 57 | checksum = "11ad703eb64dc058024f0e57ccfa069e15a413b98dbd50a1a950e743b7f11148" 58 | dependencies = [ 59 | "glib-sys", 60 | "gobject-sys", 61 | "libc", 62 | "system-deps", 63 | ] 64 | 65 | [[package]] 66 | name = "attohttpc" 67 | version = "0.24.1" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" 70 | dependencies = [ 71 | "flate2", 72 | "http", 73 | "log", 74 | "serde", 75 | "serde_json", 76 | "serde_urlencoded", 77 | "url", 78 | ] 79 | 80 | [[package]] 81 | name = "autocfg" 82 | version = "1.1.0" 83 | source = "registry+https://github.com/rust-lang/crates.io-index" 84 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 85 | 86 | [[package]] 87 | name = "base64" 88 | version = "0.13.1" 89 | source = "registry+https://github.com/rust-lang/crates.io-index" 90 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 91 | 92 | [[package]] 93 | name = "base64" 94 | version = "0.21.0" 95 | source = "registry+https://github.com/rust-lang/crates.io-index" 96 | checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" 97 | 98 | [[package]] 99 | name = "bitflags" 100 | version = "1.3.2" 101 | source = "registry+https://github.com/rust-lang/crates.io-index" 102 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 103 | 104 | [[package]] 105 | name = "block" 106 | version = "0.1.6" 107 | source = "registry+https://github.com/rust-lang/crates.io-index" 108 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 109 | 110 | [[package]] 111 | name = "block-buffer" 112 | version = "0.10.4" 113 | source = "registry+https://github.com/rust-lang/crates.io-index" 114 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 115 | dependencies = [ 116 | "generic-array", 117 | ] 118 | 119 | [[package]] 120 | name = "brotli" 121 | version = "3.3.4" 122 | source = "registry+https://github.com/rust-lang/crates.io-index" 123 | checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" 124 | dependencies = [ 125 | "alloc-no-stdlib", 126 | "alloc-stdlib", 127 | "brotli-decompressor", 128 | ] 129 | 130 | [[package]] 131 | name = "brotli-decompressor" 132 | version = "2.3.4" 133 | source = "registry+https://github.com/rust-lang/crates.io-index" 134 | checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" 135 | dependencies = [ 136 | "alloc-no-stdlib", 137 | "alloc-stdlib", 138 | ] 139 | 140 | [[package]] 141 | name = "bstr" 142 | version = "1.3.0" 143 | source = "registry+https://github.com/rust-lang/crates.io-index" 144 | checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" 145 | dependencies = [ 146 | "memchr", 147 | "serde", 148 | ] 149 | 150 | [[package]] 151 | name = "bytemuck" 152 | version = "1.13.1" 153 | source = "registry+https://github.com/rust-lang/crates.io-index" 154 | checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" 155 | 156 | [[package]] 157 | name = "byteorder" 158 | version = "1.4.3" 159 | source = "registry+https://github.com/rust-lang/crates.io-index" 160 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 161 | 162 | [[package]] 163 | name = "bytes" 164 | version = "1.4.0" 165 | source = "registry+https://github.com/rust-lang/crates.io-index" 166 | checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" 167 | 168 | [[package]] 169 | name = "cairo-rs" 170 | version = "0.16.7" 171 | source = "registry+https://github.com/rust-lang/crates.io-index" 172 | checksum = "f3125b15ec28b84c238f6f476c6034016a5f6cc0221cb514ca46c532139fc97d" 173 | dependencies = [ 174 | "bitflags", 175 | "cairo-sys-rs", 176 | "glib", 177 | "libc", 178 | "once_cell", 179 | "thiserror", 180 | ] 181 | 182 | [[package]] 183 | name = "cairo-sys-rs" 184 | version = "0.16.3" 185 | source = "registry+https://github.com/rust-lang/crates.io-index" 186 | checksum = "7c48f4af05fabdcfa9658178e1326efa061853f040ce7d72e33af6885196f421" 187 | dependencies = [ 188 | "glib-sys", 189 | "libc", 190 | "system-deps", 191 | ] 192 | 193 | [[package]] 194 | name = "cargo_toml" 195 | version = "0.13.3" 196 | source = "registry+https://github.com/rust-lang/crates.io-index" 197 | checksum = "497049e9477329f8f6a559972ee42e117487d01d1e8c2cc9f836ea6fa23a9e1a" 198 | dependencies = [ 199 | "serde", 200 | "toml", 201 | ] 202 | 203 | [[package]] 204 | name = "cc" 205 | version = "1.0.79" 206 | source = "registry+https://github.com/rust-lang/crates.io-index" 207 | checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 208 | 209 | [[package]] 210 | name = "cesu8" 211 | version = "1.1.0" 212 | source = "registry+https://github.com/rust-lang/crates.io-index" 213 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 214 | 215 | [[package]] 216 | name = "cfb" 217 | version = "0.6.1" 218 | source = "registry+https://github.com/rust-lang/crates.io-index" 219 | checksum = "74f89d248799e3f15f91b70917f65381062a01bb8e222700ea0e5a7ff9785f9c" 220 | dependencies = [ 221 | "byteorder", 222 | "uuid 0.8.2", 223 | ] 224 | 225 | [[package]] 226 | name = "cfg-expr" 227 | version = "0.11.0" 228 | source = "registry+https://github.com/rust-lang/crates.io-index" 229 | checksum = "b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa" 230 | dependencies = [ 231 | "smallvec", 232 | ] 233 | 234 | [[package]] 235 | name = "cfg-if" 236 | version = "1.0.0" 237 | source = "registry+https://github.com/rust-lang/crates.io-index" 238 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 239 | 240 | [[package]] 241 | name = "cocoa" 242 | version = "0.24.1" 243 | source = "registry+https://github.com/rust-lang/crates.io-index" 244 | checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" 245 | dependencies = [ 246 | "bitflags", 247 | "block", 248 | "cocoa-foundation", 249 | "core-foundation", 250 | "core-graphics", 251 | "foreign-types", 252 | "libc", 253 | "objc", 254 | ] 255 | 256 | [[package]] 257 | name = "cocoa-foundation" 258 | version = "0.1.0" 259 | source = "registry+https://github.com/rust-lang/crates.io-index" 260 | checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" 261 | dependencies = [ 262 | "bitflags", 263 | "block", 264 | "core-foundation", 265 | "core-graphics-types", 266 | "foreign-types", 267 | "libc", 268 | "objc", 269 | ] 270 | 271 | [[package]] 272 | name = "color_quant" 273 | version = "1.1.0" 274 | source = "registry+https://github.com/rust-lang/crates.io-index" 275 | checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" 276 | 277 | [[package]] 278 | name = "combine" 279 | version = "4.6.6" 280 | source = "registry+https://github.com/rust-lang/crates.io-index" 281 | checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" 282 | dependencies = [ 283 | "bytes", 284 | "memchr", 285 | ] 286 | 287 | [[package]] 288 | name = "convert_case" 289 | version = "0.4.0" 290 | source = "registry+https://github.com/rust-lang/crates.io-index" 291 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" 292 | 293 | [[package]] 294 | name = "core-foundation" 295 | version = "0.9.3" 296 | source = "registry+https://github.com/rust-lang/crates.io-index" 297 | checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" 298 | dependencies = [ 299 | "core-foundation-sys", 300 | "libc", 301 | ] 302 | 303 | [[package]] 304 | name = "core-foundation-sys" 305 | version = "0.8.3" 306 | source = "registry+https://github.com/rust-lang/crates.io-index" 307 | checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" 308 | 309 | [[package]] 310 | name = "core-graphics" 311 | version = "0.22.3" 312 | source = "registry+https://github.com/rust-lang/crates.io-index" 313 | checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" 314 | dependencies = [ 315 | "bitflags", 316 | "core-foundation", 317 | "core-graphics-types", 318 | "foreign-types", 319 | "libc", 320 | ] 321 | 322 | [[package]] 323 | name = "core-graphics-types" 324 | version = "0.1.1" 325 | source = "registry+https://github.com/rust-lang/crates.io-index" 326 | checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" 327 | dependencies = [ 328 | "bitflags", 329 | "core-foundation", 330 | "foreign-types", 331 | "libc", 332 | ] 333 | 334 | [[package]] 335 | name = "cpufeatures" 336 | version = "0.2.5" 337 | source = "registry+https://github.com/rust-lang/crates.io-index" 338 | checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" 339 | dependencies = [ 340 | "libc", 341 | ] 342 | 343 | [[package]] 344 | name = "crc32fast" 345 | version = "1.3.2" 346 | source = "registry+https://github.com/rust-lang/crates.io-index" 347 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" 348 | dependencies = [ 349 | "cfg-if", 350 | ] 351 | 352 | [[package]] 353 | name = "crossbeam-channel" 354 | version = "0.5.7" 355 | source = "registry+https://github.com/rust-lang/crates.io-index" 356 | checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" 357 | dependencies = [ 358 | "cfg-if", 359 | "crossbeam-utils", 360 | ] 361 | 362 | [[package]] 363 | name = "crossbeam-utils" 364 | version = "0.8.15" 365 | source = "registry+https://github.com/rust-lang/crates.io-index" 366 | checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" 367 | dependencies = [ 368 | "cfg-if", 369 | ] 370 | 371 | [[package]] 372 | name = "crypto-common" 373 | version = "0.1.6" 374 | source = "registry+https://github.com/rust-lang/crates.io-index" 375 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 376 | dependencies = [ 377 | "generic-array", 378 | "typenum", 379 | ] 380 | 381 | [[package]] 382 | name = "cssparser" 383 | version = "0.27.2" 384 | source = "registry+https://github.com/rust-lang/crates.io-index" 385 | checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" 386 | dependencies = [ 387 | "cssparser-macros", 388 | "dtoa-short", 389 | "itoa 0.4.8", 390 | "matches", 391 | "phf 0.8.0", 392 | "proc-macro2", 393 | "quote", 394 | "smallvec", 395 | "syn", 396 | ] 397 | 398 | [[package]] 399 | name = "cssparser-macros" 400 | version = "0.6.0" 401 | source = "registry+https://github.com/rust-lang/crates.io-index" 402 | checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" 403 | dependencies = [ 404 | "quote", 405 | "syn", 406 | ] 407 | 408 | [[package]] 409 | name = "ctor" 410 | version = "0.1.26" 411 | source = "registry+https://github.com/rust-lang/crates.io-index" 412 | checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" 413 | dependencies = [ 414 | "quote", 415 | "syn", 416 | ] 417 | 418 | [[package]] 419 | name = "darling" 420 | version = "0.13.4" 421 | source = "registry+https://github.com/rust-lang/crates.io-index" 422 | checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" 423 | dependencies = [ 424 | "darling_core", 425 | "darling_macro", 426 | ] 427 | 428 | [[package]] 429 | name = "darling_core" 430 | version = "0.13.4" 431 | source = "registry+https://github.com/rust-lang/crates.io-index" 432 | checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" 433 | dependencies = [ 434 | "fnv", 435 | "ident_case", 436 | "proc-macro2", 437 | "quote", 438 | "strsim", 439 | "syn", 440 | ] 441 | 442 | [[package]] 443 | name = "darling_macro" 444 | version = "0.13.4" 445 | source = "registry+https://github.com/rust-lang/crates.io-index" 446 | checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" 447 | dependencies = [ 448 | "darling_core", 449 | "quote", 450 | "syn", 451 | ] 452 | 453 | [[package]] 454 | name = "derive_more" 455 | version = "0.99.17" 456 | source = "registry+https://github.com/rust-lang/crates.io-index" 457 | checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" 458 | dependencies = [ 459 | "convert_case", 460 | "proc-macro2", 461 | "quote", 462 | "rustc_version", 463 | "syn", 464 | ] 465 | 466 | [[package]] 467 | name = "digest" 468 | version = "0.10.6" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" 471 | dependencies = [ 472 | "block-buffer", 473 | "crypto-common", 474 | ] 475 | 476 | [[package]] 477 | name = "dirs-next" 478 | version = "2.0.0" 479 | source = "registry+https://github.com/rust-lang/crates.io-index" 480 | checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" 481 | dependencies = [ 482 | "cfg-if", 483 | "dirs-sys-next", 484 | ] 485 | 486 | [[package]] 487 | name = "dirs-sys-next" 488 | version = "0.1.2" 489 | source = "registry+https://github.com/rust-lang/crates.io-index" 490 | checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" 491 | dependencies = [ 492 | "libc", 493 | "redox_users", 494 | "winapi", 495 | ] 496 | 497 | [[package]] 498 | name = "dispatch" 499 | version = "0.2.0" 500 | source = "registry+https://github.com/rust-lang/crates.io-index" 501 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" 502 | 503 | [[package]] 504 | name = "dtoa" 505 | version = "0.4.8" 506 | source = "registry+https://github.com/rust-lang/crates.io-index" 507 | checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" 508 | 509 | [[package]] 510 | name = "dtoa-short" 511 | version = "0.3.3" 512 | source = "registry+https://github.com/rust-lang/crates.io-index" 513 | checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6" 514 | dependencies = [ 515 | "dtoa", 516 | ] 517 | 518 | [[package]] 519 | name = "dunce" 520 | version = "1.0.3" 521 | source = "registry+https://github.com/rust-lang/crates.io-index" 522 | checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" 523 | 524 | [[package]] 525 | name = "embed_plist" 526 | version = "1.2.2" 527 | source = "registry+https://github.com/rust-lang/crates.io-index" 528 | checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" 529 | 530 | [[package]] 531 | name = "encoding_rs" 532 | version = "0.8.32" 533 | source = "registry+https://github.com/rust-lang/crates.io-index" 534 | checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" 535 | dependencies = [ 536 | "cfg-if", 537 | ] 538 | 539 | [[package]] 540 | name = "errno" 541 | version = "0.2.8" 542 | source = "registry+https://github.com/rust-lang/crates.io-index" 543 | checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" 544 | dependencies = [ 545 | "errno-dragonfly", 546 | "libc", 547 | "winapi", 548 | ] 549 | 550 | [[package]] 551 | name = "errno-dragonfly" 552 | version = "0.1.2" 553 | source = "registry+https://github.com/rust-lang/crates.io-index" 554 | checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 555 | dependencies = [ 556 | "cc", 557 | "libc", 558 | ] 559 | 560 | [[package]] 561 | name = "fastrand" 562 | version = "1.9.0" 563 | source = "registry+https://github.com/rust-lang/crates.io-index" 564 | checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" 565 | dependencies = [ 566 | "instant", 567 | ] 568 | 569 | [[package]] 570 | name = "field-offset" 571 | version = "0.3.5" 572 | source = "registry+https://github.com/rust-lang/crates.io-index" 573 | checksum = "a3cf3a800ff6e860c863ca6d4b16fd999db8b752819c1606884047b73e468535" 574 | dependencies = [ 575 | "memoffset", 576 | "rustc_version", 577 | ] 578 | 579 | [[package]] 580 | name = "filetime" 581 | version = "0.2.20" 582 | source = "registry+https://github.com/rust-lang/crates.io-index" 583 | checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" 584 | dependencies = [ 585 | "cfg-if", 586 | "libc", 587 | "redox_syscall", 588 | "windows-sys 0.45.0", 589 | ] 590 | 591 | [[package]] 592 | name = "flate2" 593 | version = "1.0.25" 594 | source = "registry+https://github.com/rust-lang/crates.io-index" 595 | checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" 596 | dependencies = [ 597 | "crc32fast", 598 | "miniz_oxide", 599 | ] 600 | 601 | [[package]] 602 | name = "fnv" 603 | version = "1.0.7" 604 | source = "registry+https://github.com/rust-lang/crates.io-index" 605 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 606 | 607 | [[package]] 608 | name = "foreign-types" 609 | version = "0.3.2" 610 | source = "registry+https://github.com/rust-lang/crates.io-index" 611 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 612 | dependencies = [ 613 | "foreign-types-shared", 614 | ] 615 | 616 | [[package]] 617 | name = "foreign-types-shared" 618 | version = "0.1.1" 619 | source = "registry+https://github.com/rust-lang/crates.io-index" 620 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 621 | 622 | [[package]] 623 | name = "form_urlencoded" 624 | version = "1.1.0" 625 | source = "registry+https://github.com/rust-lang/crates.io-index" 626 | checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" 627 | dependencies = [ 628 | "percent-encoding", 629 | ] 630 | 631 | [[package]] 632 | name = "futf" 633 | version = "0.1.5" 634 | source = "registry+https://github.com/rust-lang/crates.io-index" 635 | checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" 636 | dependencies = [ 637 | "mac", 638 | "new_debug_unreachable", 639 | ] 640 | 641 | [[package]] 642 | name = "futures-channel" 643 | version = "0.3.27" 644 | source = "registry+https://github.com/rust-lang/crates.io-index" 645 | checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" 646 | dependencies = [ 647 | "futures-core", 648 | ] 649 | 650 | [[package]] 651 | name = "futures-core" 652 | version = "0.3.27" 653 | source = "registry+https://github.com/rust-lang/crates.io-index" 654 | checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" 655 | 656 | [[package]] 657 | name = "futures-executor" 658 | version = "0.3.27" 659 | source = "registry+https://github.com/rust-lang/crates.io-index" 660 | checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83" 661 | dependencies = [ 662 | "futures-core", 663 | "futures-task", 664 | "futures-util", 665 | ] 666 | 667 | [[package]] 668 | name = "futures-io" 669 | version = "0.3.27" 670 | source = "registry+https://github.com/rust-lang/crates.io-index" 671 | checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91" 672 | 673 | [[package]] 674 | name = "futures-macro" 675 | version = "0.3.27" 676 | source = "registry+https://github.com/rust-lang/crates.io-index" 677 | checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" 678 | dependencies = [ 679 | "proc-macro2", 680 | "quote", 681 | "syn", 682 | ] 683 | 684 | [[package]] 685 | name = "futures-task" 686 | version = "0.3.27" 687 | source = "registry+https://github.com/rust-lang/crates.io-index" 688 | checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" 689 | 690 | [[package]] 691 | name = "futures-util" 692 | version = "0.3.27" 693 | source = "registry+https://github.com/rust-lang/crates.io-index" 694 | checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" 695 | dependencies = [ 696 | "futures-core", 697 | "futures-macro", 698 | "futures-task", 699 | "pin-project-lite", 700 | "pin-utils", 701 | "slab", 702 | ] 703 | 704 | [[package]] 705 | name = "fxhash" 706 | version = "0.2.1" 707 | source = "registry+https://github.com/rust-lang/crates.io-index" 708 | checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" 709 | dependencies = [ 710 | "byteorder", 711 | ] 712 | 713 | [[package]] 714 | name = "gdk" 715 | version = "0.16.2" 716 | source = "registry+https://github.com/rust-lang/crates.io-index" 717 | checksum = "aa9cb33da481c6c040404a11f8212d193889e9b435db2c14fd86987f630d3ce1" 718 | dependencies = [ 719 | "bitflags", 720 | "cairo-rs", 721 | "gdk-pixbuf", 722 | "gdk-sys", 723 | "gio", 724 | "glib", 725 | "libc", 726 | "pango", 727 | ] 728 | 729 | [[package]] 730 | name = "gdk-pixbuf" 731 | version = "0.16.7" 732 | source = "registry+https://github.com/rust-lang/crates.io-index" 733 | checksum = "c3578c60dee9d029ad86593ed88cb40f35c1b83360e12498d055022385dd9a05" 734 | dependencies = [ 735 | "bitflags", 736 | "gdk-pixbuf-sys", 737 | "gio", 738 | "glib", 739 | "libc", 740 | ] 741 | 742 | [[package]] 743 | name = "gdk-pixbuf-sys" 744 | version = "0.16.3" 745 | source = "registry+https://github.com/rust-lang/crates.io-index" 746 | checksum = "3092cf797a5f1210479ea38070d9ae8a5b8e9f8f1be9f32f4643c529c7d70016" 747 | dependencies = [ 748 | "gio-sys", 749 | "glib-sys", 750 | "gobject-sys", 751 | "libc", 752 | "system-deps", 753 | ] 754 | 755 | [[package]] 756 | name = "gdk-sys" 757 | version = "0.16.0" 758 | source = "registry+https://github.com/rust-lang/crates.io-index" 759 | checksum = "d76354f97a913e55b984759a997b693aa7dc71068c9e98bcce51aa167a0a5c5a" 760 | dependencies = [ 761 | "cairo-sys-rs", 762 | "gdk-pixbuf-sys", 763 | "gio-sys", 764 | "glib-sys", 765 | "gobject-sys", 766 | "libc", 767 | "pango-sys", 768 | "pkg-config", 769 | "system-deps", 770 | ] 771 | 772 | [[package]] 773 | name = "gdkx11-sys" 774 | version = "0.16.0" 775 | source = "registry+https://github.com/rust-lang/crates.io-index" 776 | checksum = "9fa2bf8b5b8c414bc5d05e48b271896d0fd3ddb57464a3108438082da61de6af" 777 | dependencies = [ 778 | "gdk-sys", 779 | "glib-sys", 780 | "libc", 781 | "system-deps", 782 | "x11", 783 | ] 784 | 785 | [[package]] 786 | name = "generator" 787 | version = "0.7.3" 788 | source = "registry+https://github.com/rust-lang/crates.io-index" 789 | checksum = "33a20a288a94683f5f4da0adecdbe095c94a77c295e514cc6484e9394dd8376e" 790 | dependencies = [ 791 | "cc", 792 | "libc", 793 | "log", 794 | "rustversion", 795 | "windows 0.44.0", 796 | ] 797 | 798 | [[package]] 799 | name = "generic-array" 800 | version = "0.14.6" 801 | source = "registry+https://github.com/rust-lang/crates.io-index" 802 | checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" 803 | dependencies = [ 804 | "typenum", 805 | "version_check", 806 | ] 807 | 808 | [[package]] 809 | name = "getrandom" 810 | version = "0.1.16" 811 | source = "registry+https://github.com/rust-lang/crates.io-index" 812 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" 813 | dependencies = [ 814 | "cfg-if", 815 | "libc", 816 | "wasi 0.9.0+wasi-snapshot-preview1", 817 | ] 818 | 819 | [[package]] 820 | name = "getrandom" 821 | version = "0.2.8" 822 | source = "registry+https://github.com/rust-lang/crates.io-index" 823 | checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" 824 | dependencies = [ 825 | "cfg-if", 826 | "libc", 827 | "wasi 0.11.0+wasi-snapshot-preview1", 828 | ] 829 | 830 | [[package]] 831 | name = "gio" 832 | version = "0.16.7" 833 | source = "registry+https://github.com/rust-lang/crates.io-index" 834 | checksum = "2a1c84b4534a290a29160ef5c6eff2a9c95833111472e824fc5cb78b513dd092" 835 | dependencies = [ 836 | "bitflags", 837 | "futures-channel", 838 | "futures-core", 839 | "futures-io", 840 | "futures-util", 841 | "gio-sys", 842 | "glib", 843 | "libc", 844 | "once_cell", 845 | "pin-project-lite", 846 | "smallvec", 847 | "thiserror", 848 | ] 849 | 850 | [[package]] 851 | name = "gio-sys" 852 | version = "0.16.3" 853 | source = "registry+https://github.com/rust-lang/crates.io-index" 854 | checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229" 855 | dependencies = [ 856 | "glib-sys", 857 | "gobject-sys", 858 | "libc", 859 | "system-deps", 860 | "winapi", 861 | ] 862 | 863 | [[package]] 864 | name = "glib" 865 | version = "0.16.7" 866 | source = "registry+https://github.com/rust-lang/crates.io-index" 867 | checksum = "ddd4df61a866ed7259d6189b8bcb1464989a77f1d85d25d002279bbe9dd38b2f" 868 | dependencies = [ 869 | "bitflags", 870 | "futures-channel", 871 | "futures-core", 872 | "futures-executor", 873 | "futures-task", 874 | "futures-util", 875 | "gio-sys", 876 | "glib-macros", 877 | "glib-sys", 878 | "gobject-sys", 879 | "libc", 880 | "once_cell", 881 | "smallvec", 882 | "thiserror", 883 | ] 884 | 885 | [[package]] 886 | name = "glib-macros" 887 | version = "0.16.3" 888 | source = "registry+https://github.com/rust-lang/crates.io-index" 889 | checksum = "e084807350b01348b6d9dbabb724d1a0bb987f47a2c85de200e98e12e30733bf" 890 | dependencies = [ 891 | "anyhow", 892 | "heck", 893 | "proc-macro-crate", 894 | "proc-macro-error", 895 | "proc-macro2", 896 | "quote", 897 | "syn", 898 | ] 899 | 900 | [[package]] 901 | name = "glib-sys" 902 | version = "0.16.3" 903 | source = "registry+https://github.com/rust-lang/crates.io-index" 904 | checksum = "c61a4f46316d06bfa33a7ac22df6f0524c8be58e3db2d9ca99ccb1f357b62a65" 905 | dependencies = [ 906 | "libc", 907 | "system-deps", 908 | ] 909 | 910 | [[package]] 911 | name = "glob" 912 | version = "0.3.1" 913 | source = "registry+https://github.com/rust-lang/crates.io-index" 914 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 915 | 916 | [[package]] 917 | name = "globset" 918 | version = "0.4.10" 919 | source = "registry+https://github.com/rust-lang/crates.io-index" 920 | checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" 921 | dependencies = [ 922 | "aho-corasick", 923 | "bstr", 924 | "fnv", 925 | "log", 926 | "regex", 927 | ] 928 | 929 | [[package]] 930 | name = "gobject-sys" 931 | version = "0.16.3" 932 | source = "registry+https://github.com/rust-lang/crates.io-index" 933 | checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1" 934 | dependencies = [ 935 | "glib-sys", 936 | "libc", 937 | "system-deps", 938 | ] 939 | 940 | [[package]] 941 | name = "gtk" 942 | version = "0.16.2" 943 | source = "registry+https://github.com/rust-lang/crates.io-index" 944 | checksum = "e4d3507d43908c866c805f74c9dd593c0ce7ba5c38e576e41846639cdcd4bee6" 945 | dependencies = [ 946 | "atk", 947 | "bitflags", 948 | "cairo-rs", 949 | "field-offset", 950 | "futures-channel", 951 | "gdk", 952 | "gdk-pixbuf", 953 | "gio", 954 | "glib", 955 | "gtk-sys", 956 | "gtk3-macros", 957 | "libc", 958 | "once_cell", 959 | "pango", 960 | "pkg-config", 961 | ] 962 | 963 | [[package]] 964 | name = "gtk-sys" 965 | version = "0.16.0" 966 | source = "registry+https://github.com/rust-lang/crates.io-index" 967 | checksum = "89b5f8946685d5fe44497007786600c2f368ff6b1e61a16251c89f72a97520a3" 968 | dependencies = [ 969 | "atk-sys", 970 | "cairo-sys-rs", 971 | "gdk-pixbuf-sys", 972 | "gdk-sys", 973 | "gio-sys", 974 | "glib-sys", 975 | "gobject-sys", 976 | "libc", 977 | "pango-sys", 978 | "system-deps", 979 | ] 980 | 981 | [[package]] 982 | name = "gtk3-macros" 983 | version = "0.16.0" 984 | source = "registry+https://github.com/rust-lang/crates.io-index" 985 | checksum = "8cfd6557b1018b773e43c8de9d0d13581d6b36190d0501916cbec4731db5ccff" 986 | dependencies = [ 987 | "anyhow", 988 | "proc-macro-crate", 989 | "proc-macro-error", 990 | "proc-macro2", 991 | "quote", 992 | "syn", 993 | ] 994 | 995 | [[package]] 996 | name = "hashbrown" 997 | version = "0.12.3" 998 | source = "registry+https://github.com/rust-lang/crates.io-index" 999 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1000 | 1001 | [[package]] 1002 | name = "heck" 1003 | version = "0.4.1" 1004 | source = "registry+https://github.com/rust-lang/crates.io-index" 1005 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1006 | 1007 | [[package]] 1008 | name = "hermit-abi" 1009 | version = "0.2.6" 1010 | source = "registry+https://github.com/rust-lang/crates.io-index" 1011 | checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" 1012 | dependencies = [ 1013 | "libc", 1014 | ] 1015 | 1016 | [[package]] 1017 | name = "html5ever" 1018 | version = "0.25.2" 1019 | source = "registry+https://github.com/rust-lang/crates.io-index" 1020 | checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" 1021 | dependencies = [ 1022 | "log", 1023 | "mac", 1024 | "markup5ever", 1025 | "proc-macro2", 1026 | "quote", 1027 | "syn", 1028 | ] 1029 | 1030 | [[package]] 1031 | name = "http" 1032 | version = "0.2.9" 1033 | source = "registry+https://github.com/rust-lang/crates.io-index" 1034 | checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" 1035 | dependencies = [ 1036 | "bytes", 1037 | "fnv", 1038 | "itoa 1.0.6", 1039 | ] 1040 | 1041 | [[package]] 1042 | name = "http-range" 1043 | version = "0.1.5" 1044 | source = "registry+https://github.com/rust-lang/crates.io-index" 1045 | checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" 1046 | 1047 | [[package]] 1048 | name = "ico" 1049 | version = "0.2.0" 1050 | source = "registry+https://github.com/rust-lang/crates.io-index" 1051 | checksum = "031530fe562d8c8d71c0635013d6d155bbfe8ba0aa4b4d2d24ce8af6b71047bd" 1052 | dependencies = [ 1053 | "byteorder", 1054 | "png", 1055 | ] 1056 | 1057 | [[package]] 1058 | name = "ident_case" 1059 | version = "1.0.1" 1060 | source = "registry+https://github.com/rust-lang/crates.io-index" 1061 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 1062 | 1063 | [[package]] 1064 | name = "idna" 1065 | version = "0.3.0" 1066 | source = "registry+https://github.com/rust-lang/crates.io-index" 1067 | checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" 1068 | dependencies = [ 1069 | "unicode-bidi", 1070 | "unicode-normalization", 1071 | ] 1072 | 1073 | [[package]] 1074 | name = "ignore" 1075 | version = "0.4.18" 1076 | source = "registry+https://github.com/rust-lang/crates.io-index" 1077 | checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d" 1078 | dependencies = [ 1079 | "crossbeam-utils", 1080 | "globset", 1081 | "lazy_static", 1082 | "log", 1083 | "memchr", 1084 | "regex", 1085 | "same-file", 1086 | "thread_local", 1087 | "walkdir", 1088 | "winapi-util", 1089 | ] 1090 | 1091 | [[package]] 1092 | name = "image" 1093 | version = "0.24.5" 1094 | source = "registry+https://github.com/rust-lang/crates.io-index" 1095 | checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945" 1096 | dependencies = [ 1097 | "bytemuck", 1098 | "byteorder", 1099 | "color_quant", 1100 | "num-rational", 1101 | "num-traits", 1102 | ] 1103 | 1104 | [[package]] 1105 | name = "indexmap" 1106 | version = "1.9.2" 1107 | source = "registry+https://github.com/rust-lang/crates.io-index" 1108 | checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" 1109 | dependencies = [ 1110 | "autocfg", 1111 | "hashbrown", 1112 | ] 1113 | 1114 | [[package]] 1115 | name = "infer" 1116 | version = "0.7.0" 1117 | source = "registry+https://github.com/rust-lang/crates.io-index" 1118 | checksum = "20b2b533137b9cad970793453d4f921c2e91312a6d88b1085c07bc15fc51bb3b" 1119 | dependencies = [ 1120 | "cfb", 1121 | ] 1122 | 1123 | [[package]] 1124 | name = "instant" 1125 | version = "0.1.12" 1126 | source = "registry+https://github.com/rust-lang/crates.io-index" 1127 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 1128 | dependencies = [ 1129 | "cfg-if", 1130 | ] 1131 | 1132 | [[package]] 1133 | name = "io-lifetimes" 1134 | version = "1.0.6" 1135 | source = "registry+https://github.com/rust-lang/crates.io-index" 1136 | checksum = "cfa919a82ea574332e2de6e74b4c36e74d41982b335080fa59d4ef31be20fdf3" 1137 | dependencies = [ 1138 | "libc", 1139 | "windows-sys 0.45.0", 1140 | ] 1141 | 1142 | [[package]] 1143 | name = "itoa" 1144 | version = "0.4.8" 1145 | source = "registry+https://github.com/rust-lang/crates.io-index" 1146 | checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" 1147 | 1148 | [[package]] 1149 | name = "itoa" 1150 | version = "1.0.6" 1151 | source = "registry+https://github.com/rust-lang/crates.io-index" 1152 | checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" 1153 | 1154 | [[package]] 1155 | name = "javascriptcore-rs" 1156 | version = "0.17.0" 1157 | source = "registry+https://github.com/rust-lang/crates.io-index" 1158 | checksum = "110b9902c80c12bf113c432d0b71c7a94490b294a8234f326fd0abca2fac0b00" 1159 | dependencies = [ 1160 | "bitflags", 1161 | "glib", 1162 | "javascriptcore-rs-sys", 1163 | ] 1164 | 1165 | [[package]] 1166 | name = "javascriptcore-rs-sys" 1167 | version = "0.5.1" 1168 | source = "registry+https://github.com/rust-lang/crates.io-index" 1169 | checksum = "98a216519a52cd941a733a0ad3f1023cfdb1cd47f3955e8e863ed56f558f916c" 1170 | dependencies = [ 1171 | "glib-sys", 1172 | "gobject-sys", 1173 | "libc", 1174 | "system-deps", 1175 | ] 1176 | 1177 | [[package]] 1178 | name = "jni" 1179 | version = "0.20.0" 1180 | source = "registry+https://github.com/rust-lang/crates.io-index" 1181 | checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" 1182 | dependencies = [ 1183 | "cesu8", 1184 | "combine", 1185 | "jni-sys", 1186 | "log", 1187 | "thiserror", 1188 | "walkdir", 1189 | ] 1190 | 1191 | [[package]] 1192 | name = "jni-sys" 1193 | version = "0.3.0" 1194 | source = "registry+https://github.com/rust-lang/crates.io-index" 1195 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1196 | 1197 | [[package]] 1198 | name = "json-patch" 1199 | version = "0.2.7" 1200 | source = "registry+https://github.com/rust-lang/crates.io-index" 1201 | checksum = "eb3fa5a61630976fc4c353c70297f2e93f1930e3ccee574d59d618ccbd5154ce" 1202 | dependencies = [ 1203 | "serde", 1204 | "serde_json", 1205 | "treediff", 1206 | ] 1207 | 1208 | [[package]] 1209 | name = "kuchiki" 1210 | version = "0.8.1" 1211 | source = "registry+https://github.com/rust-lang/crates.io-index" 1212 | checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" 1213 | dependencies = [ 1214 | "cssparser", 1215 | "html5ever", 1216 | "matches", 1217 | "selectors", 1218 | ] 1219 | 1220 | [[package]] 1221 | name = "lazy_static" 1222 | version = "1.4.0" 1223 | source = "registry+https://github.com/rust-lang/crates.io-index" 1224 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1225 | 1226 | [[package]] 1227 | name = "libc" 1228 | version = "0.2.140" 1229 | source = "registry+https://github.com/rust-lang/crates.io-index" 1230 | checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" 1231 | 1232 | [[package]] 1233 | name = "line-wrap" 1234 | version = "0.1.1" 1235 | source = "registry+https://github.com/rust-lang/crates.io-index" 1236 | checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" 1237 | dependencies = [ 1238 | "safemem", 1239 | ] 1240 | 1241 | [[package]] 1242 | name = "linux-raw-sys" 1243 | version = "0.1.4" 1244 | source = "registry+https://github.com/rust-lang/crates.io-index" 1245 | checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" 1246 | 1247 | [[package]] 1248 | name = "lock_api" 1249 | version = "0.4.9" 1250 | source = "registry+https://github.com/rust-lang/crates.io-index" 1251 | checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" 1252 | dependencies = [ 1253 | "autocfg", 1254 | "scopeguard", 1255 | ] 1256 | 1257 | [[package]] 1258 | name = "log" 1259 | version = "0.4.17" 1260 | source = "registry+https://github.com/rust-lang/crates.io-index" 1261 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" 1262 | dependencies = [ 1263 | "cfg-if", 1264 | ] 1265 | 1266 | [[package]] 1267 | name = "loom" 1268 | version = "0.5.6" 1269 | source = "registry+https://github.com/rust-lang/crates.io-index" 1270 | checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" 1271 | dependencies = [ 1272 | "cfg-if", 1273 | "generator", 1274 | "scoped-tls", 1275 | "serde", 1276 | "serde_json", 1277 | "tracing", 1278 | "tracing-subscriber", 1279 | ] 1280 | 1281 | [[package]] 1282 | name = "mac" 1283 | version = "0.1.1" 1284 | source = "registry+https://github.com/rust-lang/crates.io-index" 1285 | checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" 1286 | 1287 | [[package]] 1288 | name = "malloc_buf" 1289 | version = "0.0.6" 1290 | source = "registry+https://github.com/rust-lang/crates.io-index" 1291 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 1292 | dependencies = [ 1293 | "libc", 1294 | ] 1295 | 1296 | [[package]] 1297 | name = "markup5ever" 1298 | version = "0.10.1" 1299 | source = "registry+https://github.com/rust-lang/crates.io-index" 1300 | checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" 1301 | dependencies = [ 1302 | "log", 1303 | "phf 0.8.0", 1304 | "phf_codegen", 1305 | "string_cache", 1306 | "string_cache_codegen", 1307 | "tendril", 1308 | ] 1309 | 1310 | [[package]] 1311 | name = "matchers" 1312 | version = "0.1.0" 1313 | source = "registry+https://github.com/rust-lang/crates.io-index" 1314 | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 1315 | dependencies = [ 1316 | "regex-automata", 1317 | ] 1318 | 1319 | [[package]] 1320 | name = "matches" 1321 | version = "0.1.10" 1322 | source = "registry+https://github.com/rust-lang/crates.io-index" 1323 | checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" 1324 | 1325 | [[package]] 1326 | name = "memchr" 1327 | version = "2.5.0" 1328 | source = "registry+https://github.com/rust-lang/crates.io-index" 1329 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 1330 | 1331 | [[package]] 1332 | name = "memoffset" 1333 | version = "0.8.0" 1334 | source = "registry+https://github.com/rust-lang/crates.io-index" 1335 | checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" 1336 | dependencies = [ 1337 | "autocfg", 1338 | ] 1339 | 1340 | [[package]] 1341 | name = "miniz_oxide" 1342 | version = "0.6.2" 1343 | source = "registry+https://github.com/rust-lang/crates.io-index" 1344 | checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" 1345 | dependencies = [ 1346 | "adler", 1347 | ] 1348 | 1349 | [[package]] 1350 | name = "ndk" 1351 | version = "0.6.0" 1352 | source = "registry+https://github.com/rust-lang/crates.io-index" 1353 | checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" 1354 | dependencies = [ 1355 | "bitflags", 1356 | "jni-sys", 1357 | "ndk-sys", 1358 | "num_enum", 1359 | "thiserror", 1360 | ] 1361 | 1362 | [[package]] 1363 | name = "ndk-context" 1364 | version = "0.1.1" 1365 | source = "registry+https://github.com/rust-lang/crates.io-index" 1366 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 1367 | 1368 | [[package]] 1369 | name = "ndk-sys" 1370 | version = "0.3.0" 1371 | source = "registry+https://github.com/rust-lang/crates.io-index" 1372 | checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" 1373 | dependencies = [ 1374 | "jni-sys", 1375 | ] 1376 | 1377 | [[package]] 1378 | name = "new_debug_unreachable" 1379 | version = "1.0.4" 1380 | source = "registry+https://github.com/rust-lang/crates.io-index" 1381 | checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" 1382 | 1383 | [[package]] 1384 | name = "nodrop" 1385 | version = "0.1.14" 1386 | source = "registry+https://github.com/rust-lang/crates.io-index" 1387 | checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" 1388 | 1389 | [[package]] 1390 | name = "nu-ansi-term" 1391 | version = "0.46.0" 1392 | source = "registry+https://github.com/rust-lang/crates.io-index" 1393 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1394 | dependencies = [ 1395 | "overload", 1396 | "winapi", 1397 | ] 1398 | 1399 | [[package]] 1400 | name = "num-integer" 1401 | version = "0.1.45" 1402 | source = "registry+https://github.com/rust-lang/crates.io-index" 1403 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 1404 | dependencies = [ 1405 | "autocfg", 1406 | "num-traits", 1407 | ] 1408 | 1409 | [[package]] 1410 | name = "num-rational" 1411 | version = "0.4.1" 1412 | source = "registry+https://github.com/rust-lang/crates.io-index" 1413 | checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" 1414 | dependencies = [ 1415 | "autocfg", 1416 | "num-integer", 1417 | "num-traits", 1418 | ] 1419 | 1420 | [[package]] 1421 | name = "num-traits" 1422 | version = "0.2.15" 1423 | source = "registry+https://github.com/rust-lang/crates.io-index" 1424 | checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" 1425 | dependencies = [ 1426 | "autocfg", 1427 | ] 1428 | 1429 | [[package]] 1430 | name = "num_cpus" 1431 | version = "1.15.0" 1432 | source = "registry+https://github.com/rust-lang/crates.io-index" 1433 | checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" 1434 | dependencies = [ 1435 | "hermit-abi", 1436 | "libc", 1437 | ] 1438 | 1439 | [[package]] 1440 | name = "num_enum" 1441 | version = "0.5.11" 1442 | source = "registry+https://github.com/rust-lang/crates.io-index" 1443 | checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" 1444 | dependencies = [ 1445 | "num_enum_derive", 1446 | ] 1447 | 1448 | [[package]] 1449 | name = "num_enum_derive" 1450 | version = "0.5.11" 1451 | source = "registry+https://github.com/rust-lang/crates.io-index" 1452 | checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" 1453 | dependencies = [ 1454 | "proc-macro-crate", 1455 | "proc-macro2", 1456 | "quote", 1457 | "syn", 1458 | ] 1459 | 1460 | [[package]] 1461 | name = "objc" 1462 | version = "0.2.7" 1463 | source = "registry+https://github.com/rust-lang/crates.io-index" 1464 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 1465 | dependencies = [ 1466 | "malloc_buf", 1467 | "objc_exception", 1468 | ] 1469 | 1470 | [[package]] 1471 | name = "objc_exception" 1472 | version = "0.1.2" 1473 | source = "registry+https://github.com/rust-lang/crates.io-index" 1474 | checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" 1475 | dependencies = [ 1476 | "cc", 1477 | ] 1478 | 1479 | [[package]] 1480 | name = "objc_id" 1481 | version = "0.1.1" 1482 | source = "registry+https://github.com/rust-lang/crates.io-index" 1483 | checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" 1484 | dependencies = [ 1485 | "objc", 1486 | ] 1487 | 1488 | [[package]] 1489 | name = "once_cell" 1490 | version = "1.17.1" 1491 | source = "registry+https://github.com/rust-lang/crates.io-index" 1492 | checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" 1493 | 1494 | [[package]] 1495 | name = "open" 1496 | version = "3.4.0" 1497 | source = "registry+https://github.com/rust-lang/crates.io-index" 1498 | checksum = "21ecf2487e799604735754d2c5896106785987b441b5aee58f242e4d4963179a" 1499 | dependencies = [ 1500 | "pathdiff", 1501 | ] 1502 | 1503 | [[package]] 1504 | name = "overload" 1505 | version = "0.1.1" 1506 | source = "registry+https://github.com/rust-lang/crates.io-index" 1507 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 1508 | 1509 | [[package]] 1510 | name = "pango" 1511 | version = "0.16.5" 1512 | source = "registry+https://github.com/rust-lang/crates.io-index" 1513 | checksum = "cdff66b271861037b89d028656184059e03b0b6ccb36003820be19f7200b1e94" 1514 | dependencies = [ 1515 | "bitflags", 1516 | "gio", 1517 | "glib", 1518 | "libc", 1519 | "once_cell", 1520 | "pango-sys", 1521 | ] 1522 | 1523 | [[package]] 1524 | name = "pango-sys" 1525 | version = "0.16.3" 1526 | source = "registry+https://github.com/rust-lang/crates.io-index" 1527 | checksum = "9e134909a9a293e04d2cc31928aa95679c5e4df954d0b85483159bd20d8f047f" 1528 | dependencies = [ 1529 | "glib-sys", 1530 | "gobject-sys", 1531 | "libc", 1532 | "system-deps", 1533 | ] 1534 | 1535 | [[package]] 1536 | name = "parking_lot" 1537 | version = "0.12.1" 1538 | source = "registry+https://github.com/rust-lang/crates.io-index" 1539 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 1540 | dependencies = [ 1541 | "lock_api", 1542 | "parking_lot_core", 1543 | ] 1544 | 1545 | [[package]] 1546 | name = "parking_lot_core" 1547 | version = "0.9.7" 1548 | source = "registry+https://github.com/rust-lang/crates.io-index" 1549 | checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" 1550 | dependencies = [ 1551 | "cfg-if", 1552 | "libc", 1553 | "redox_syscall", 1554 | "smallvec", 1555 | "windows-sys 0.45.0", 1556 | ] 1557 | 1558 | [[package]] 1559 | name = "paste" 1560 | version = "1.0.12" 1561 | source = "registry+https://github.com/rust-lang/crates.io-index" 1562 | checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" 1563 | 1564 | [[package]] 1565 | name = "pathdiff" 1566 | version = "0.2.1" 1567 | source = "registry+https://github.com/rust-lang/crates.io-index" 1568 | checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" 1569 | 1570 | [[package]] 1571 | name = "percent-encoding" 1572 | version = "2.2.0" 1573 | source = "registry+https://github.com/rust-lang/crates.io-index" 1574 | checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" 1575 | 1576 | [[package]] 1577 | name = "phf" 1578 | version = "0.8.0" 1579 | source = "registry+https://github.com/rust-lang/crates.io-index" 1580 | checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" 1581 | dependencies = [ 1582 | "phf_macros 0.8.0", 1583 | "phf_shared 0.8.0", 1584 | "proc-macro-hack", 1585 | ] 1586 | 1587 | [[package]] 1588 | name = "phf" 1589 | version = "0.10.1" 1590 | source = "registry+https://github.com/rust-lang/crates.io-index" 1591 | checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" 1592 | dependencies = [ 1593 | "phf_macros 0.10.0", 1594 | "phf_shared 0.10.0", 1595 | "proc-macro-hack", 1596 | ] 1597 | 1598 | [[package]] 1599 | name = "phf_codegen" 1600 | version = "0.8.0" 1601 | source = "registry+https://github.com/rust-lang/crates.io-index" 1602 | checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" 1603 | dependencies = [ 1604 | "phf_generator 0.8.0", 1605 | "phf_shared 0.8.0", 1606 | ] 1607 | 1608 | [[package]] 1609 | name = "phf_generator" 1610 | version = "0.8.0" 1611 | source = "registry+https://github.com/rust-lang/crates.io-index" 1612 | checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" 1613 | dependencies = [ 1614 | "phf_shared 0.8.0", 1615 | "rand 0.7.3", 1616 | ] 1617 | 1618 | [[package]] 1619 | name = "phf_generator" 1620 | version = "0.10.0" 1621 | source = "registry+https://github.com/rust-lang/crates.io-index" 1622 | checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" 1623 | dependencies = [ 1624 | "phf_shared 0.10.0", 1625 | "rand 0.8.5", 1626 | ] 1627 | 1628 | [[package]] 1629 | name = "phf_macros" 1630 | version = "0.8.0" 1631 | source = "registry+https://github.com/rust-lang/crates.io-index" 1632 | checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" 1633 | dependencies = [ 1634 | "phf_generator 0.8.0", 1635 | "phf_shared 0.8.0", 1636 | "proc-macro-hack", 1637 | "proc-macro2", 1638 | "quote", 1639 | "syn", 1640 | ] 1641 | 1642 | [[package]] 1643 | name = "phf_macros" 1644 | version = "0.10.0" 1645 | source = "registry+https://github.com/rust-lang/crates.io-index" 1646 | checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" 1647 | dependencies = [ 1648 | "phf_generator 0.10.0", 1649 | "phf_shared 0.10.0", 1650 | "proc-macro-hack", 1651 | "proc-macro2", 1652 | "quote", 1653 | "syn", 1654 | ] 1655 | 1656 | [[package]] 1657 | name = "phf_shared" 1658 | version = "0.8.0" 1659 | source = "registry+https://github.com/rust-lang/crates.io-index" 1660 | checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" 1661 | dependencies = [ 1662 | "siphasher", 1663 | ] 1664 | 1665 | [[package]] 1666 | name = "phf_shared" 1667 | version = "0.10.0" 1668 | source = "registry+https://github.com/rust-lang/crates.io-index" 1669 | checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" 1670 | dependencies = [ 1671 | "siphasher", 1672 | ] 1673 | 1674 | [[package]] 1675 | name = "pin-project-lite" 1676 | version = "0.2.9" 1677 | source = "registry+https://github.com/rust-lang/crates.io-index" 1678 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" 1679 | 1680 | [[package]] 1681 | name = "pin-utils" 1682 | version = "0.1.0" 1683 | source = "registry+https://github.com/rust-lang/crates.io-index" 1684 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1685 | 1686 | [[package]] 1687 | name = "pkg-config" 1688 | version = "0.3.26" 1689 | source = "registry+https://github.com/rust-lang/crates.io-index" 1690 | checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" 1691 | 1692 | [[package]] 1693 | name = "plist" 1694 | version = "1.4.2" 1695 | source = "registry+https://github.com/rust-lang/crates.io-index" 1696 | checksum = "ffac6a51110e97610dd3ac73e34a65b27e56a1e305df41bad1f616d8e1cb22f4" 1697 | dependencies = [ 1698 | "base64 0.21.0", 1699 | "indexmap", 1700 | "line-wrap", 1701 | "quick-xml", 1702 | "serde", 1703 | "time", 1704 | ] 1705 | 1706 | [[package]] 1707 | name = "png" 1708 | version = "0.17.7" 1709 | source = "registry+https://github.com/rust-lang/crates.io-index" 1710 | checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638" 1711 | dependencies = [ 1712 | "bitflags", 1713 | "crc32fast", 1714 | "flate2", 1715 | "miniz_oxide", 1716 | ] 1717 | 1718 | [[package]] 1719 | name = "ppv-lite86" 1720 | version = "0.2.17" 1721 | source = "registry+https://github.com/rust-lang/crates.io-index" 1722 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1723 | 1724 | [[package]] 1725 | name = "precomputed-hash" 1726 | version = "0.1.1" 1727 | source = "registry+https://github.com/rust-lang/crates.io-index" 1728 | checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 1729 | 1730 | [[package]] 1731 | name = "proc-macro-crate" 1732 | version = "1.3.1" 1733 | source = "registry+https://github.com/rust-lang/crates.io-index" 1734 | checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" 1735 | dependencies = [ 1736 | "once_cell", 1737 | "toml_edit", 1738 | ] 1739 | 1740 | [[package]] 1741 | name = "proc-macro-error" 1742 | version = "1.0.4" 1743 | source = "registry+https://github.com/rust-lang/crates.io-index" 1744 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1745 | dependencies = [ 1746 | "proc-macro-error-attr", 1747 | "proc-macro2", 1748 | "quote", 1749 | "syn", 1750 | "version_check", 1751 | ] 1752 | 1753 | [[package]] 1754 | name = "proc-macro-error-attr" 1755 | version = "1.0.4" 1756 | source = "registry+https://github.com/rust-lang/crates.io-index" 1757 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1758 | dependencies = [ 1759 | "proc-macro2", 1760 | "quote", 1761 | "version_check", 1762 | ] 1763 | 1764 | [[package]] 1765 | name = "proc-macro-hack" 1766 | version = "0.5.20+deprecated" 1767 | source = "registry+https://github.com/rust-lang/crates.io-index" 1768 | checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" 1769 | 1770 | [[package]] 1771 | name = "proc-macro2" 1772 | version = "1.0.51" 1773 | source = "registry+https://github.com/rust-lang/crates.io-index" 1774 | checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" 1775 | dependencies = [ 1776 | "unicode-ident", 1777 | ] 1778 | 1779 | [[package]] 1780 | name = "quick-xml" 1781 | version = "0.27.1" 1782 | source = "registry+https://github.com/rust-lang/crates.io-index" 1783 | checksum = "ffc053f057dd768a56f62cd7e434c42c831d296968997e9ac1f76ea7c2d14c41" 1784 | dependencies = [ 1785 | "memchr", 1786 | ] 1787 | 1788 | [[package]] 1789 | name = "quote" 1790 | version = "1.0.23" 1791 | source = "registry+https://github.com/rust-lang/crates.io-index" 1792 | checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" 1793 | dependencies = [ 1794 | "proc-macro2", 1795 | ] 1796 | 1797 | [[package]] 1798 | name = "rand" 1799 | version = "0.7.3" 1800 | source = "registry+https://github.com/rust-lang/crates.io-index" 1801 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" 1802 | dependencies = [ 1803 | "getrandom 0.1.16", 1804 | "libc", 1805 | "rand_chacha 0.2.2", 1806 | "rand_core 0.5.1", 1807 | "rand_hc", 1808 | "rand_pcg", 1809 | ] 1810 | 1811 | [[package]] 1812 | name = "rand" 1813 | version = "0.8.5" 1814 | source = "registry+https://github.com/rust-lang/crates.io-index" 1815 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1816 | dependencies = [ 1817 | "libc", 1818 | "rand_chacha 0.3.1", 1819 | "rand_core 0.6.4", 1820 | ] 1821 | 1822 | [[package]] 1823 | name = "rand_chacha" 1824 | version = "0.2.2" 1825 | source = "registry+https://github.com/rust-lang/crates.io-index" 1826 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" 1827 | dependencies = [ 1828 | "ppv-lite86", 1829 | "rand_core 0.5.1", 1830 | ] 1831 | 1832 | [[package]] 1833 | name = "rand_chacha" 1834 | version = "0.3.1" 1835 | source = "registry+https://github.com/rust-lang/crates.io-index" 1836 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1837 | dependencies = [ 1838 | "ppv-lite86", 1839 | "rand_core 0.6.4", 1840 | ] 1841 | 1842 | [[package]] 1843 | name = "rand_core" 1844 | version = "0.5.1" 1845 | source = "registry+https://github.com/rust-lang/crates.io-index" 1846 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 1847 | dependencies = [ 1848 | "getrandom 0.1.16", 1849 | ] 1850 | 1851 | [[package]] 1852 | name = "rand_core" 1853 | version = "0.6.4" 1854 | source = "registry+https://github.com/rust-lang/crates.io-index" 1855 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1856 | dependencies = [ 1857 | "getrandom 0.2.8", 1858 | ] 1859 | 1860 | [[package]] 1861 | name = "rand_hc" 1862 | version = "0.2.0" 1863 | source = "registry+https://github.com/rust-lang/crates.io-index" 1864 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 1865 | dependencies = [ 1866 | "rand_core 0.5.1", 1867 | ] 1868 | 1869 | [[package]] 1870 | name = "rand_pcg" 1871 | version = "0.2.1" 1872 | source = "registry+https://github.com/rust-lang/crates.io-index" 1873 | checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" 1874 | dependencies = [ 1875 | "rand_core 0.5.1", 1876 | ] 1877 | 1878 | [[package]] 1879 | name = "raw-window-handle" 1880 | version = "0.5.1" 1881 | source = "registry+https://github.com/rust-lang/crates.io-index" 1882 | checksum = "4f851a03551ceefd30132e447f07f96cb7011d6b658374f3aed847333adb5559" 1883 | 1884 | [[package]] 1885 | name = "redox_syscall" 1886 | version = "0.2.16" 1887 | source = "registry+https://github.com/rust-lang/crates.io-index" 1888 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 1889 | dependencies = [ 1890 | "bitflags", 1891 | ] 1892 | 1893 | [[package]] 1894 | name = "redox_users" 1895 | version = "0.4.3" 1896 | source = "registry+https://github.com/rust-lang/crates.io-index" 1897 | checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" 1898 | dependencies = [ 1899 | "getrandom 0.2.8", 1900 | "redox_syscall", 1901 | "thiserror", 1902 | ] 1903 | 1904 | [[package]] 1905 | name = "regex" 1906 | version = "1.7.1" 1907 | source = "registry+https://github.com/rust-lang/crates.io-index" 1908 | checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" 1909 | dependencies = [ 1910 | "aho-corasick", 1911 | "memchr", 1912 | "regex-syntax", 1913 | ] 1914 | 1915 | [[package]] 1916 | name = "regex-automata" 1917 | version = "0.1.10" 1918 | source = "registry+https://github.com/rust-lang/crates.io-index" 1919 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 1920 | dependencies = [ 1921 | "regex-syntax", 1922 | ] 1923 | 1924 | [[package]] 1925 | name = "regex-syntax" 1926 | version = "0.6.28" 1927 | source = "registry+https://github.com/rust-lang/crates.io-index" 1928 | checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" 1929 | 1930 | [[package]] 1931 | name = "rustc_version" 1932 | version = "0.4.0" 1933 | source = "registry+https://github.com/rust-lang/crates.io-index" 1934 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 1935 | dependencies = [ 1936 | "semver", 1937 | ] 1938 | 1939 | [[package]] 1940 | name = "rustix" 1941 | version = "0.36.9" 1942 | source = "registry+https://github.com/rust-lang/crates.io-index" 1943 | checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc" 1944 | dependencies = [ 1945 | "bitflags", 1946 | "errno", 1947 | "io-lifetimes", 1948 | "libc", 1949 | "linux-raw-sys", 1950 | "windows-sys 0.45.0", 1951 | ] 1952 | 1953 | [[package]] 1954 | name = "rustversion" 1955 | version = "1.0.12" 1956 | source = "registry+https://github.com/rust-lang/crates.io-index" 1957 | checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" 1958 | 1959 | [[package]] 1960 | name = "ryu" 1961 | version = "1.0.13" 1962 | source = "registry+https://github.com/rust-lang/crates.io-index" 1963 | checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" 1964 | 1965 | [[package]] 1966 | name = "safemem" 1967 | version = "0.3.3" 1968 | source = "registry+https://github.com/rust-lang/crates.io-index" 1969 | checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" 1970 | 1971 | [[package]] 1972 | name = "same-file" 1973 | version = "1.0.6" 1974 | source = "registry+https://github.com/rust-lang/crates.io-index" 1975 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1976 | dependencies = [ 1977 | "winapi-util", 1978 | ] 1979 | 1980 | [[package]] 1981 | name = "scoped-tls" 1982 | version = "1.0.1" 1983 | source = "registry+https://github.com/rust-lang/crates.io-index" 1984 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 1985 | 1986 | [[package]] 1987 | name = "scopeguard" 1988 | version = "1.1.0" 1989 | source = "registry+https://github.com/rust-lang/crates.io-index" 1990 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 1991 | 1992 | [[package]] 1993 | name = "selectors" 1994 | version = "0.22.0" 1995 | source = "registry+https://github.com/rust-lang/crates.io-index" 1996 | checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" 1997 | dependencies = [ 1998 | "bitflags", 1999 | "cssparser", 2000 | "derive_more", 2001 | "fxhash", 2002 | "log", 2003 | "matches", 2004 | "phf 0.8.0", 2005 | "phf_codegen", 2006 | "precomputed-hash", 2007 | "servo_arc", 2008 | "smallvec", 2009 | "thin-slice", 2010 | ] 2011 | 2012 | [[package]] 2013 | name = "semver" 2014 | version = "1.0.16" 2015 | source = "registry+https://github.com/rust-lang/crates.io-index" 2016 | checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" 2017 | dependencies = [ 2018 | "serde", 2019 | ] 2020 | 2021 | [[package]] 2022 | name = "serde" 2023 | version = "1.0.155" 2024 | source = "registry+https://github.com/rust-lang/crates.io-index" 2025 | checksum = "71f2b4817415c6d4210bfe1c7bfcf4801b2d904cb4d0e1a8fdb651013c9e86b8" 2026 | dependencies = [ 2027 | "serde_derive", 2028 | ] 2029 | 2030 | [[package]] 2031 | name = "serde_derive" 2032 | version = "1.0.155" 2033 | source = "registry+https://github.com/rust-lang/crates.io-index" 2034 | checksum = "d071a94a3fac4aff69d023a7f411e33f40f3483f8c5190b1953822b6b76d7630" 2035 | dependencies = [ 2036 | "proc-macro2", 2037 | "quote", 2038 | "syn", 2039 | ] 2040 | 2041 | [[package]] 2042 | name = "serde_json" 2043 | version = "1.0.94" 2044 | source = "registry+https://github.com/rust-lang/crates.io-index" 2045 | checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" 2046 | dependencies = [ 2047 | "itoa 1.0.6", 2048 | "ryu", 2049 | "serde", 2050 | ] 2051 | 2052 | [[package]] 2053 | name = "serde_repr" 2054 | version = "0.1.11" 2055 | source = "registry+https://github.com/rust-lang/crates.io-index" 2056 | checksum = "395627de918015623b32e7669714206363a7fc00382bf477e72c1f7533e8eafc" 2057 | dependencies = [ 2058 | "proc-macro2", 2059 | "quote", 2060 | "syn", 2061 | ] 2062 | 2063 | [[package]] 2064 | name = "serde_urlencoded" 2065 | version = "0.7.1" 2066 | source = "registry+https://github.com/rust-lang/crates.io-index" 2067 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 2068 | dependencies = [ 2069 | "form_urlencoded", 2070 | "itoa 1.0.6", 2071 | "ryu", 2072 | "serde", 2073 | ] 2074 | 2075 | [[package]] 2076 | name = "serde_with" 2077 | version = "1.14.0" 2078 | source = "registry+https://github.com/rust-lang/crates.io-index" 2079 | checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" 2080 | dependencies = [ 2081 | "serde", 2082 | "serde_with_macros", 2083 | ] 2084 | 2085 | [[package]] 2086 | name = "serde_with_macros" 2087 | version = "1.5.2" 2088 | source = "registry+https://github.com/rust-lang/crates.io-index" 2089 | checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" 2090 | dependencies = [ 2091 | "darling", 2092 | "proc-macro2", 2093 | "quote", 2094 | "syn", 2095 | ] 2096 | 2097 | [[package]] 2098 | name = "serialize-to-javascript" 2099 | version = "0.1.1" 2100 | source = "registry+https://github.com/rust-lang/crates.io-index" 2101 | checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" 2102 | dependencies = [ 2103 | "serde", 2104 | "serde_json", 2105 | "serialize-to-javascript-impl", 2106 | ] 2107 | 2108 | [[package]] 2109 | name = "serialize-to-javascript-impl" 2110 | version = "0.1.1" 2111 | source = "registry+https://github.com/rust-lang/crates.io-index" 2112 | checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" 2113 | dependencies = [ 2114 | "proc-macro2", 2115 | "quote", 2116 | "syn", 2117 | ] 2118 | 2119 | [[package]] 2120 | name = "servo_arc" 2121 | version = "0.1.1" 2122 | source = "registry+https://github.com/rust-lang/crates.io-index" 2123 | checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" 2124 | dependencies = [ 2125 | "nodrop", 2126 | "stable_deref_trait", 2127 | ] 2128 | 2129 | [[package]] 2130 | name = "sha2" 2131 | version = "0.10.6" 2132 | source = "registry+https://github.com/rust-lang/crates.io-index" 2133 | checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" 2134 | dependencies = [ 2135 | "cfg-if", 2136 | "cpufeatures", 2137 | "digest", 2138 | ] 2139 | 2140 | [[package]] 2141 | name = "sharded-slab" 2142 | version = "0.1.4" 2143 | source = "registry+https://github.com/rust-lang/crates.io-index" 2144 | checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" 2145 | dependencies = [ 2146 | "lazy_static", 2147 | ] 2148 | 2149 | [[package]] 2150 | name = "siphasher" 2151 | version = "0.3.10" 2152 | source = "registry+https://github.com/rust-lang/crates.io-index" 2153 | checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" 2154 | 2155 | [[package]] 2156 | name = "slab" 2157 | version = "0.4.8" 2158 | source = "registry+https://github.com/rust-lang/crates.io-index" 2159 | checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" 2160 | dependencies = [ 2161 | "autocfg", 2162 | ] 2163 | 2164 | [[package]] 2165 | name = "smallvec" 2166 | version = "1.10.0" 2167 | source = "registry+https://github.com/rust-lang/crates.io-index" 2168 | checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" 2169 | 2170 | [[package]] 2171 | name = "soup3" 2172 | version = "0.3.2" 2173 | source = "registry+https://github.com/rust-lang/crates.io-index" 2174 | checksum = "82bc46048125fefd69d30b32b9d263d6556c9ffe82a7a7df181a86d912da5616" 2175 | dependencies = [ 2176 | "bitflags", 2177 | "futures-channel", 2178 | "gio", 2179 | "glib", 2180 | "libc", 2181 | "once_cell", 2182 | "soup3-sys", 2183 | ] 2184 | 2185 | [[package]] 2186 | name = "soup3-sys" 2187 | version = "0.3.1" 2188 | source = "registry+https://github.com/rust-lang/crates.io-index" 2189 | checksum = "014bbeb1c4cdb30739dc181e8d98b7908f124d9555843afa89b5570aaf4ec62b" 2190 | dependencies = [ 2191 | "gio-sys", 2192 | "glib-sys", 2193 | "gobject-sys", 2194 | "libc", 2195 | "system-deps", 2196 | ] 2197 | 2198 | [[package]] 2199 | name = "stable_deref_trait" 2200 | version = "1.2.0" 2201 | source = "registry+https://github.com/rust-lang/crates.io-index" 2202 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 2203 | 2204 | [[package]] 2205 | name = "state" 2206 | version = "0.5.3" 2207 | source = "registry+https://github.com/rust-lang/crates.io-index" 2208 | checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" 2209 | dependencies = [ 2210 | "loom", 2211 | ] 2212 | 2213 | [[package]] 2214 | name = "string_cache" 2215 | version = "0.8.7" 2216 | source = "registry+https://github.com/rust-lang/crates.io-index" 2217 | checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" 2218 | dependencies = [ 2219 | "new_debug_unreachable", 2220 | "once_cell", 2221 | "parking_lot", 2222 | "phf_shared 0.10.0", 2223 | "precomputed-hash", 2224 | "serde", 2225 | ] 2226 | 2227 | [[package]] 2228 | name = "string_cache_codegen" 2229 | version = "0.5.2" 2230 | source = "registry+https://github.com/rust-lang/crates.io-index" 2231 | checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" 2232 | dependencies = [ 2233 | "phf_generator 0.10.0", 2234 | "phf_shared 0.10.0", 2235 | "proc-macro2", 2236 | "quote", 2237 | ] 2238 | 2239 | [[package]] 2240 | name = "strsim" 2241 | version = "0.10.0" 2242 | source = "registry+https://github.com/rust-lang/crates.io-index" 2243 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 2244 | 2245 | [[package]] 2246 | name = "syn" 2247 | version = "1.0.109" 2248 | source = "registry+https://github.com/rust-lang/crates.io-index" 2249 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2250 | dependencies = [ 2251 | "proc-macro2", 2252 | "quote", 2253 | "unicode-ident", 2254 | ] 2255 | 2256 | [[package]] 2257 | name = "system-deps" 2258 | version = "6.0.3" 2259 | source = "registry+https://github.com/rust-lang/crates.io-index" 2260 | checksum = "2955b1fe31e1fa2fbd1976b71cc69a606d7d4da16f6de3333d0c92d51419aeff" 2261 | dependencies = [ 2262 | "cfg-expr", 2263 | "heck", 2264 | "pkg-config", 2265 | "toml", 2266 | "version-compare", 2267 | ] 2268 | 2269 | [[package]] 2270 | name = "tao" 2271 | version = "0.17.0" 2272 | source = "registry+https://github.com/rust-lang/crates.io-index" 2273 | checksum = "0d021218bcb43d4bf42112b1da5f7d8454502ffb188489ba0089fe4e3e34a8f6" 2274 | dependencies = [ 2275 | "bitflags", 2276 | "cairo-rs", 2277 | "cc", 2278 | "cocoa", 2279 | "core-foundation", 2280 | "core-graphics", 2281 | "crossbeam-channel", 2282 | "dispatch", 2283 | "gdk", 2284 | "gdk-pixbuf", 2285 | "gdk-sys", 2286 | "gdkx11-sys", 2287 | "gio", 2288 | "glib", 2289 | "glib-sys", 2290 | "gtk", 2291 | "image", 2292 | "instant", 2293 | "jni", 2294 | "lazy_static", 2295 | "libc", 2296 | "log", 2297 | "ndk", 2298 | "ndk-context", 2299 | "ndk-sys", 2300 | "objc", 2301 | "once_cell", 2302 | "parking_lot", 2303 | "png", 2304 | "raw-window-handle", 2305 | "scopeguard", 2306 | "serde", 2307 | "tao-macros", 2308 | "unicode-segmentation", 2309 | "uuid 1.3.0", 2310 | "windows 0.39.0", 2311 | "windows-implement", 2312 | "x11-dl", 2313 | ] 2314 | 2315 | [[package]] 2316 | name = "tao-macros" 2317 | version = "0.1.1" 2318 | source = "registry+https://github.com/rust-lang/crates.io-index" 2319 | checksum = "3b27a4bcc5eb524658234589bdffc7e7bfb996dbae6ce9393bfd39cb4159b445" 2320 | dependencies = [ 2321 | "proc-macro2", 2322 | "quote", 2323 | "syn", 2324 | ] 2325 | 2326 | [[package]] 2327 | name = "tar" 2328 | version = "0.4.38" 2329 | source = "registry+https://github.com/rust-lang/crates.io-index" 2330 | checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" 2331 | dependencies = [ 2332 | "filetime", 2333 | "libc", 2334 | "xattr", 2335 | ] 2336 | 2337 | [[package]] 2338 | name = "tauri" 2339 | version = "2.0.0-alpha.3" 2340 | source = "registry+https://github.com/rust-lang/crates.io-index" 2341 | checksum = "f3eb6015452c545d13d2eb04166376474ed0296bc647229f798937f75d3e9908" 2342 | dependencies = [ 2343 | "anyhow", 2344 | "attohttpc", 2345 | "cocoa", 2346 | "dirs-next", 2347 | "embed_plist", 2348 | "encoding_rs", 2349 | "flate2", 2350 | "futures-util", 2351 | "glib", 2352 | "glob", 2353 | "gtk", 2354 | "heck", 2355 | "http", 2356 | "ignore", 2357 | "libc", 2358 | "log", 2359 | "objc", 2360 | "once_cell", 2361 | "open", 2362 | "paste", 2363 | "percent-encoding", 2364 | "rand 0.8.5", 2365 | "raw-window-handle", 2366 | "regex", 2367 | "semver", 2368 | "serde", 2369 | "serde_json", 2370 | "serde_repr", 2371 | "serialize-to-javascript", 2372 | "state", 2373 | "tar", 2374 | "tauri-macros", 2375 | "tauri-runtime", 2376 | "tauri-runtime-wry", 2377 | "tauri-utils", 2378 | "tempfile", 2379 | "thiserror", 2380 | "tokio", 2381 | "url", 2382 | "uuid 1.3.0", 2383 | "webkit2gtk", 2384 | "webview2-com", 2385 | "windows 0.39.0", 2386 | ] 2387 | 2388 | [[package]] 2389 | name = "tauri-app" 2390 | version = "0.1.0" 2391 | dependencies = [ 2392 | "serde", 2393 | "serde_json", 2394 | "tauri", 2395 | "tauri-build", 2396 | ] 2397 | 2398 | [[package]] 2399 | name = "tauri-build" 2400 | version = "2.0.0-alpha.1" 2401 | source = "registry+https://github.com/rust-lang/crates.io-index" 2402 | checksum = "c273e6fd861c23b537b4d8d0175775e472e9f856bbd2b2c4422df80506ff8fb0" 2403 | dependencies = [ 2404 | "anyhow", 2405 | "cargo_toml", 2406 | "heck", 2407 | "json-patch", 2408 | "semver", 2409 | "serde_json", 2410 | "tauri-utils", 2411 | "winres", 2412 | ] 2413 | 2414 | [[package]] 2415 | name = "tauri-codegen" 2416 | version = "2.0.0-alpha.1" 2417 | source = "registry+https://github.com/rust-lang/crates.io-index" 2418 | checksum = "af7d3464109ac3b7fbff0d78f1bc6b309af49c3d6267ebace90c5a47fbac58cb" 2419 | dependencies = [ 2420 | "base64 0.13.1", 2421 | "brotli", 2422 | "ico", 2423 | "json-patch", 2424 | "plist", 2425 | "png", 2426 | "proc-macro2", 2427 | "quote", 2428 | "regex", 2429 | "semver", 2430 | "serde", 2431 | "serde_json", 2432 | "sha2", 2433 | "tauri-utils", 2434 | "thiserror", 2435 | "time", 2436 | "url", 2437 | "uuid 1.3.0", 2438 | "walkdir", 2439 | ] 2440 | 2441 | [[package]] 2442 | name = "tauri-macros" 2443 | version = "2.0.0-alpha.1" 2444 | source = "registry+https://github.com/rust-lang/crates.io-index" 2445 | checksum = "969f323a5c603fe2d113dd1098b6d1a965fd92b78e7bd7f74eb0bb6d7d948183" 2446 | dependencies = [ 2447 | "heck", 2448 | "proc-macro2", 2449 | "quote", 2450 | "syn", 2451 | "tauri-codegen", 2452 | "tauri-utils", 2453 | ] 2454 | 2455 | [[package]] 2456 | name = "tauri-runtime" 2457 | version = "0.13.0-alpha.1" 2458 | source = "registry+https://github.com/rust-lang/crates.io-index" 2459 | checksum = "5c7369709ff9ac16a1235906801033804d8ea33e4d023e066f06df0c5c9592a0" 2460 | dependencies = [ 2461 | "gtk", 2462 | "http", 2463 | "http-range", 2464 | "rand 0.8.5", 2465 | "raw-window-handle", 2466 | "serde", 2467 | "serde_json", 2468 | "tauri-utils", 2469 | "thiserror", 2470 | "uuid 1.3.0", 2471 | "webview2-com", 2472 | "windows 0.39.0", 2473 | ] 2474 | 2475 | [[package]] 2476 | name = "tauri-runtime-wry" 2477 | version = "0.13.0-alpha.1" 2478 | source = "registry+https://github.com/rust-lang/crates.io-index" 2479 | checksum = "b914d691ef830dfa98658409eea9d9116240ae0c9d3eb228eed2a9c139a60916" 2480 | dependencies = [ 2481 | "cocoa", 2482 | "gtk", 2483 | "percent-encoding", 2484 | "rand 0.8.5", 2485 | "raw-window-handle", 2486 | "tauri-runtime", 2487 | "tauri-utils", 2488 | "uuid 1.3.0", 2489 | "webkit2gtk", 2490 | "webview2-com", 2491 | "windows 0.39.0", 2492 | "wry", 2493 | ] 2494 | 2495 | [[package]] 2496 | name = "tauri-utils" 2497 | version = "2.0.0-alpha.1" 2498 | source = "registry+https://github.com/rust-lang/crates.io-index" 2499 | checksum = "34ad593254f413f37d8fb85a2a189869a01c17ed995c633a3c36b0e5f8a3d696" 2500 | dependencies = [ 2501 | "brotli", 2502 | "ctor", 2503 | "glob", 2504 | "heck", 2505 | "html5ever", 2506 | "infer", 2507 | "json-patch", 2508 | "kuchiki", 2509 | "memchr", 2510 | "phf 0.10.1", 2511 | "proc-macro2", 2512 | "quote", 2513 | "semver", 2514 | "serde", 2515 | "serde_json", 2516 | "serde_with", 2517 | "thiserror", 2518 | "url", 2519 | "walkdir", 2520 | "windows 0.39.0", 2521 | ] 2522 | 2523 | [[package]] 2524 | name = "tempfile" 2525 | version = "3.4.0" 2526 | source = "registry+https://github.com/rust-lang/crates.io-index" 2527 | checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" 2528 | dependencies = [ 2529 | "cfg-if", 2530 | "fastrand", 2531 | "redox_syscall", 2532 | "rustix", 2533 | "windows-sys 0.42.0", 2534 | ] 2535 | 2536 | [[package]] 2537 | name = "tendril" 2538 | version = "0.4.3" 2539 | source = "registry+https://github.com/rust-lang/crates.io-index" 2540 | checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" 2541 | dependencies = [ 2542 | "futf", 2543 | "mac", 2544 | "utf-8", 2545 | ] 2546 | 2547 | [[package]] 2548 | name = "thin-slice" 2549 | version = "0.1.1" 2550 | source = "registry+https://github.com/rust-lang/crates.io-index" 2551 | checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" 2552 | 2553 | [[package]] 2554 | name = "thiserror" 2555 | version = "1.0.39" 2556 | source = "registry+https://github.com/rust-lang/crates.io-index" 2557 | checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" 2558 | dependencies = [ 2559 | "thiserror-impl", 2560 | ] 2561 | 2562 | [[package]] 2563 | name = "thiserror-impl" 2564 | version = "1.0.39" 2565 | source = "registry+https://github.com/rust-lang/crates.io-index" 2566 | checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" 2567 | dependencies = [ 2568 | "proc-macro2", 2569 | "quote", 2570 | "syn", 2571 | ] 2572 | 2573 | [[package]] 2574 | name = "thread_local" 2575 | version = "1.1.7" 2576 | source = "registry+https://github.com/rust-lang/crates.io-index" 2577 | checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 2578 | dependencies = [ 2579 | "cfg-if", 2580 | "once_cell", 2581 | ] 2582 | 2583 | [[package]] 2584 | name = "time" 2585 | version = "0.3.20" 2586 | source = "registry+https://github.com/rust-lang/crates.io-index" 2587 | checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" 2588 | dependencies = [ 2589 | "itoa 1.0.6", 2590 | "serde", 2591 | "time-core", 2592 | "time-macros", 2593 | ] 2594 | 2595 | [[package]] 2596 | name = "time-core" 2597 | version = "0.1.0" 2598 | source = "registry+https://github.com/rust-lang/crates.io-index" 2599 | checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" 2600 | 2601 | [[package]] 2602 | name = "time-macros" 2603 | version = "0.2.8" 2604 | source = "registry+https://github.com/rust-lang/crates.io-index" 2605 | checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" 2606 | dependencies = [ 2607 | "time-core", 2608 | ] 2609 | 2610 | [[package]] 2611 | name = "tinyvec" 2612 | version = "1.6.0" 2613 | source = "registry+https://github.com/rust-lang/crates.io-index" 2614 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 2615 | dependencies = [ 2616 | "tinyvec_macros", 2617 | ] 2618 | 2619 | [[package]] 2620 | name = "tinyvec_macros" 2621 | version = "0.1.1" 2622 | source = "registry+https://github.com/rust-lang/crates.io-index" 2623 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 2624 | 2625 | [[package]] 2626 | name = "tokio" 2627 | version = "1.26.0" 2628 | source = "registry+https://github.com/rust-lang/crates.io-index" 2629 | checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" 2630 | dependencies = [ 2631 | "autocfg", 2632 | "bytes", 2633 | "memchr", 2634 | "num_cpus", 2635 | "pin-project-lite", 2636 | "windows-sys 0.45.0", 2637 | ] 2638 | 2639 | [[package]] 2640 | name = "toml" 2641 | version = "0.5.11" 2642 | source = "registry+https://github.com/rust-lang/crates.io-index" 2643 | checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" 2644 | dependencies = [ 2645 | "serde", 2646 | ] 2647 | 2648 | [[package]] 2649 | name = "toml_datetime" 2650 | version = "0.6.1" 2651 | source = "registry+https://github.com/rust-lang/crates.io-index" 2652 | checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" 2653 | 2654 | [[package]] 2655 | name = "toml_edit" 2656 | version = "0.19.5" 2657 | source = "registry+https://github.com/rust-lang/crates.io-index" 2658 | checksum = "7082a95d48029677a28f181e5f6422d0c8339ad8396a39d3f33d62a90c1f6c30" 2659 | dependencies = [ 2660 | "indexmap", 2661 | "toml_datetime", 2662 | "winnow", 2663 | ] 2664 | 2665 | [[package]] 2666 | name = "tracing" 2667 | version = "0.1.37" 2668 | source = "registry+https://github.com/rust-lang/crates.io-index" 2669 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 2670 | dependencies = [ 2671 | "cfg-if", 2672 | "pin-project-lite", 2673 | "tracing-attributes", 2674 | "tracing-core", 2675 | ] 2676 | 2677 | [[package]] 2678 | name = "tracing-attributes" 2679 | version = "0.1.23" 2680 | source = "registry+https://github.com/rust-lang/crates.io-index" 2681 | checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" 2682 | dependencies = [ 2683 | "proc-macro2", 2684 | "quote", 2685 | "syn", 2686 | ] 2687 | 2688 | [[package]] 2689 | name = "tracing-core" 2690 | version = "0.1.30" 2691 | source = "registry+https://github.com/rust-lang/crates.io-index" 2692 | checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" 2693 | dependencies = [ 2694 | "once_cell", 2695 | "valuable", 2696 | ] 2697 | 2698 | [[package]] 2699 | name = "tracing-log" 2700 | version = "0.1.3" 2701 | source = "registry+https://github.com/rust-lang/crates.io-index" 2702 | checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" 2703 | dependencies = [ 2704 | "lazy_static", 2705 | "log", 2706 | "tracing-core", 2707 | ] 2708 | 2709 | [[package]] 2710 | name = "tracing-subscriber" 2711 | version = "0.3.16" 2712 | source = "registry+https://github.com/rust-lang/crates.io-index" 2713 | checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" 2714 | dependencies = [ 2715 | "matchers", 2716 | "nu-ansi-term", 2717 | "once_cell", 2718 | "regex", 2719 | "sharded-slab", 2720 | "smallvec", 2721 | "thread_local", 2722 | "tracing", 2723 | "tracing-core", 2724 | "tracing-log", 2725 | ] 2726 | 2727 | [[package]] 2728 | name = "treediff" 2729 | version = "3.0.2" 2730 | source = "registry+https://github.com/rust-lang/crates.io-index" 2731 | checksum = "761e8d5ad7ce14bb82b7e61ccc0ca961005a275a060b9644a2431aa11553c2ff" 2732 | dependencies = [ 2733 | "serde_json", 2734 | ] 2735 | 2736 | [[package]] 2737 | name = "typenum" 2738 | version = "1.16.0" 2739 | source = "registry+https://github.com/rust-lang/crates.io-index" 2740 | checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" 2741 | 2742 | [[package]] 2743 | name = "unicode-bidi" 2744 | version = "0.3.11" 2745 | source = "registry+https://github.com/rust-lang/crates.io-index" 2746 | checksum = "524b68aca1d05e03fdf03fcdce2c6c94b6daf6d16861ddaa7e4f2b6638a9052c" 2747 | 2748 | [[package]] 2749 | name = "unicode-ident" 2750 | version = "1.0.8" 2751 | source = "registry+https://github.com/rust-lang/crates.io-index" 2752 | checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" 2753 | 2754 | [[package]] 2755 | name = "unicode-normalization" 2756 | version = "0.1.22" 2757 | source = "registry+https://github.com/rust-lang/crates.io-index" 2758 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 2759 | dependencies = [ 2760 | "tinyvec", 2761 | ] 2762 | 2763 | [[package]] 2764 | name = "unicode-segmentation" 2765 | version = "1.10.1" 2766 | source = "registry+https://github.com/rust-lang/crates.io-index" 2767 | checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" 2768 | 2769 | [[package]] 2770 | name = "url" 2771 | version = "2.3.1" 2772 | source = "registry+https://github.com/rust-lang/crates.io-index" 2773 | checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" 2774 | dependencies = [ 2775 | "form_urlencoded", 2776 | "idna", 2777 | "percent-encoding", 2778 | "serde", 2779 | ] 2780 | 2781 | [[package]] 2782 | name = "utf-8" 2783 | version = "0.7.6" 2784 | source = "registry+https://github.com/rust-lang/crates.io-index" 2785 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 2786 | 2787 | [[package]] 2788 | name = "uuid" 2789 | version = "0.8.2" 2790 | source = "registry+https://github.com/rust-lang/crates.io-index" 2791 | checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" 2792 | 2793 | [[package]] 2794 | name = "uuid" 2795 | version = "1.3.0" 2796 | source = "registry+https://github.com/rust-lang/crates.io-index" 2797 | checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" 2798 | dependencies = [ 2799 | "getrandom 0.2.8", 2800 | ] 2801 | 2802 | [[package]] 2803 | name = "valuable" 2804 | version = "0.1.0" 2805 | source = "registry+https://github.com/rust-lang/crates.io-index" 2806 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 2807 | 2808 | [[package]] 2809 | name = "version-compare" 2810 | version = "0.1.1" 2811 | source = "registry+https://github.com/rust-lang/crates.io-index" 2812 | checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" 2813 | 2814 | [[package]] 2815 | name = "version_check" 2816 | version = "0.9.4" 2817 | source = "registry+https://github.com/rust-lang/crates.io-index" 2818 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 2819 | 2820 | [[package]] 2821 | name = "walkdir" 2822 | version = "2.3.2" 2823 | source = "registry+https://github.com/rust-lang/crates.io-index" 2824 | checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" 2825 | dependencies = [ 2826 | "same-file", 2827 | "winapi", 2828 | "winapi-util", 2829 | ] 2830 | 2831 | [[package]] 2832 | name = "wasi" 2833 | version = "0.9.0+wasi-snapshot-preview1" 2834 | source = "registry+https://github.com/rust-lang/crates.io-index" 2835 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" 2836 | 2837 | [[package]] 2838 | name = "wasi" 2839 | version = "0.11.0+wasi-snapshot-preview1" 2840 | source = "registry+https://github.com/rust-lang/crates.io-index" 2841 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2842 | 2843 | [[package]] 2844 | name = "webkit2gtk" 2845 | version = "0.19.2" 2846 | source = "registry+https://github.com/rust-lang/crates.io-index" 2847 | checksum = "d8eea819afe15eb8dcdff4f19d8bfda540bae84d874c10e6f4b8faf2d6704bd1" 2848 | dependencies = [ 2849 | "bitflags", 2850 | "cairo-rs", 2851 | "gdk", 2852 | "gdk-sys", 2853 | "gio", 2854 | "gio-sys", 2855 | "glib", 2856 | "glib-sys", 2857 | "gobject-sys", 2858 | "gtk", 2859 | "gtk-sys", 2860 | "javascriptcore-rs", 2861 | "libc", 2862 | "once_cell", 2863 | "soup3", 2864 | "webkit2gtk-sys", 2865 | ] 2866 | 2867 | [[package]] 2868 | name = "webkit2gtk-sys" 2869 | version = "0.19.1" 2870 | source = "registry+https://github.com/rust-lang/crates.io-index" 2871 | checksum = "d0ac7a95ddd3fdfcaf83d8e513b4b1ad101b95b413b6aa6662ed95f284fc3d5b" 2872 | dependencies = [ 2873 | "bitflags", 2874 | "cairo-sys-rs", 2875 | "gdk-sys", 2876 | "gio-sys", 2877 | "glib-sys", 2878 | "gobject-sys", 2879 | "gtk-sys", 2880 | "javascriptcore-rs-sys", 2881 | "libc", 2882 | "pkg-config", 2883 | "soup3-sys", 2884 | "system-deps", 2885 | ] 2886 | 2887 | [[package]] 2888 | name = "webview2-com" 2889 | version = "0.19.1" 2890 | source = "registry+https://github.com/rust-lang/crates.io-index" 2891 | checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" 2892 | dependencies = [ 2893 | "webview2-com-macros", 2894 | "webview2-com-sys", 2895 | "windows 0.39.0", 2896 | "windows-implement", 2897 | ] 2898 | 2899 | [[package]] 2900 | name = "webview2-com-macros" 2901 | version = "0.6.0" 2902 | source = "registry+https://github.com/rust-lang/crates.io-index" 2903 | checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" 2904 | dependencies = [ 2905 | "proc-macro2", 2906 | "quote", 2907 | "syn", 2908 | ] 2909 | 2910 | [[package]] 2911 | name = "webview2-com-sys" 2912 | version = "0.19.0" 2913 | source = "registry+https://github.com/rust-lang/crates.io-index" 2914 | checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" 2915 | dependencies = [ 2916 | "regex", 2917 | "serde", 2918 | "serde_json", 2919 | "thiserror", 2920 | "windows 0.39.0", 2921 | "windows-bindgen", 2922 | "windows-metadata", 2923 | ] 2924 | 2925 | [[package]] 2926 | name = "winapi" 2927 | version = "0.3.9" 2928 | source = "registry+https://github.com/rust-lang/crates.io-index" 2929 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2930 | dependencies = [ 2931 | "winapi-i686-pc-windows-gnu", 2932 | "winapi-x86_64-pc-windows-gnu", 2933 | ] 2934 | 2935 | [[package]] 2936 | name = "winapi-i686-pc-windows-gnu" 2937 | version = "0.4.0" 2938 | source = "registry+https://github.com/rust-lang/crates.io-index" 2939 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2940 | 2941 | [[package]] 2942 | name = "winapi-util" 2943 | version = "0.1.5" 2944 | source = "registry+https://github.com/rust-lang/crates.io-index" 2945 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 2946 | dependencies = [ 2947 | "winapi", 2948 | ] 2949 | 2950 | [[package]] 2951 | name = "winapi-x86_64-pc-windows-gnu" 2952 | version = "0.4.0" 2953 | source = "registry+https://github.com/rust-lang/crates.io-index" 2954 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2955 | 2956 | [[package]] 2957 | name = "windows" 2958 | version = "0.39.0" 2959 | source = "registry+https://github.com/rust-lang/crates.io-index" 2960 | checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" 2961 | dependencies = [ 2962 | "windows-implement", 2963 | "windows_aarch64_msvc 0.39.0", 2964 | "windows_i686_gnu 0.39.0", 2965 | "windows_i686_msvc 0.39.0", 2966 | "windows_x86_64_gnu 0.39.0", 2967 | "windows_x86_64_msvc 0.39.0", 2968 | ] 2969 | 2970 | [[package]] 2971 | name = "windows" 2972 | version = "0.44.0" 2973 | source = "registry+https://github.com/rust-lang/crates.io-index" 2974 | checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" 2975 | dependencies = [ 2976 | "windows-targets", 2977 | ] 2978 | 2979 | [[package]] 2980 | name = "windows-bindgen" 2981 | version = "0.39.0" 2982 | source = "registry+https://github.com/rust-lang/crates.io-index" 2983 | checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" 2984 | dependencies = [ 2985 | "windows-metadata", 2986 | "windows-tokens", 2987 | ] 2988 | 2989 | [[package]] 2990 | name = "windows-implement" 2991 | version = "0.39.0" 2992 | source = "registry+https://github.com/rust-lang/crates.io-index" 2993 | checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" 2994 | dependencies = [ 2995 | "syn", 2996 | "windows-tokens", 2997 | ] 2998 | 2999 | [[package]] 3000 | name = "windows-metadata" 3001 | version = "0.39.0" 3002 | source = "registry+https://github.com/rust-lang/crates.io-index" 3003 | checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" 3004 | 3005 | [[package]] 3006 | name = "windows-sys" 3007 | version = "0.42.0" 3008 | source = "registry+https://github.com/rust-lang/crates.io-index" 3009 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 3010 | dependencies = [ 3011 | "windows_aarch64_gnullvm", 3012 | "windows_aarch64_msvc 0.42.1", 3013 | "windows_i686_gnu 0.42.1", 3014 | "windows_i686_msvc 0.42.1", 3015 | "windows_x86_64_gnu 0.42.1", 3016 | "windows_x86_64_gnullvm", 3017 | "windows_x86_64_msvc 0.42.1", 3018 | ] 3019 | 3020 | [[package]] 3021 | name = "windows-sys" 3022 | version = "0.45.0" 3023 | source = "registry+https://github.com/rust-lang/crates.io-index" 3024 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 3025 | dependencies = [ 3026 | "windows-targets", 3027 | ] 3028 | 3029 | [[package]] 3030 | name = "windows-targets" 3031 | version = "0.42.1" 3032 | source = "registry+https://github.com/rust-lang/crates.io-index" 3033 | checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" 3034 | dependencies = [ 3035 | "windows_aarch64_gnullvm", 3036 | "windows_aarch64_msvc 0.42.1", 3037 | "windows_i686_gnu 0.42.1", 3038 | "windows_i686_msvc 0.42.1", 3039 | "windows_x86_64_gnu 0.42.1", 3040 | "windows_x86_64_gnullvm", 3041 | "windows_x86_64_msvc 0.42.1", 3042 | ] 3043 | 3044 | [[package]] 3045 | name = "windows-tokens" 3046 | version = "0.39.0" 3047 | source = "registry+https://github.com/rust-lang/crates.io-index" 3048 | checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" 3049 | 3050 | [[package]] 3051 | name = "windows_aarch64_gnullvm" 3052 | version = "0.42.1" 3053 | source = "registry+https://github.com/rust-lang/crates.io-index" 3054 | checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" 3055 | 3056 | [[package]] 3057 | name = "windows_aarch64_msvc" 3058 | version = "0.39.0" 3059 | source = "registry+https://github.com/rust-lang/crates.io-index" 3060 | checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" 3061 | 3062 | [[package]] 3063 | name = "windows_aarch64_msvc" 3064 | version = "0.42.1" 3065 | source = "registry+https://github.com/rust-lang/crates.io-index" 3066 | checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" 3067 | 3068 | [[package]] 3069 | name = "windows_i686_gnu" 3070 | version = "0.39.0" 3071 | source = "registry+https://github.com/rust-lang/crates.io-index" 3072 | checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" 3073 | 3074 | [[package]] 3075 | name = "windows_i686_gnu" 3076 | version = "0.42.1" 3077 | source = "registry+https://github.com/rust-lang/crates.io-index" 3078 | checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" 3079 | 3080 | [[package]] 3081 | name = "windows_i686_msvc" 3082 | version = "0.39.0" 3083 | source = "registry+https://github.com/rust-lang/crates.io-index" 3084 | checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" 3085 | 3086 | [[package]] 3087 | name = "windows_i686_msvc" 3088 | version = "0.42.1" 3089 | source = "registry+https://github.com/rust-lang/crates.io-index" 3090 | checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" 3091 | 3092 | [[package]] 3093 | name = "windows_x86_64_gnu" 3094 | version = "0.39.0" 3095 | source = "registry+https://github.com/rust-lang/crates.io-index" 3096 | checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" 3097 | 3098 | [[package]] 3099 | name = "windows_x86_64_gnu" 3100 | version = "0.42.1" 3101 | source = "registry+https://github.com/rust-lang/crates.io-index" 3102 | checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" 3103 | 3104 | [[package]] 3105 | name = "windows_x86_64_gnullvm" 3106 | version = "0.42.1" 3107 | source = "registry+https://github.com/rust-lang/crates.io-index" 3108 | checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" 3109 | 3110 | [[package]] 3111 | name = "windows_x86_64_msvc" 3112 | version = "0.39.0" 3113 | source = "registry+https://github.com/rust-lang/crates.io-index" 3114 | checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" 3115 | 3116 | [[package]] 3117 | name = "windows_x86_64_msvc" 3118 | version = "0.42.1" 3119 | source = "registry+https://github.com/rust-lang/crates.io-index" 3120 | checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" 3121 | 3122 | [[package]] 3123 | name = "winnow" 3124 | version = "0.3.5" 3125 | source = "registry+https://github.com/rust-lang/crates.io-index" 3126 | checksum = "ee7b2c67f962bf5042bfd8b6a916178df33a26eec343ae064cb8e069f638fa6f" 3127 | dependencies = [ 3128 | "memchr", 3129 | ] 3130 | 3131 | [[package]] 3132 | name = "winres" 3133 | version = "0.1.12" 3134 | source = "registry+https://github.com/rust-lang/crates.io-index" 3135 | checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" 3136 | dependencies = [ 3137 | "toml", 3138 | ] 3139 | 3140 | [[package]] 3141 | name = "wry" 3142 | version = "0.26.0" 3143 | source = "registry+https://github.com/rust-lang/crates.io-index" 3144 | checksum = "8f8052d7e38efb90235f1895d43904fc152e1efd96383fe57e30ea596738fa3b" 3145 | dependencies = [ 3146 | "base64 0.13.1", 3147 | "block", 3148 | "cocoa", 3149 | "core-graphics", 3150 | "crossbeam-channel", 3151 | "dunce", 3152 | "gdk", 3153 | "gio", 3154 | "glib", 3155 | "gtk", 3156 | "html5ever", 3157 | "http", 3158 | "kuchiki", 3159 | "libc", 3160 | "log", 3161 | "objc", 3162 | "objc_id", 3163 | "once_cell", 3164 | "serde", 3165 | "serde_json", 3166 | "sha2", 3167 | "soup3", 3168 | "tao", 3169 | "thiserror", 3170 | "url", 3171 | "webkit2gtk", 3172 | "webkit2gtk-sys", 3173 | "webview2-com", 3174 | "windows 0.39.0", 3175 | "windows-implement", 3176 | ] 3177 | 3178 | [[package]] 3179 | name = "x11" 3180 | version = "2.21.0" 3181 | source = "registry+https://github.com/rust-lang/crates.io-index" 3182 | checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" 3183 | dependencies = [ 3184 | "libc", 3185 | "pkg-config", 3186 | ] 3187 | 3188 | [[package]] 3189 | name = "x11-dl" 3190 | version = "2.21.0" 3191 | source = "registry+https://github.com/rust-lang/crates.io-index" 3192 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" 3193 | dependencies = [ 3194 | "libc", 3195 | "once_cell", 3196 | "pkg-config", 3197 | ] 3198 | 3199 | [[package]] 3200 | name = "xattr" 3201 | version = "0.2.3" 3202 | source = "registry+https://github.com/rust-lang/crates.io-index" 3203 | checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" 3204 | dependencies = [ 3205 | "libc", 3206 | ] 3207 | -------------------------------------------------------------------------------- /src-tauri/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "tauri-app" 3 | version = "0.1.0" 4 | description = "A Tauri App" 5 | authors = ["you"] 6 | license = "" 7 | repository = "" 8 | edition = "2021" 9 | 10 | [lib] 11 | name = "tauri_app_lib" 12 | crate-type = ["staticlib", "cdylib", "rlib"] 13 | 14 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 15 | 16 | [build-dependencies] 17 | tauri-build = { version = "2.0.0-alpha.1", features = [] } 18 | 19 | [dependencies] 20 | tauri = { version = "2.0.0-alpha.3", features = ["shell-open"] } 21 | serde = { version = "1.0", features = ["derive"] } 22 | serde_json = "1.0" 23 | 24 | [features] 25 | # this feature is used for production builds or when `devPath` points to the filesystem 26 | # DO NOT REMOVE!! 27 | custom-protocol = ["tauri/custom-protocol"] 28 | -------------------------------------------------------------------------------- /src-tauri/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | tauri_build::build() 3 | } 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = false 12 | insert_final_newline = false -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | build 12 | /buildSrc/src/main/java/nu/simon/tauri_app/kotlin/BuildTask.kt 13 | /buildSrc/src/main/java/nu/simon/tauri_app/kotlin/RustPlugin.kt 14 | /captures 15 | .externalNativeBuild 16 | .cxx 17 | local.properties 18 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/.gitignore: -------------------------------------------------------------------------------- 1 | /src/main/java/nu/simon/tauri_app/generated 2 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("com.android.application") 3 | id("org.jetbrains.kotlin.android") 4 | id("rustPlugin") 5 | } 6 | 7 | android { 8 | compileSdk = 33 9 | defaultConfig { 10 | manifestPlaceholders["usesCleartextTraffic"] = "false" 11 | applicationId = "nu.simon.tauri_app" 12 | minSdk = 24 13 | targetSdk = 33 14 | versionCode = 1 15 | versionName = "1.0" 16 | } 17 | sourceSets.getByName("main") { 18 | // Vulkan validation layers 19 | val ndkHome = System.getenv("NDK_HOME") 20 | jniLibs.srcDir("${ndkHome}/sources/third_party/vulkan/src/build-android/jniLibs") 21 | } 22 | buildTypes { 23 | getByName("debug") { 24 | manifestPlaceholders["usesCleartextTraffic"] = "true" 25 | isDebuggable = true 26 | isJniDebuggable = true 27 | isMinifyEnabled = false 28 | packagingOptions { 29 | jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so") 30 | 31 | jniLibs.keepDebugSymbols.add("*/armeabi-v7a/*.so") 32 | 33 | jniLibs.keepDebugSymbols.add("*/x86/*.so") 34 | 35 | jniLibs.keepDebugSymbols.add("*/x86_64/*.so") 36 | } 37 | } 38 | getByName("release") { 39 | isMinifyEnabled = false 40 | proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") 41 | } 42 | } 43 | flavorDimensions.add("abi") 44 | productFlavors { 45 | create("universal") { 46 | val abiList = findProperty("abiList") as? String 47 | 48 | dimension = "abi" 49 | ndk { 50 | abiFilters += abiList?.split(",")?.map { it.trim() } ?: listOf( "arm64-v8a", "armeabi-v7a", "x86", "x86_64", 51 | ) 52 | } 53 | } 54 | create("arm64") { 55 | dimension = "abi" 56 | ndk { 57 | abiFilters += listOf("arm64-v8a") 58 | } 59 | } 60 | 61 | create("arm") { 62 | dimension = "abi" 63 | ndk { 64 | abiFilters += listOf("armeabi-v7a") 65 | } 66 | } 67 | 68 | create("x86") { 69 | dimension = "abi" 70 | ndk { 71 | abiFilters += listOf("x86") 72 | } 73 | } 74 | 75 | create("x86_64") { 76 | dimension = "abi" 77 | ndk { 78 | abiFilters += listOf("x86_64") 79 | } 80 | } 81 | } 82 | 83 | assetPacks += mutableSetOf() 84 | namespace = "nu.simon.tauri_app" 85 | } 86 | 87 | rust { 88 | rootDirRel = "../../../../" 89 | targets = listOf("aarch64", "armv7", "i686", "x86_64") 90 | arches = listOf("arm64", "arm", "x86", "x86_64") 91 | } 92 | 93 | dependencies { 94 | implementation("androidx.webkit:webkit:1.5.0") 95 | implementation("androidx.appcompat:appcompat:1.5.1") 96 | implementation("com.google.android.material:material:1.7.0") 97 | testImplementation("junit:junit:4.13.2") 98 | androidTestImplementation("androidx.test.ext:junit:1.1.4") 99 | androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0") 100 | } 101 | 102 | afterEvaluate { 103 | android.applicationVariants.all { 104 | tasks["mergeUniversalReleaseJniLibFolders"].dependsOn(tasks["rustBuildRelease"]) 105 | tasks["mergeUniversalDebugJniLibFolders"].dependsOn(tasks["rustBuildDebug"]) 106 | productFlavors.filter{ it.name != "universal" }.forEach { _ -> 107 | val archAndBuildType = name.capitalize() 108 | tasks["merge${archAndBuildType}JniLibFolders"].dependsOn(tasks["rustBuild${archAndBuildType}"]) 109 | } 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/java/nu/simon/tauri_app/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package nu.simon.tauri_app 2 | 3 | class MainActivity : TauriActivity() 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:320e552422179b81dae014ee6cc00561bd6e7455767b28f5518b8862a8c7987c 3 | size 3524 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7a9ae0632bfe5b28a1e6e9a7b38982fef62be07c95de46c26bd4f901ac6b9753 3 | size 14102 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:320e552422179b81dae014ee6cc00561bd6e7455767b28f5518b8862a8c7987c 3 | size 3524 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:75322a261ba38a23a25647af0d1298f204f3b3fafd317b8122a1b9a1f38284ff 3 | size 3377 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2425d59d27578f75ca97d31d9ae8385898badce3d6a1774bfc2f0fd191dc12c7 3 | size 9081 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:75322a261ba38a23a25647af0d1298f204f3b3fafd317b8122a1b9a1f38284ff 3 | size 3377 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:44e5c3dc1dfb392f65e3dbcc9b986d30f10dd95b57e306657e56281b572fa684 3 | size 7971 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b1d19b8b78d0ed6903dd35b7640afba29b4cf02f3780e0d1cd46d9ebcbc93695 3 | size 18900 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:44e5c3dc1dfb392f65e3dbcc9b986d30f10dd95b57e306657e56281b572fa684 3 | size 7971 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0b250fc4451dfd1e5a41128234d93225726a2984448b0b966af25677b167d8de 3 | size 12392 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ab9397c9827aef4b3a1f1f917fc722d54abcf26488880c8bf9c724d1e59ab905 3 | size 29506 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0b250fc4451dfd1e5a41128234d93225726a2984448b0b966af25677b167d8de 3 | size 12392 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:dae1ff05b101efea50e4b622fe6a3af8ba8f761162fa7c4fd864adc7cb39eeac 3 | size 16751 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:27cf0cdbc78bec8b9a14eaedb084c541a3c191fe5db89766e831fbfd21ce955d 3 | size 40510 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:dae1ff05b101efea50e4b622fe6a3af8ba8f761162fa7c4fd864adc7cb39eeac 3 | size 16751 4 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | 17 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | tauri-app 3 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | 17 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/build.gradle.kts: -------------------------------------------------------------------------------- 1 | import org.jetbrains.kotlin.gradle.tasks.KotlinCompile 2 | 3 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 4 | buildscript { 5 | repositories { 6 | google() 7 | mavenCentral() 8 | } 9 | dependencies { 10 | classpath("com.android.tools.build:gradle:7.3.1") 11 | classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10") 12 | // NOTE: Do not place your application dependencies here; they belong 13 | // in the individual module build.gradle files 14 | } 15 | } 16 | 17 | allprojects { 18 | repositories { 19 | google() 20 | mavenCentral() 21 | } 22 | } 23 | 24 | tasks.register("clean").configure { 25 | delete("build") 26 | } 27 | 28 | // https://kotlinlang.org/docs/gradle-configure-project.html#gradle-java-toolchains-support 29 | tasks.withType(JavaCompile::class.java) { 30 | sourceCompatibility = "11" 31 | targetCompatibility = "11" 32 | } 33 | 34 | tasks.withType(KotlinCompile::class.java) { 35 | kotlinOptions { 36 | jvmTarget = "11" 37 | } 38 | } -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/buildSrc/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `kotlin-dsl` 3 | } 4 | 5 | gradlePlugin { 6 | plugins { 7 | create("pluginsForCoolKids") { 8 | id = "rustPlugin" 9 | implementationClass = "nu.simon.RustPlugin" 10 | } 11 | } 12 | } 13 | 14 | repositories { 15 | google() 16 | mavenCentral() 17 | } 18 | 19 | dependencies { 20 | compileOnly(gradleApi()) 21 | implementation("com.android.tools.build:gradle:7.3.1") 22 | } 23 | 24 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | # Kotlin code style for this project: "official" or "obsolete": 19 | kotlin.code.style=official 20 | # Enables namespacing of each library's R class so that its R class includes only the 21 | # resources declared in the library itself and none from the library's dependencies, 22 | # thereby reducing the size of the R class for that library 23 | android.nonTransitiveRClass=true -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonhyll/devcontainer-tauri-android/00d6a50477b184a24037f6ae64b344120bab6a4c/src-tauri/gen/android/tauri_app/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue May 10 19:22:52 CST 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # 4 | # Copyright 2015 the original author or authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | ############################################################################## 20 | ## 21 | ## Gradle start up script for UN*X 22 | ## 23 | ############################################################################## 24 | 25 | # Attempt to set APP_HOME 26 | # Resolve links: $0 may be a link 27 | PRG="$0" 28 | # Need this for relative symlinks. 29 | while [ -h "$PRG" ] ; do 30 | ls=`ls -ld "$PRG"` 31 | link=`expr "$ls" : '.*-> \(.*\)$'` 32 | if expr "$link" : '/.*' > /dev/null; then 33 | PRG="$link" 34 | else 35 | PRG=`dirname "$PRG"`"/$link" 36 | fi 37 | done 38 | SAVED="`pwd`" 39 | cd "`dirname \"$PRG\"`/" >/dev/null 40 | APP_HOME="`pwd -P`" 41 | cd "$SAVED" >/dev/null 42 | 43 | APP_NAME="Gradle" 44 | APP_BASE_NAME=`basename "$0"` 45 | 46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 48 | 49 | # Use the maximum available, or set MAX_FD != -1 to use that value. 50 | MAX_FD="maximum" 51 | 52 | warn () { 53 | echo "$*" 54 | } 55 | 56 | die () { 57 | echo 58 | echo "$*" 59 | echo 60 | exit 1 61 | } 62 | 63 | # OS specific support (must be 'true' or 'false'). 64 | cygwin=false 65 | msys=false 66 | darwin=false 67 | nonstop=false 68 | case "`uname`" in 69 | CYGWIN* ) 70 | cygwin=true 71 | ;; 72 | Darwin* ) 73 | darwin=true 74 | ;; 75 | MINGW* ) 76 | msys=true 77 | ;; 78 | NONSTOP* ) 79 | nonstop=true 80 | ;; 81 | esac 82 | 83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 84 | 85 | 86 | # Determine the Java command to use to start the JVM. 87 | if [ -n "$JAVA_HOME" ] ; then 88 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 89 | # IBM's JDK on AIX uses strange locations for the executables 90 | JAVACMD="$JAVA_HOME/jre/sh/java" 91 | else 92 | JAVACMD="$JAVA_HOME/bin/java" 93 | fi 94 | if [ ! -x "$JAVACMD" ] ; then 95 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 96 | 97 | Please set the JAVA_HOME variable in your environment to match the 98 | location of your Java installation." 99 | fi 100 | else 101 | JAVACMD="java" 102 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 103 | 104 | Please set the JAVA_HOME variable in your environment to match the 105 | location of your Java installation." 106 | fi 107 | 108 | # Increase the maximum file descriptors if we can. 109 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 110 | MAX_FD_LIMIT=`ulimit -H -n` 111 | if [ $? -eq 0 ] ; then 112 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 113 | MAX_FD="$MAX_FD_LIMIT" 114 | fi 115 | ulimit -n $MAX_FD 116 | if [ $? -ne 0 ] ; then 117 | warn "Could not set maximum file descriptor limit: $MAX_FD" 118 | fi 119 | else 120 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 121 | fi 122 | fi 123 | 124 | # For Darwin, add options to specify how the application appears in the dock 125 | if $darwin; then 126 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 127 | fi 128 | 129 | # For Cygwin or MSYS, switch paths to Windows format before running java 130 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then 131 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 132 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 133 | 134 | JAVACMD=`cygpath --unix "$JAVACMD"` 135 | 136 | # We build the pattern for arguments to be converted via cygpath 137 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 138 | SEP="" 139 | for dir in $ROOTDIRSRAW ; do 140 | ROOTDIRS="$ROOTDIRS$SEP$dir" 141 | SEP="|" 142 | done 143 | OURCYGPATTERN="(^($ROOTDIRS))" 144 | # Add a user-defined pattern to the cygpath arguments 145 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 146 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 147 | fi 148 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 149 | i=0 150 | for arg in "$@" ; do 151 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 152 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 153 | 154 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 155 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 156 | else 157 | eval `echo args$i`="\"$arg\"" 158 | fi 159 | i=`expr $i + 1` 160 | done 161 | case $i in 162 | 0) set -- ;; 163 | 1) set -- "$args0" ;; 164 | 2) set -- "$args0" "$args1" ;; 165 | 3) set -- "$args0" "$args1" "$args2" ;; 166 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;; 167 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 168 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 169 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 170 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 171 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 172 | esac 173 | fi 174 | 175 | # Escape application args 176 | save () { 177 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 178 | echo " " 179 | } 180 | APP_ARGS=`save "$@"` 181 | 182 | # Collect all arguments for the java command, following the shell quoting and substitution rules 183 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 184 | 185 | exec "$JAVACMD" "$@" 186 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if "%ERRORLEVEL%" == "0" goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if "%ERRORLEVEL%"=="0" goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 84 | exit /b 1 85 | 86 | :mainEnd 87 | if "%OS%"=="Windows_NT" endlocal 88 | 89 | :omega 90 | -------------------------------------------------------------------------------- /src-tauri/gen/android/tauri_app/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /src-tauri/icons/128x128.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:19b4fec485db7df51a691fcce72a3dd6f983e754fc4262da7154e4a4c688f69e 3 | size 3512 4 | -------------------------------------------------------------------------------- /src-tauri/icons/128x128@2x.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6c7660390d65217fe8de0892862254f47aee77e0af7096c75b8bfe168c5403f7 3 | size 7012 4 | -------------------------------------------------------------------------------- /src-tauri/icons/32x32.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:1c6782dc65c8111c12cbc1882a0fea5e71ab8e51b18da2ce9580f5c88860ed02 3 | size 974 4 | -------------------------------------------------------------------------------- /src-tauri/icons/Square107x107Logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:54f7a0f58c96a4b023c1edc4b53fc443e27dace50e345f6936fa29bc20f785ca 3 | size 2863 4 | -------------------------------------------------------------------------------- /src-tauri/icons/Square142x142Logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:fec1e2080ca73cd4c4a123b23b1cd364059a8a8efeba3076e21dfefed390693b 3 | size 3858 4 | -------------------------------------------------------------------------------- /src-tauri/icons/Square150x150Logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:65fb570cb0e61ffce02ad67784cb200a0bf058400300980a46fa0d0c8f43a77a 3 | size 3966 4 | -------------------------------------------------------------------------------- /src-tauri/icons/Square284x284Logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ea0b7c5d4b1d1ab9c91d2f7c9b069c8dfbf4557b0649a5777d47332cde610262 3 | size 7737 4 | -------------------------------------------------------------------------------- /src-tauri/icons/Square30x30Logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cc72279c41b4ed343e8db7e7541ceef7b6b23edaa83d4e7338421dfcb8d63c33 3 | size 903 4 | -------------------------------------------------------------------------------- /src-tauri/icons/Square310x310Logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9733a89c539115de3c49bd06720bfc99639d9a918f5df48a810e267cf3554119 3 | size 8591 4 | -------------------------------------------------------------------------------- /src-tauri/icons/Square44x44Logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:10be9840e58fb018eb9029601d42008e16c0c9cfa66b8f9467fee94f600160d4 3 | size 1299 4 | -------------------------------------------------------------------------------- /src-tauri/icons/Square71x71Logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2937fc83324cd9a1fddcfefd5927c791af31996a6840bfb3e2f1d578ad4129de 3 | size 2011 4 | -------------------------------------------------------------------------------- /src-tauri/icons/Square89x89Logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:12aed0e7ee06cb631427dc9da72c0c7ecf03857fbc4884d0c31f78314feb6c7f 3 | size 2468 4 | -------------------------------------------------------------------------------- /src-tauri/icons/StoreLogo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:91a54024dd47230991546088f2e75d3e3199b3ccc9fe40f3f6b7d3bf1cbf7776 3 | size 1523 4 | -------------------------------------------------------------------------------- /src-tauri/icons/icon.icns: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3dc10493b7de48a61de58f768f8a5708d3a44a068c148cedf0502b9b9b71ba5d 3 | size 98451 4 | -------------------------------------------------------------------------------- /src-tauri/icons/icon.ico: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:392206b573a809997f3ff16fe68f456a52e931c372107eade9572b329bbe3321 3 | size 86642 4 | -------------------------------------------------------------------------------- /src-tauri/icons/icon.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:273cd669e07c455ad1c7c095890a37984652157cee73128a867300067dfb80e7 3 | size 14183 4 | -------------------------------------------------------------------------------- /src-tauri/src/lib.rs: -------------------------------------------------------------------------------- 1 | // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command 2 | #[tauri::command] 3 | fn greet(name: &str) -> String { 4 | format!("Hello, {}! You've been greeted from Rust!", name) 5 | } 6 | 7 | #[cfg_attr(mobile, tauri::mobile_entry_point)] 8 | pub fn run() { 9 | tauri::Builder::default() 10 | .invoke_handler(tauri::generate_handler![greet]) 11 | .run(tauri::generate_context!()) 12 | .expect("error while running tauri application"); 13 | } 14 | -------------------------------------------------------------------------------- /src-tauri/src/main.rs: -------------------------------------------------------------------------------- 1 | // Prevents additional console window on Windows in release, DO NOT REMOVE!! 2 | #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] 3 | 4 | fn main() { 5 | #[cfg(desktop)] 6 | tauri_app_lib::run(); 7 | } 8 | -------------------------------------------------------------------------------- /src-tauri/tauri.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "beforeDevCommand": "pnpm dev", 4 | "beforeBuildCommand": "pnpm build", 5 | "devPath": "http://localhost:1420", 6 | "distDir": "../dist", 7 | "withGlobalTauri": true 8 | }, 9 | "package": { 10 | "productName": "tauri-app" 11 | }, 12 | "tauri": { 13 | "allowlist": { 14 | "all": false, 15 | "shell": { 16 | "all": false, 17 | "open": true 18 | } 19 | }, 20 | "bundle": { 21 | "active": true, 22 | "icon": [ 23 | "icons/32x32.png", 24 | "icons/128x128.png", 25 | "icons/128x128@2x.png", 26 | "icons/icon.icns", 27 | "icons/icon.ico" 28 | ], 29 | "identifier": "nu.simon.hyll-tauri-app", 30 | "targets": "all" 31 | }, 32 | "security": { 33 | "csp": null 34 | }, 35 | "updater": { 36 | "active": false 37 | }, 38 | "windows": [ 39 | { 40 | "fullscreen": false, 41 | "resizable": true, 42 | "title": "tauri-app", 43 | "width": 800, 44 | "height": 600 45 | } 46 | ] 47 | } 48 | } -------------------------------------------------------------------------------- /src/assets/tauri.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/typescript.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 10 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/assets/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { invoke } from "@tauri-apps/api/tauri"; 2 | 3 | let greetInputEl: HTMLInputElement | null; 4 | let greetMsgEl: HTMLElement | null; 5 | 6 | async function greet() { 7 | if (greetMsgEl && greetInputEl) { 8 | // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command 9 | greetMsgEl.textContent = await invoke("greet", { 10 | name: greetInputEl.value, 11 | }); 12 | } 13 | } 14 | 15 | window.addEventListener("DOMContentLoaded", () => { 16 | greetInputEl = document.querySelector("#greet-input"); 17 | greetMsgEl = document.querySelector("#greet-msg"); 18 | document 19 | .querySelector("#greet-button") 20 | ?.addEventListener("click", () => greet()); 21 | }); 22 | -------------------------------------------------------------------------------- /src/styles.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: Inter, Avenir, Helvetica, Arial, sans-serif; 3 | font-size: 16px; 4 | line-height: 24px; 5 | font-weight: 400; 6 | 7 | color: #0f0f0f; 8 | background-color: #f6f6f6; 9 | 10 | font-synthesis: none; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | -webkit-text-size-adjust: 100%; 15 | } 16 | 17 | .container { 18 | margin: 0; 19 | padding-top: 10vh; 20 | display: flex; 21 | flex-direction: column; 22 | justify-content: center; 23 | text-align: center; 24 | } 25 | 26 | .logo { 27 | height: 6em; 28 | padding: 1.5em; 29 | will-change: filter; 30 | transition: 0.75s; 31 | } 32 | 33 | .logo.tauri:hover { 34 | filter: drop-shadow(0 0 2em #24c8db); 35 | } 36 | 37 | .row { 38 | display: flex; 39 | justify-content: center; 40 | } 41 | 42 | a { 43 | font-weight: 500; 44 | color: #646cff; 45 | text-decoration: inherit; 46 | } 47 | 48 | a:hover { 49 | color: #535bf2; 50 | } 51 | 52 | h1 { 53 | text-align: center; 54 | } 55 | 56 | input, 57 | button { 58 | border-radius: 8px; 59 | border: 1px solid transparent; 60 | padding: 0.6em 1.2em; 61 | font-size: 1em; 62 | font-weight: 500; 63 | font-family: inherit; 64 | color: #0f0f0f; 65 | background-color: #ffffff; 66 | transition: border-color 0.25s; 67 | box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); 68 | } 69 | 70 | button { 71 | cursor: pointer; 72 | } 73 | 74 | button:hover { 75 | border-color: #396cd8; 76 | } 77 | button:active { 78 | border-color: #396cd8; 79 | background-color: #e8e8e8; 80 | } 81 | 82 | input, 83 | button { 84 | outline: none; 85 | } 86 | 87 | #greet-input { 88 | margin-right: 5px; 89 | } 90 | 91 | @media (prefers-color-scheme: dark) { 92 | :root { 93 | color: #f6f6f6; 94 | background-color: #2f2f2f; 95 | } 96 | 97 | a:hover { 98 | color: #24c8db; 99 | } 100 | 101 | input, 102 | button { 103 | color: #ffffff; 104 | background-color: #0f0f0f98; 105 | } 106 | button:active { 107 | background-color: #0f0f0f69; 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "module": "ESNext", 5 | "lib": ["ESNext", "DOM"], 6 | "moduleResolution": "Node", 7 | "strict": true, 8 | "sourceMap": true, 9 | "resolveJsonModule": true, 10 | "esModuleInterop": true, 11 | "types": ["vite/client"], 12 | "noEmit": true, 13 | "noUnusedLocals": true, 14 | "noUnusedParameters": true, 15 | "noImplicitReturns": true 16 | }, 17 | "include": ["./src"] 18 | } 19 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import { internalIpV4 } from "internal-ip"; 3 | 4 | const mobile = 5 | process.env.TAURI_PLATFORM === "android" || 6 | process.env.TAURI_PLATFORM === "ios"; 7 | 8 | // https://vitejs.dev/config/ 9 | export default defineConfig(async () => ({ 10 | // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` 11 | // prevent vite from obscuring rust errors 12 | clearScreen: false, 13 | // tauri expects a fixed port, fail if that port is not available 14 | server: { 15 | host: "0.0.0.0", 16 | port: 1420, 17 | hmr: mobile 18 | ? { 19 | protocol: "ws", 20 | host: await internalIpV4(), 21 | port: 1421, 22 | } 23 | : undefined, 24 | strictPort: true, 25 | }, 26 | // to make use of `TAURI_DEBUG` and other env variables 27 | // https://tauri.studio/v1/api/config#buildconfig.beforedevcommand 28 | envPrefix: ["VITE_", "TAURI_"], 29 | build: { 30 | // Tauri supports es2021 31 | target: process.env.TAURI_PLATFORM == "windows" ? "chrome105" : "safari13", 32 | // don't minify for debug builds 33 | minify: !process.env.TAURI_DEBUG ? "esbuild" : false, 34 | // produce sourcemaps for debug builds 35 | sourcemap: !!process.env.TAURI_DEBUG, 36 | }, 37 | })); 38 | --------------------------------------------------------------------------------