diff --git a/CHANGELOG.md b/CHANGELOG.md index 4dc8993..33ebb2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ ## Changelog -#### 2023-06-12 +#### v1.1.0 +- Fix immediate crash on MacOS: now database and logs are stored under user's home +directory: `~/pstorage-multiplatform` +- MacOS build info enriched with app category, BundleID specified explicitly. + +**Note:** if you already used `v1.0.1` - you should move a database file from `/pstorage.data.db` +to `/pstorage-multiplatform/pstorage.data.db` + +#### v1.0.1 - Application MVP: - authorization - system tray with way to reopen app, copy password or exit diff --git a/README.md b/README.md index d1ece8c..84aaaaf 100644 --- a/README.md +++ b/README.md @@ -71,12 +71,17 @@ On screenshot: authorized. - Exit button. -## How to install +## How to install on Windows 1. Download release build for your system from "Releases" section. -2. Run installation file. -3. Open `pstorage-multiplatform.exe` in the root of installed directory. Be free to move - application to another place or to another PC as whole directory. +2. Run `.msi` installation file. +3. Open `pstorage-multiplatform.exe` in the root of installed directory. + +## How to install on MacOS + +1. Download release build for your system from "Releases" section. +2. Run `.dmg` installation file. Drag `pstorage-multiplatform.app` into "Application" directory. +3. Open `pstorage-multiplatform.app`. ## How to build diff --git a/build.gradle.kts b/build.gradle.kts index 8c68188..7e3fc9a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,6 +16,7 @@ plugins { group = "com.github.shaart" version = extra["app.version"].toString() val applicationName = "pstorage-multiplatform" +val fullAppPackage = "com.github.shaart.pstorage.multiplatform" repositories { google() @@ -102,6 +103,11 @@ compose.desktop { val iconsDir = project.file(iconsDirPath) macOS { iconFile.set(iconsDir.resolve("icon64.icns")) + bundleID = fullAppPackage + appCategory = "public.app-category.utilities" + signing { + sign.set(false) + } } linux { iconFile.set(iconsDir.resolve("icon64.png")) diff --git a/gradle.properties b/gradle.properties index 1e5d5f6..292cb0b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # pstorage version -app.version=1.0.1 +app.version=1.1.0 kotlin.code.style=official kotlin.version=1.8.20 diff --git a/src/commonMain/kotlin/com/github/shaart/pstorage/multiplatform/config/PstorageProperties.kt b/src/commonMain/kotlin/com/github/shaart/pstorage/multiplatform/config/PstorageProperties.kt index c163fba..8d9048c 100644 --- a/src/commonMain/kotlin/com/github/shaart/pstorage/multiplatform/config/PstorageProperties.kt +++ b/src/commonMain/kotlin/com/github/shaart/pstorage/multiplatform/config/PstorageProperties.kt @@ -2,6 +2,8 @@ package com.github.shaart.pstorage.multiplatform.config import java.util.* +private val userHomePath = System.getProperty("user.home") + data class PstorageProperties( var applicationName: String = "pstorage", var version: Version = Version(), @@ -58,7 +60,7 @@ data class UsernameLength( ) data class Database( - var url: String = "jdbc:sqlite:pstorage.data.db", + var url: String = "jdbc:sqlite:$userHomePath/pstorage-multiplatform/pstorage.data.db", var username: String? = null, var password: String? = null, ) diff --git a/src/commonMain/resources/logback.xml b/src/commonMain/resources/logback.xml index 2cec67e..2f8e23a 100644 --- a/src/commonMain/resources/logback.xml +++ b/src/commonMain/resources/logback.xml @@ -1,5 +1,5 @@ - +