Compare commits
No commits in common. "main" and "v1.0.7" have entirely different histories.
8 changed files with 35 additions and 107 deletions
30
.github/workflows/release.yml
vendored
30
.github/workflows/release.yml
vendored
|
|
@ -206,33 +206,3 @@ jobs:
|
|||
done
|
||||
|
||||
echo "Forgejo release published successfully."
|
||||
|
||||
- name: Update Homebrew Tap Cask
|
||||
env:
|
||||
FORGEJO_PAT: ${{ secrets.FORGEJO_PAT }}
|
||||
RELEASE_VERSION: ${{ needs.bump-version.outputs.version }}
|
||||
run: |
|
||||
DMG_FILE=$(find dist -name "*.dmg" | head -n 1)
|
||||
if [ -z "$DMG_FILE" ] || [ ! -f "$DMG_FILE" ]; then
|
||||
echo "::error::No DMG file found in dist/ to update Homebrew Cask."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SHA256=$(sha256sum "$DMG_FILE" | awk '{print $1}')
|
||||
echo "Calculated DMG SHA256: ${SHA256} for version ${RELEASE_VERSION}"
|
||||
|
||||
echo "Cloning homebrew-tap repository..."
|
||||
git clone "https://rukira:${FORGEJO_PAT}@git.asarius.site/rukira/homebrew-tap.git" tap-repo
|
||||
cd tap-repo
|
||||
|
||||
echo "Updating Casks/wow-backup.rb..."
|
||||
sed -i "s/version \".*\"/version \"${RELEASE_VERSION}\"/" Casks/wow-backup.rb
|
||||
sed -i "s/sha256 \".*\"/sha256 \"${SHA256}\"/" Casks/wow-backup.rb
|
||||
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add Casks/wow-backup.rb
|
||||
git commit -m "chore(cask): update wow-backup to v${RELEASE_VERSION}" || echo "No changes to commit"
|
||||
git push origin main
|
||||
|
||||
echo "Homebrew tap updated successfully."
|
||||
|
|
|
|||
70
INSTALL.md
70
INSTALL.md
|
|
@ -14,6 +14,24 @@ _Note: The Linux version is untested and experimental. Use at your own risk._
|
|||
|
||||
---
|
||||
|
||||
## macOS
|
||||
|
||||
1. Download the `.dmg` file from the latest release.
|
||||
2. Double-click the `.dmg` file to mount the disk image.
|
||||
3. Drag **WoW Backup.app** into your `/Applications` folder.
|
||||
4. Eject the disk image.
|
||||
|
||||
### Unsigned Application / Gatekeeper Notice
|
||||
Because WoW Backup is distributed without Apple Developer ID code-signing notarization, macOS Gatekeeper may show a warning on first launch (*"WoW Backup cannot be opened because the developer cannot be verified"* or *"Apple could not verify that WoW Backup is free of malware"*).
|
||||
|
||||
To launch the app for the first time:
|
||||
1. Open **System Settings**
|
||||
2. Navigate to **Security & Privacy**.
|
||||
3. Click **Open Anyway** under **Allow apps downloaded from**.
|
||||
4. Restart WoW Backup.
|
||||
|
||||
---
|
||||
|
||||
## Windows
|
||||
|
||||
1. Download the `.msi` installer from the latest release.
|
||||
|
|
@ -28,58 +46,6 @@ If Windows Defender SmartScreen flags the installer (*"Windows protected your PC
|
|||
|
||||
---
|
||||
|
||||
## macOS
|
||||
|
||||
### Option 1: Manual DMG Download
|
||||
|
||||
1. Download the `.dmg` file from the **[latest release](https://git.asarius.site/rukira/wow-backup/releases/latest)**.
|
||||
2. Double-click the `.dmg` file to mount the disk image.
|
||||
3. Drag **WoW Backup.app** into your `/Applications` folder.
|
||||
4. Eject the disk image.
|
||||
|
||||
#### Unsigned Application / Gatekeeper Notice
|
||||
Because WoW Backup is distributed without Apple Developer ID code-signing notarization, macOS Gatekeeper may show a warning on first launch (*"WoW Backup cannot be opened because the developer cannot be verified"* or *"Apple could not verify that WoW Backup is free of malware"*).
|
||||
|
||||
To launch the app:
|
||||
|
||||
- **Terminal (Fastest):** Run the following command to strip the quarantine attribute:
|
||||
```shell
|
||||
xattr -cr "/Applications/WoW Backup.app"
|
||||
```
|
||||
- **macOS System Settings:**
|
||||
1. Open **System Settings** → **Privacy & Security**.
|
||||
2. Scroll down to the **Security** section.
|
||||
3. Click **Open Anyway** next to the WoW Backup notice.
|
||||
4. Confirm and launch the app.
|
||||
|
||||
---
|
||||
|
||||
### Option 2: Install via [Homebrew](https://brew.sh/)
|
||||
|
||||
**Install:**
|
||||
1. Add the tap:
|
||||
```shell
|
||||
brew tap rukira/tap https://git.asarius.site/rukira/homebrew-tap.git
|
||||
```
|
||||
|
||||
2. Install WoW Backup:
|
||||
```shell
|
||||
brew install --cask wow-backup
|
||||
```
|
||||
|
||||
**Update:**
|
||||
```shell
|
||||
brew update
|
||||
brew upgrade --cask wow-backup
|
||||
```
|
||||
|
||||
**Uninstall:**
|
||||
```shell
|
||||
brew uninstall --cask --zap wow-backup
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Linux (Experimental)
|
||||
|
||||
1. Download the `.deb` package from the latest release.
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@ kotlin {
|
|||
|
||||
sourceSets {
|
||||
commonMain.dependencies {
|
||||
implementation(libs.compose.runtime)
|
||||
implementation(libs.compose.foundation)
|
||||
implementation(libs.compose.material3)
|
||||
implementation(libs.compose.ui)
|
||||
implementation(libs.compose.components.resources)
|
||||
implementation(libs.compose.components.uiToolingPreview)
|
||||
implementation(compose.runtime)
|
||||
implementation(compose.foundation)
|
||||
implementation(compose.material3)
|
||||
implementation(compose.ui)
|
||||
implementation(compose.components.resources)
|
||||
implementation(compose.components.uiToolingPreview)
|
||||
implementation(libs.androidx.lifecycle.viewmodelCompose)
|
||||
implementation(libs.androidx.lifecycle.runtimeCompose)
|
||||
}
|
||||
|
|
@ -42,8 +42,7 @@ val appVersion = providers.gradleProperty("appVersion").orNull?.takeIf { it.isNo
|
|||
|
||||
val generatedSrcDir = layout.buildDirectory.dir("generated/src/jvmMain/kotlin")
|
||||
|
||||
val generateBuildConfig = tasks.register("generateBuildConfig") {
|
||||
description = "Generates BuildConfig.kt"
|
||||
val generateBuildConfig by tasks.registering {
|
||||
val outputDir = generatedSrcDir
|
||||
val version = appVersion
|
||||
inputs.property("version", version)
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ fun WoWBackupTheme(
|
|||
|
||||
DynamicMaterialTheme(
|
||||
seedColor = accentColor.seedColor,
|
||||
isDark = useDarkTheme,
|
||||
useDarkTheme = useDarkTheme,
|
||||
content = content,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 259 KiB After Width: | Height: | Size: 246 KiB |
Binary file not shown.
|
|
@ -1,25 +1,18 @@
|
|||
[versions]
|
||||
androidx-lifecycle = "2.11.0"
|
||||
composeMaterial3 = "1.9.0"
|
||||
composeMultiplatform = "1.11.1"
|
||||
androidx-lifecycle = "2.10.0-alpha08"
|
||||
composeMultiplatform = "1.11.0-alpha03"
|
||||
kotlin = "2.2.21"
|
||||
kotlinx-coroutines = "1.11.0"
|
||||
kotlinx-datetime = "0.8.0"
|
||||
kotlinx-serialization = "1.11.0"
|
||||
kotlinx-coroutines = "1.10.2"
|
||||
kotlinx-datetime = "0.6.2"
|
||||
kotlinx-serialization = "1.10.0"
|
||||
cardiologist = "0.8.0"
|
||||
kotlin-logging = "8.0.4"
|
||||
logback = "1.5.38"
|
||||
materialKolor = "4.0.5"
|
||||
kotlin-logging = "7.0.3"
|
||||
logback = "1.5.18"
|
||||
materialKolor = "2.0.0"
|
||||
|
||||
[libraries]
|
||||
androidx-lifecycle-viewmodelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
|
||||
androidx-lifecycle-runtimeCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
|
||||
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeMultiplatform" }
|
||||
compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "composeMultiplatform" }
|
||||
compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "composeMaterial3" }
|
||||
compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMultiplatform" }
|
||||
compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" }
|
||||
compose-components-uiToolingPreview = { module = "org.jetbrains.compose.components:components-ui-tooling-preview", version.ref = "composeMultiplatform" }
|
||||
kotlinx-coroutinesSwing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" }
|
||||
kotlinx-coroutinesTest = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" }
|
||||
kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" }
|
||||
|
|
|
|||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
|
@ -1,6 +1,6 @@
|
|||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue