From 5c3edd1b46ad218bcbef57042d95980169a47622 Mon Sep 17 00:00:00 2001 From: Teodor Grigor Date: Tue, 20 Aug 2024 13:53:55 +0300 Subject: [PATCH] Update dependencies to latest versions --- .gitignore | 3 + build.gradle.kts | 17 +-- docs/index.md | 130 +++++++++-------------- gradle/libs.versions.toml | 61 +++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- module-unity/build.gradle.kts | 9 +- 6 files changed, 97 insertions(+), 125 deletions(-) diff --git a/.gitignore b/.gitignore index 3181f46..de578fa 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,6 @@ google-services.json freeline.py freeline/ freeline_project_description.json + +# Kotlin +.kotlin/ diff --git a/build.gradle.kts b/build.gradle.kts index 7a208a3..ae2e7f4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,9 +1,9 @@ -import com.vanniktech.maven.publish.SonatypeHost import dev.teogor.winds.api.ArtifactIdFormat import dev.teogor.winds.api.License import dev.teogor.winds.api.NameFormat import dev.teogor.winds.api.Person import dev.teogor.winds.api.Scm +import dev.teogor.winds.api.SonatypeHost import dev.teogor.winds.api.TicketSystem import dev.teogor.winds.ktx.createVersion import dev.teogor.winds.ktx.person @@ -16,6 +16,7 @@ plugins { alias(libs.plugins.android.library) apply false alias(libs.plugins.jetbrains.kotlin.android) apply false alias(libs.plugins.kotlin.jvm) apply true + alias(libs.plugins.jetbrains.compose.compiler) apply false alias(libs.plugins.ceres.android.application) apply false alias(libs.plugins.ceres.android.application.compose) apply false @@ -23,6 +24,7 @@ plugins { alias(libs.plugins.ceres.android.library.compose) apply false alias(libs.plugins.teogor.winds) apply true + alias(libs.plugins.teogor.drifter) apply false alias(libs.plugins.vanniktech.maven) apply true alias(libs.plugins.dokka) apply true @@ -41,8 +43,9 @@ tasks.withType().configureEach { } winds { - windsFeatures { + features { mavenPublishing = true + docsGenerator = true } moduleMetadata { @@ -91,11 +94,11 @@ winds { } } - publishingOptions { - publish = false + publishing { + enabled = false enablePublicationSigning = true optInForVanniktechPlugin = true - cascadePublish = true + cascade = true sonatypeHost = SonatypeHost.S01 } @@ -106,8 +109,8 @@ winds { val excludedModulesForWinds = listOf( ":drifter-plugin", - ":app", - ":module-unity", + ":demo:app", + ":demo:module-unity", ) val ktlintVersion = "0.50.0" diff --git a/docs/index.md b/docs/index.md index d8e381a..6949543 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,49 +1,63 @@ -# Drifter Repository +# Drifter -Drifter simplifies the integration between Unity and Android, enhancing performance seamlessly and -effortlessly. +Learn more: **[User Guide](user-guide.md)** and **[Code Samples](code-samples.md)** + +🎮 Drifter simplifies the integration between Unity and Android, enhancing performance seamlessly and effortlessly. ## Download [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -[![Maven Central](https://img.shields.io/maven-central/v/dev.teogor.drifter/bom.svg?label=Maven%20Central)](https://central.sonatype.com/search?q=g%3Adev.teogor.drifter+a%3Abom&smo=true) +[![Maven Central](https://img.shields.io/maven-central/v/dev.teogor.drifter/drifter-bom.svg?label=Maven%20Central)](https://central.sonatype.com/search?q=g%3Adev.teogor.drifter&smo=true) [![API](https://img.shields.io/badge/API-24%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=24) [![Profile](https://source.teogor.dev/badges/teogor-github.svg)](https://github.com/teogor) [![Portfolio](https://source.teogor.dev/badges/teogor-dev.svg)](https://teogor.dev) -## Table of Contents +[//]: # (REGION-API-REFERENCE) -- [Modules](#modules) - - [drifter-compose](#drifter-compose) - - [drifter-integration](#drifter-integration) - - [drifter-core](#drifter-core) - - [drifter-wallpaper](#drifter-wallpaper) - - [drifter-plugin](#drifter-plugin) -- [Getting Started](#getting-started) -- [Contributing](#contributing) -- [License](#license) +API Reference +[`dev.teogor.drifter:*`](html/) -### Gradle +[//]: # (REGION-API-REFERENCE) -Add the dependency below to your **module**'s `build.*` file. +[//]: # (REGION-GROUP-OVERVIEW) -- for `build.gradle` +**Drifter** is formed by combining 1 Maven Group Ids within dev.teogor.drifter. Each Group encompasses a targeted subset of functionality, with individual sets of release notes. -```gradle -dependencies { - implementation platform('dev.teogor.drifter:bom:1.0.0-alpha01') -} -``` +This table provides an overview of the groups and their corresponding links to individual sets of release notes. -- for `build.gradle.kts` +| Group | Description | +|:------------------------------------|:---------------| +| [drifter.unity](./unity/index.md) | not provided | -```kotlin -dependencies { - implementation(platform("dev.teogor.drifter:bom:1.0.0-alpha01")) -} -``` +[//]: # (REGION-GROUP-OVERVIEW) + +[//]: # (REGION-GROUP-VERSION-OVERVIEW) + +## Version + +Refer to the table below for an overview of the current versions associated with each group. + +| Maven Group ID | Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release | +|:------------------------------------|:---------------------|:----------------:|:-------------------:|:--------------:|:---------------:| +| [drifter.unity](./unity/index.md) | September 26, 2023 | - | - | - | 1.0.0-alpha01 | + +[//]: # (REGION-GROUP-VERSION-OVERVIEW) + +[//]: # (REGION-REPORT-ISSUE-FEEDBACK) -> **Note**: This library has more modules therefore include only the ones that you want to use. +## Feedback + +Your feedback helps make Drifter better. Let us know if you discover new issues or have +ideas for improving this library. Please take a look at the [existing issues on GitHub](https://github.com/teogor/drifter/issues) +for this library before you create a new one. + +[Create a new issue](https://github.com/teogor/drifter/issues/new){ .md-button } + +[//]: # (REGION-REPORT-ISSUE-FEEDBACK) + +## BOMs + +To stay updated with the latest BOM releases, explore the [Drifter BOM Mapping Page](./bom/bom-mapping.md). ## Simplifying Unity Engine Integration with Jetpack Compose @@ -69,49 +83,6 @@ Learn step-by-step instructions, explore code examples, and gain best practices potential of Unity Engine in your Compose projects. n in a markdown code snippet format. -## Modules - -### drifter-compose - -The `drifter-compose` module provides functionality for working with Jetpack Compose in Android -applications. It includes utilities and components to simplify Compose-based UI development. - -[Explore the source code](/drifter-compose) - -### drifter-integration - -The `drifter-integration` module offers integration points and connectors for third-party libraries -and services commonly used in Android development. It allows you to seamlessly integrate your -Android app with various services. - -[Explore the source code](/drifter-integration) - -### drifter-core - -The `drifter-core` module contains core functionality and utilities that are commonly used across -Android projects. It provides a foundation for building robust Android applications. - -[Explore the source code](/drifter-core) - -### drifter-wallpaper - -The `drifter-wallpaper` module focuses on wallpaper-related features and tools for Android. It -simplifies the development of live wallpapers and wallpaper-related functionalities. - -[Explore the source code](/drifter-wallpaper) - -### drifter-plugin - -The `drifter-plugin` module provides a Gradle plugin that can be used to enhance your Android -project build process. It offers features such as code generation, resource management, and more. - -This Gradle plugin simplifies Unity integration for your project by providing two essential tasks: - -1. **BuildIl2CppTask**: Compiles and builds Il2Cpp for Unity integration. -2. **UnityAssetSyncTask**: Synchronizes Unity exported assets for project preparation. - -[Explore the source code](/drifter-plugin) - ## Find this repository useful? :heart: Show your appreciation by starring this project :star: and joining our community of _ @@ -120,14 +91,19 @@ _[stargazers](https://github.com/teogor/drifter/stargazers)__. Want to stay updated on my latest projects and contributions? Be sure to _ _[follow me](https://github.com/teogor)__ on GitHub! 🤩 -# License - +## License ```xml Designed and developed by 2023 teogor (Teodor Grigor) - Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License at +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 +http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License. +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. ``` diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index be1daef..f1937c0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,48 +4,48 @@ androidDesugarJdkLibs = "2.0.4" # @todo-ceres required by id::ceres.android.application.compose androidxComposeCompiler = "1.5.8" -androidxComposeBom = "2024.02.01" +androidxComposeBom = "2024.06.00" # @todo-ceres required by id::ceres.android.application.firebase -firebaseBom = "32.7.2" -firebaseCrashlyticsPlugin = "2.9.9" +firebaseBom = "33.1.2" +firebaseCrashlyticsPlugin = "3.0.2" firebasePerfPlugin = "1.4.2" # @todo-ceres required by id::ceres.android.library junit4 = "4.13.2" # @todo-ceres required by id::ceres.android.hilt -hilt = "2.50" +hilt = "2.51.1" hiltExt = "1.2.0" -teogor-winds = "1.0.0-beta03" +teogor-winds = "1.0.2" teogor-ceres = "1.0.0-alpha04" # @todo-ceres required by id::ceres.* -androidGradlePlugin = "8.2.2" -gmsPlugin = "4.4.1" +androidGradlePlugin = "8.5.2" +gmsPlugin = "4.4.2" protobufPlugin = "0.9.4" -api-validator = "0.14.0" -annotation = "1.7.1" -buildConfig = "3.1.0" -core-ktx = "1.12.0" +api-validator = "0.16.3" +annotation = "1.8.2" +buildConfig = "5.4.0" +core-ktx = "1.13.1" junit = "4.13.2" -androidx-test-ext-junit = "1.1.5" -espresso-core = "3.5.1" -lifecycle-runtime-ktx = "2.7.0" -activity-compose = "1.8.2" -compose-bom = "2024.02.01" -appcompat = "1.6.1" -kotlin = "1.9.22" -ksp = "1.9.22-1.0.17" -material = "1.11.0" +androidx-test-ext-junit = "1.2.1" +espresso-core = "3.6.1" +lifecycle-runtime-ktx = "2.8.4" +activity-compose = "1.9.1" +compose-bom = "2024.06.00" +appcompat = "1.7.0" +kotlin = "2.0.10" +ksp = "2.0.10-1.0.24" +material = "1.12.0" startup-runtime = "1.2.0-alpha02" -gson = "2.10.1" -vanniktechMavenPlugin = "0.27.0" -dokka = "1.9.10" +gson = "2.11.0" +vanniktechMavenPlugin = "0.29.0" +dokka = "1.9.20" spotless = "6.25.0" -kotlin-poet = "1.14.2" +kotlin-poet = "1.18.1" [libraries] # @todo-ceres required by id::ceres.android.application @@ -124,22 +124,12 @@ dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } # @todo-ceres required by id::ceres.* ceres-android-application = { id = "dev.teogor.ceres.android.application", version.ref = "teogor-ceres" } ceres-android-application-compose = { id = "dev.teogor.ceres.android.application.compose", version.ref = "teogor-ceres" } -ceres-android-application-firebase = { id = "dev.teogor.ceres.android.application.firebase", version.ref = "teogor-ceres" } -ceres-android-application-flavors = { id = "dev.teogor.ceres.android.application.flavors", version.ref = "teogor-ceres" } -ceres-android-application-jacoco = { id = "dev.teogor.ceres.android.application.jacoco", version.ref = "teogor-ceres" } -ceres-android-feature = { id = "dev.teogor.ceres.android.feature", version.ref = "teogor-ceres" } -ceres-android-hilt = { id = "dev.teogor.ceres.android.hilt", version.ref = "teogor-ceres" } ceres-android-library = { id = "dev.teogor.ceres.android.library", version.ref = "teogor-ceres" } ceres-android-library-compose = { id = "dev.teogor.ceres.android.library.compose", version.ref = "teogor-ceres" } -ceres-android-library-config = { id = "dev.teogor.ceres.android.library.config", version.ref = "teogor-ceres" } -ceres-android-room = { id = "dev.teogor.ceres.android.room", version.ref = "teogor-ceres" } -ceres-android-test = { id = "dev.teogor.ceres.android.test", version.ref = "teogor-ceres" } -ceres-docs = { id = "dev.teogor.ceres.docs", version.ref = "teogor-ceres" } -# @todo-ceres required by id::ceres.* +jetbrains-compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" } -android-test = { id = "com.android.test", version.ref = "androidGradlePlugin" } jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } firebase-crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "firebaseCrashlyticsPlugin" } firebase-perf = { id = "com.google.firebase.firebase-perf", version.ref = "firebasePerfPlugin" } @@ -150,3 +140,4 @@ kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", versi ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } protobuf = { id = "com.google.protobuf", version.ref = "protobufPlugin" } teogor-winds = { id = "dev.teogor.winds", version.ref = "teogor-winds" } +teogor-drifter = { id = "dev.teogor.drifter", version = "0.0.0" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 38108d3..32e54c6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sat Sep 23 13:32:03 EEST 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/module-unity/build.gradle.kts b/module-unity/build.gradle.kts index f194bf8..7986a8e 100644 --- a/module-unity/build.gradle.kts +++ b/module-unity/build.gradle.kts @@ -22,15 +22,14 @@ import dev.teogor.drifter.plugin.unityOptions plugins { alias(libs.plugins.ceres.android.library) - - id("dev.teogor.drifter") + alias(libs.plugins.teogor.drifter) } val unityStreamingAssets: String? by project val unityStreamingAssetsList: List = unityStreamingAssets?.split(",") ?: emptyList() android { - namespace = "dev.teogor.drifter.demo.unity.library" + namespace = "dev.teogor.drifter.demo.module.unity" unityOptions( androidConfig = this, @@ -45,8 +44,8 @@ android { ndkPath = getSafeDrifterUnityPathNdk() platforms = listOf( - PlatformArch("armeabi-v7a", "armv7"), - PlatformArch("arm64-v8a", "arm64"), + PlatformArch.Arm64, + PlatformArch.Armv7, ) configuration = Configuration.Release streamingAssets += unityStreamingAssetsList