Skip to content

Commit

Permalink
make 'experimental' navigation the default (#751)
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrielittner authored Apr 30, 2024
1 parent c609f7b commit e82f75f
Show file tree
Hide file tree
Showing 36 changed files with 40 additions and 111 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ Change Log

## 0.24.0 **UNRELEASED**

### Navigation

- Khonshu's own navigation implementation has been moved from `navigation-experimental`
into the main `navigation` artifact.

### Codegen

- Removed `experimentalNavigation` option and `@UseExperimentalNavigation`. The generated
Expand Down
4 changes: 0 additions & 4 deletions navigation-experimental/api/navigation-experimental.api

This file was deleted.

3 changes: 0 additions & 3 deletions navigation-experimental/gradle.properties

This file was deleted.

44 changes: 0 additions & 44 deletions navigation-experimental/navigation-experimental.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,47 +1,3 @@
import com.android.build.api.dsl.CommonExtension

plugins {
alias(libs.plugins.fgp.android)
alias(libs.plugins.poko)
alias(libs.plugins.fgp.publish)
}

freeletics {
optIn("com.freeletics.khonshu.navigation.internal.InternalNavigationApi")

useCompose()

android {
enableParcelize()
}
}

extensions.configure(CommonExtension::class.java) {
lint {
disable.add("UnsafeOptInUsageError")
}
}

dependencies {
api(projects.navigation)
api(libs.androidx.compose.runtime)
api(libs.androidx.compose.ui)
api(libs.collections.immutable)

implementation(libs.coroutines.core)
implementation(libs.androidx.annotations)
implementation(libs.androidx.activity)
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.compose.runtime.saveable)
implementation(libs.androidx.compose.foundation)
implementation(libs.androidx.core)
implementation(libs.androidx.viewmodel)
implementation(libs.androidx.viewmodel.compose)
implementation(libs.androidx.viewmodel.savedstate)
implementation(libs.androidx.savedstate)
implementation(libs.uri)

testImplementation(libs.junit)
testImplementation(libs.truth)
testImplementation(libs.kotlin.parcelize)
}

This file was deleted.

4 changes: 4 additions & 0 deletions navigation/api/android/navigation.api
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,10 @@ public class com/freeletics/khonshu/navigation/NavEventNavigator : com/freeletic
public fun resetToRoot (Lcom/freeletics/khonshu/navigation/NavRoot;)V
}

public final class com/freeletics/khonshu/navigation/NavHostKt {
public static final fun NavHost (Lcom/freeletics/khonshu/navigation/NavRoot;Lkotlinx/collections/immutable/ImmutableSet;Landroidx/compose/ui/Modifier;Lkotlinx/collections/immutable/ImmutableSet;Lkotlinx/collections/immutable/ImmutableSet;Lcom/freeletics/khonshu/navigation/NavEventNavigator;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)V
}

public abstract interface class com/freeletics/khonshu/navigation/NavRoot : com/freeletics/khonshu/navigation/BaseRoute {
}

Expand Down
3 changes: 3 additions & 0 deletions navigation/navigation.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,15 @@ extensions.configure(CommonExtension::class.java) {

dependencies {
"commonMainApi"(libs.jetbrains.compose.runtime)
"commonMainApi"(libs.collections.immutable)
"commonMainApi"(libs.uri)

"androidMainApi"(libs.androidx.compose.foundation)
"androidMainApi"(libs.androidx.activity)
"androidMainApi"(libs.androidx.activity.compose)
"androidMainApi"(libs.androidx.core)
"androidMainApi"(libs.androidx.lifecycle.common)
"androidMainApi"(libs.androidx.viewmodel.compose)
"androidMainApi"(libs.androidx.viewmodel.savedstate)
"androidMainApi"(libs.androidx.compose.ui)
"androidMainApi"(libs.coroutines.core)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.freeletics.khonshu.navigation.test

import android.os.Parcelable
import com.freeletics.khonshu.navigation.ExternalActivityRoute
import com.freeletics.khonshu.navigation.InternalActivityRoute
import com.freeletics.khonshu.navigation.NavRoot
import com.freeletics.khonshu.navigation.NavRoute
import com.freeletics.khonshu.navigation.internal.Parcelable
import dev.drewhamilton.poko.Poko
import kotlinx.parcelize.Parcelize

Expand All @@ -15,6 +16,10 @@ internal class SimpleRoute(val number: Int) : NavRoute, Parcelable
@Parcelize
internal class OtherRoute(val number: Int) : NavRoute, Parcelable

@Poko
@Parcelize
internal class ThirdRoute(val number: Int) : NavRoute, Parcelable

@Poko
@Parcelize
internal class DeepLinkRoute(
Expand All @@ -26,10 +31,18 @@ internal class DeepLinkRoute(
@Parcelize
internal class SimpleRoot(val number: Int) : NavRoot, Parcelable

@Poko
@Parcelize
internal class OtherRoot(val number: Int) : NavRoot, Parcelable

@Poko
@Parcelize
internal class SimpleActivity(val number: Int) : InternalActivityRoute()

@Poko
@Parcelize
internal class OtherActivity(val number: Int) : ExternalActivityRoute

@Poko
@Parcelize
internal class TestParcelable(val value: Int) : Parcelable
3 changes: 1 addition & 2 deletions sample/simple/app/simple/app-simple.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ freeletics {

dependencies {
implementation(libs.androidx.lifecycle.viewmodel.savedstate)
implementation(libs.khonshu.navigator)
implementation(libs.khonshu.navigator.compose)
implementation(libs.khonshu.navigation)
implementation(projects.feature.bottomSheet.implementation)
implementation(projects.feature.bottomSheet.nav)
implementation(projects.feature.dialog.implementation)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ dependencies {
api(libs.androidx.lifecycle.viewmodel.compose)
api(libs.androidx.lifecycle.viewmodel.savedstate)
api(libs.coroutines)
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
api(libs.khonshu.statemachine)
api(libs.khonshu.codegen)
api(projects.feature.bottomSheet.nav)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ plugins {

dependencies {
api(libs.khonshu.codegen)
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ dependencies {
api(libs.androidx.lifecycle.viewmodel.compose)
api(libs.androidx.lifecycle.viewmodel.savedstate)
api(libs.coroutines)
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
api(libs.khonshu.statemachine)
api(libs.khonshu.codegen)
api(projects.feature.dialog.nav)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ plugins {

dependencies {
api(libs.khonshu.codegen)
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
}
5 changes: 2 additions & 3 deletions sample/simple/feature/main/feature-main.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,15 @@ dependencies {
api(libs.androidx.lifecycle.viewmodel.compose)
api(libs.androidx.lifecycle.viewmodel.savedstate)
api(libs.coroutines)
api(libs.khonshu.navigator.compose)
api(libs.khonshu.navigator.experimental)
api(libs.khonshu.navigation)
api(libs.khonshu.statemachine)

implementation(libs.androidx.activity.compose)
implementation(libs.androidx.compose.ui)
implementation(libs.androidx.compose.foundation)
implementation(libs.androidx.lifecycle.common)
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.khonshu.navigator)
implementation(libs.khonshu.navigation)
implementation(libs.khonshu.codegen)
implementation(projects.feature.root.nav)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ dependencies {
api(libs.androidx.lifecycle.viewmodel.compose)
api(libs.androidx.lifecycle.viewmodel.savedstate)
api(libs.coroutines)
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
api(libs.khonshu.statemachine)
api(libs.khonshu.codegen)
api(projects.feature.newRoot.nav)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ plugins {
}

dependencies {
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ dependencies {
api(libs.androidx.lifecycle.viewmodel.compose)
api(libs.androidx.lifecycle.viewmodel.savedstate)
api(libs.coroutines)
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
api(libs.khonshu.statemachine)
api(libs.khonshu.codegen)
api(projects.feature.root.nav)
Expand Down
2 changes: 1 addition & 1 deletion sample/simple/feature/root/nav/feature-root-nav.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ plugins {
}

dependencies {
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ dependencies {
api(libs.androidx.lifecycle.viewmodel.compose)
api(libs.androidx.lifecycle.viewmodel.savedstate)
api(libs.coroutines)
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
api(libs.khonshu.statemachine)
api(libs.khonshu.codegen)
api(projects.feature.screen.nav)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ plugins {
}

dependencies {
api(libs.khonshu.navigator)
api(libs.khonshu.navigation)
}
4 changes: 1 addition & 3 deletions sample/simple/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,7 @@ coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version
dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" }
dagger-compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "dagger" }
inject = { module = "javax.inject:javax.inject", version.ref = "inject" }
khonshu-navigator = { module = "com.freeletics.khonshu:navigation", version.ref = "khonshu" }
khonshu-navigator-experimental = { module = "com.freeletics.khonshu:navigation-experimental", version.ref = "khonshu" }
khonshu-navigator-compose = { module = "com.freeletics.khonshu:navigation-compose", version.ref = "khonshu" }
khonshu-navigation = { module = "com.freeletics.khonshu:navigation", version.ref = "khonshu" }
khonshu-codegen-compiler = { module = "com.freeletics.khonshu:codegen-compiler", version.ref = "khonshu" }
khonshu-codegen = { module = "com.freeletics.khonshu:codegen-runtime", version.ref = "khonshu" }
khonshu-statemachine = { module = "com.freeletics.khonshu:state-machine", version.ref = "khonshu" }
Expand Down

0 comments on commit e82f75f

Please sign in to comment.