diff --git a/README.md b/README.md index 401b1d8..5693a43 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,7 @@ ![Icon](https://raw.githubusercontent.com/SimonSchubert/LinuxCommandLibrary/master/art/web_hi_res_144.png) -The app currently has **5055** manual pages, **22+** basic categories and a bunch of general -terminal tips. It works 100% offline, doesn't need an internet connection and has no tracking -software. +The app currently has **5547** manual pages, **22+** basic categories and a bunch of general terminal tips. It works 100% offline, doesn't need an internet connection and has no tracking software. [![Play Store](https://raw.githubusercontent.com/SimonSchubert/LinuxCommandBibliotheca/master/art/play_store_badge.png)](https://play.google.com/store/apps/details?id=com.inspiredandroid.linuxcommandbibliotheca) [![F-Droid](https://raw.githubusercontent.com/SimonSchubert/LinuxCommandBibliotheca/master/art/fdroid_badge.png)](https://f-droid.org/en/packages/com.inspiredandroid.linuxcommandbibliotheca/) @@ -32,37 +30,27 @@ Execute `gradle :cli:buildJar` to create jar file for Linux, Windows and Mac. #### Categories -One-liners, System information, System control, Users & Groups, Files & Folders, Input, Printing, -JSON, Network, Search & Find, GIT, SSH, Video & Audio, Package manager, Hacking tools, Terminal -games, Crypto currencies, VIM Texteditor, Emacs Texteditor, Nano Texteditor, Pico Texteditor, Micro -Texteditor +One-liners, System information, System control, Users & Groups, Files & Folders, Input, Printing, JSON, Network, Search & Find, GIT, SSH, Video & Audio, Package manager, Hacking tools, Terminal games, Crypto currencies, VIM Texteditor, Emacs Texteditor, Nano Texteditor, Pico Texteditor, Micro Texteditor #### Tips -Clear and reset the terminal, List of recent commands, Close a frozen window/application, Tab -Completion, Temporary aliases, Permanent aliases, Chain commands, Command syntax, Cursor navigation, -Redirection, Special characters in commands, View file permissions, Modify file permissions, Set -file permissions via binary references +Clear and reset the terminal, List of recent commands, Close a frozen window/application, Tab Completion, Temporary aliases, Permanent aliases, Chain commands, Command syntax, Cursor navigation, Redirection, Special characters in commands, View file permissions, Modify file permissions, Set file permissions via binary references ### CI/CD -[Github Action](.github/workflows/android.yml) to automatically create a new Github release with APK -and JAR and upload an AAB to the Play Store. +[Github Action](.github/workflows/android.yml) to automatically create a new Github release with APK and JAR and upload an AAB to the Play Store. ### Tests -Android Jetpack Compose screen -tests: [ComposeTests.kt](android/src/androidTest/java/com/inspiredandroid/linuxcommandbibliotheca/ComposeTests.kt) +Android Jetpack Compose screen tests: [ComposeTests.kt](android/src/androidTest/java/com/inspiredandroid/linuxcommandbibliotheca/ComposeTests.kt) -Android Jetpack Compose deeplinking -tests: [ComposeDeeplinkTests.kt](android/src/androidTest/java/com/inspiredandroid/linuxcommandbibliotheca/ComposeDeeplinkTests.kt) +Android Jetpack Compose deeplinking tests: [ComposeDeeplinkTests.kt](android/src/androidTest/java/com/inspiredandroid/linuxcommandbibliotheca/ComposeDeeplinkTests.kt) Common code unit tests: [CommonTests.kt](common/src/commonTest/kotlin/CommonTests.kt) ### Licensing -The source code is licensed under the Apache 2.0 license and the copyright of the man pages in -the `database.db` file are copyrighted by their respective authors. +The source code is licensed under the Apache 2.0 license and the copyright of the man pages in the `database.db` file are copyrighted by their respective authors. ### Thanks to diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 5d13950..4aab632 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -12,7 +12,7 @@ repositories { dependencies { implementation(project(":common")) - implementation("androidx.activity:activity-compose:1.8.0") + implementation("androidx.activity:activity-compose:1.8.1") implementation("androidx.compose.material:material:1.5.4") implementation("androidx.navigation:navigation-compose:2.7.5") implementation("com.google.accompanist:accompanist-appcompat-theme:0.32.0") @@ -62,7 +62,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion = "1.5.4" + kotlinCompilerExtensionVersion = "1.5.6" } compileOptions { diff --git a/build.gradle.kts b/build.gradle.kts index 94c37bc..e26ac9c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,7 @@ import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask plugins { - id("com.github.ben-manes.versions") version "0.49.0" + id("com.github.ben-manes.versions") version "0.50.0" } buildscript { @@ -11,14 +11,14 @@ buildscript { mavenCentral() } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20") - classpath("com.android.tools.build:gradle:8.1.3") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.21") + classpath("com.android.tools.build:gradle:8.2.0") classpath("com.squareup.sqldelight:gradle-plugin:1.5.5") } } group = "org.example" -version = "3.2.3" +version = "3.2.4" allprojects { repositories { diff --git a/cli/build.gradle.kts b/cli/build.gradle.kts index bcdcbca..282b08c 100644 --- a/cli/build.gradle.kts +++ b/cli/build.gradle.kts @@ -1,56 +1,39 @@ plugins { - kotlin("multiplatform") - application + kotlin("jvm") } group = "com.linuxcommandlibrary" version = parent!!.version +dependencies { + implementation(project(":common")) + implementation("com.squareup.sqldelight:sqlite-driver:1.5.5") +} + kotlin { - jvm { - compilations.all { - kotlinOptions.jvmTarget = "17" + compilerOptions { + sourceSets["main"].apply { + resources.srcDirs("../assets") } - withJava() - compilations { - val main = getByName("main") - tasks { - register("buildJar") { - group = "application" - dependsOn(build) - - destinationDirectory.set(file("$projectDir/out")) - archiveFileName.set("linuxcommandlibrary.jar") + } +} - duplicatesStrategy = DuplicatesStrategy.INCLUDE - exclude("META-INF/*.RSA", "META-INF/*.SF","META-INF/*.DSA") +val createJar = tasks.register("createJar", Jar::class) { + archiveBaseName.set("MyApplication") + from(sourceSets["main"].output) - manifest { - attributes["Main-Class"] = "com.linuxcommandlibrary.desktop.ConsoleApplicationKt" - } - from(configurations.getByName("runtimeClasspath").map { if (it.isDirectory) it else zipTree(it) }, main.output.classesDirs) - archiveBaseName.set("${project.name}-fat2") - } - } - } + archiveFileName.set("linuxcommandlibrary.jar") + manifest { + attributes["Main-Class"] = "com.linuxcommandlibrary.cli.ConsoleApplicationKt" } + from(configurations.getByName("runtimeClasspath").map { if (it.isDirectory) it else zipTree(it) }) - sourceSets { - val jvmMain by getting { - dependencies { - implementation(project(":common")) - } - } - val jvmTest by getting - } + duplicatesStrategy = DuplicatesStrategy.INCLUDE + exclude("META-INF/*.RSA", "META-INF/*.SF","META-INF/*.DSA") } tasks.processResources { val contents = "version=${version}" - val file = File("cli/src/jvmMain/resources", "application.properties") + val file = File("cli/src/main/resources", "application.properties") file.writeText(contents) -} - -application { - mainClass.set("ConsoleApplicationKt") -} +} \ No newline at end of file diff --git a/cli/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/ConsoleApplication.kt b/cli/src/main/kotlin/com/linuxcommandlibrary/cli/ConsoleApplication.kt similarity index 99% rename from cli/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/ConsoleApplication.kt rename to cli/src/main/kotlin/com/linuxcommandlibrary/cli/ConsoleApplication.kt index 865f0cb..4b8ef5b 100644 --- a/cli/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/ConsoleApplication.kt +++ b/cli/src/main/kotlin/com/linuxcommandlibrary/cli/ConsoleApplication.kt @@ -1,4 +1,4 @@ -package com.linuxcommandlibrary.desktop +package com.linuxcommandlibrary.cli import com.linuxcommandlibrary.shared.databaseHelper import com.linuxcommandlibrary.shared.getCurrentVersion diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 1e16bef..b92fd51 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -1,5 +1,3 @@ -// import org.jetbrains.compose.compose - repositories { google() } @@ -15,37 +13,29 @@ version = "1.0" kotlin { androidTarget() - jvm("desktop") { - compilations.all { - kotlinOptions.jvmTarget = "17" - } - } + jvm() + sourceSets { - val commonMain by getting { + commonMain { dependencies { - - // implementation("androidx.compose.runtime:runtime:1.4.4") + implementation("com.squareup.sqldelight:runtime:1.5.5") } } - val commonTest by getting { + commonTest { dependencies { implementation(kotlin("test")) } } - val androidMain by getting { + androidMain { dependencies { - api("androidx.appcompat:appcompat:1.6.1") - api("androidx.core:core-ktx:1.12.0") implementation("com.squareup.sqldelight:android-driver:1.5.5") } } - val desktopMain by getting { + jvmMain { dependencies { implementation("com.squareup.sqldelight:sqlite-driver:1.5.5") } - resources.setSrcDirs(listOf("../assets", "../cli/src/jvmMain/resources")) } - val desktopTest by getting } } diff --git a/common/src/desktopMain/kotlin/com/linuxcommandlibrary/shared/platform.kt b/common/src/jvmMain/kotlin/com/linuxcommandlibrary/shared/platform.kt similarity index 100% rename from common/src/desktopMain/kotlin/com/linuxcommandlibrary/shared/platform.kt rename to common/src/jvmMain/kotlin/com/linuxcommandlibrary/shared/platform.kt diff --git a/desktop/build.gradle.kts b/desktop/build.gradle.kts index e825505..9d5f970 100644 --- a/desktop/build.gradle.kts +++ b/desktop/build.gradle.kts @@ -1,26 +1,22 @@ plugins { - kotlin("multiplatform") + kotlin("jvm") } group = "com.linuxcommandlibrary" version = "1.0" +dependencies { + implementation(project(":common")) + implementation("org.jetbrains.kotlinx:kotlinx-html-jvm:0.9.1") + implementation("org.json:json:20231013") + implementation("com.squareup.sqldelight:sqlite-driver:1.5.5") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3") +} + kotlin { - jvm { - compilations.all { - kotlinOptions.jvmTarget = "17" - } - withJava() - } - sourceSets { - val jvmMain by getting { - dependencies { - implementation(project(":common")) - implementation("org.jetbrains.kotlinx:kotlinx-html-jvm:0.9.1") - implementation("org.json:json:20231013") - } + compilerOptions { + sourceSets["main"].apply { + resources.srcDirs("../assets") } - val jvmTest by getting } -} - +} \ No newline at end of file diff --git a/desktop/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/FdroiInfoBuilder.kt b/desktop/src/main/kotlin/com/linuxcommandlibrary/desktop/FdroiInfoBuilder.kt similarity index 100% rename from desktop/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/FdroiInfoBuilder.kt rename to desktop/src/main/kotlin/com/linuxcommandlibrary/desktop/FdroiInfoBuilder.kt diff --git a/desktop/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/MarkdownBuilder.kt b/desktop/src/main/kotlin/com/linuxcommandlibrary/desktop/MarkdownBuilder.kt similarity index 100% rename from desktop/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/MarkdownBuilder.kt rename to desktop/src/main/kotlin/com/linuxcommandlibrary/desktop/MarkdownBuilder.kt diff --git a/desktop/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/WebsiteBuilder.kt b/desktop/src/main/kotlin/com/linuxcommandlibrary/desktop/WebsiteBuilder.kt similarity index 98% rename from desktop/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/WebsiteBuilder.kt rename to desktop/src/main/kotlin/com/linuxcommandlibrary/desktop/WebsiteBuilder.kt index 000f4bd..14a6b15 100644 --- a/desktop/src/jvmMain/kotlin/com/linuxcommandlibrary/desktop/WebsiteBuilder.kt +++ b/desktop/src/main/kotlin/com/linuxcommandlibrary/desktop/WebsiteBuilder.kt @@ -886,13 +886,13 @@ class WebsiteBuilder { if (showAd) { div { style = "text-align: center;" - a("https://coindodo.io/digitalocean") { + a("https://coindodo.io/stge") { target = ATarget.blank img { style = "max-width: calc(100% - 4px);" - src = "/images/af/digitalocean.webp" + src = "/images/af/stge.webp" attributes["loading"] = "lazy" - width = "480" + width = "800" } } } @@ -961,19 +961,6 @@ class WebsiteBuilder { } } } - div { - classes = setOf("project") - a("https://whatch.online") { - target = ATarget.blank - rel = "noopener" - img { - src = "/images/project-whatch.webp" - alt = "whatch.online" - width = "30" - height = "30" - } - } - } } } return this diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt index 8b22716..59a110d 100644 --- a/fastlane/metadata/android/en-US/full_description.txt +++ b/fastlane/metadata/android/en-US/full_description.txt @@ -1,4 +1,4 @@ -The app currently has 5055 manual pages, 22 basic categories and a bunch of general terminal tips. It works 100% offline, doesn't need an internet connection and has no tracking software. +The app currently has 5547 manual pages, 22 basic categories and a bunch of general terminal tips. It works 100% offline, doesn't need an internet connection and has no tracking software. Categories diff --git a/fastlane/metadata/android/en-US/short_description.txt b/fastlane/metadata/android/en-US/short_description.txt index 394c1b2..8b2cb91 100644 --- a/fastlane/metadata/android/en-US/short_description.txt +++ b/fastlane/metadata/android/en-US/short_description.txt @@ -1 +1 @@ -5055 manual pages, 22 basic categories and a bunch of general terminal tips. +5547 manual pages, 22 basic categories and a bunch of general terminal tips. diff --git a/gradle.properties b/gradle.properties index 34cb422..5e0c42f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,5 @@ kotlin.code.style=official android.useAndroidX=true -kotlin.mpp.enableGranularSourceSetsMetadata=true -kotlin.native.enableDependencyPropagation=false org.gradle.jvmargs=-Xmx4608m kotlin.mpp.androidSourceSetLayoutVersion=2 android.defaults.buildfeatures.buildconfig=true diff --git a/settings.gradle.kts b/settings.gradle.kts index 0d0d1bd..dd99012 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -4,8 +4,11 @@ pluginManagement { gradlePluginPortal() mavenCentral() } + plugins { + kotlin("multiplatform") version "1.9.21" + } } rootProject.name = "Linux Command Library" -include(":android", ":desktop", ":common", ":cli") \ No newline at end of file +include(":android", ":common", ":desktop", ":cli") \ No newline at end of file