diff --git a/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/Dependencies.kt b/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/Dependencies.kt index 0f8a44d..cd90b03 100644 --- a/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/Dependencies.kt +++ b/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/Dependencies.kt @@ -80,6 +80,7 @@ fun getDependencies( if (isKtLintEnable) addLibsPlugin(Plugin.KtLint) if (isDetektEnable) addLibsPlugin(Plugin.Detekt) if (isFirebaseEnable) addLibsPlugin(Plugin.GoogleServices) + if (!isCompose && isNavigationEnable) addLibsPlugin(Plugin.NavigationSafeArgs) } private fun StringBuilder.addDefaultVersions() { diff --git a/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/GradleKts.kt b/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/GradleKts.kt index a40fe92..c5d7134 100644 --- a/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/GradleKts.kt +++ b/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/GradleKts.kt @@ -28,6 +28,7 @@ fun getGradleKts( if (isKtLintEnable) addGradlePlugin(Plugin.KtLint) if (isDetektEnable) addGradlePlugin(Plugin.Detekt) if (isFirebaseEnable) addGradlePlugin(Plugin.GoogleServices) + if (!isCompose && isNavigationEnable) addGradlePlugin(Plugin.NavigationSafeArgs) append("}\n\n") addAndroidBlock(packagePath, minApi, javaJvmVersion, isCompose) diff --git a/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/Plugin.kt b/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/Plugin.kt index 4f95ea4..f5d1961 100644 --- a/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/Plugin.kt +++ b/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/Plugin.kt @@ -9,4 +9,5 @@ sealed class Plugin(val name: String, val id: String, val verRef: String) { data object KtLint : Plugin("ktlint", "org.jlleitschuh.gradle.ktlint", "ktlint") data object Detekt : Plugin("detekt-plugin", "io.gitlab.arturbosch.detekt", "detekt") data object GoogleServices : Plugin("google-services", "com.google.gms.google-services", "googleServices") + data object NavigationSafeArgs : Plugin("navigation-safe-args", "androidx.navigation.safeargs.kotlin", "navigation") } \ No newline at end of file diff --git a/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/ProjectGradleKts.kt b/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/ProjectGradleKts.kt index b080e85..1740556 100644 --- a/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/ProjectGradleKts.kt +++ b/src/main/kotlin/com/github/cnrture/quickprojectwizard/gradle/ProjectGradleKts.kt @@ -10,6 +10,7 @@ fun getProjectGradleKts( isKtLintEnable: Boolean, isDetektEnable: Boolean, isFirebaseEnable: Boolean, + isNavigationEnable: Boolean, selectedImageLibrary: ImageLibrary, ) = StringBuilder().apply { append("// Top-level build file where you can add configuration options common to all sub-projects/modules.\n") @@ -22,5 +23,6 @@ fun getProjectGradleKts( if (isKtLintEnable) addGradlePlugin(Plugin.KtLint, true) if (isDetektEnable) addGradlePlugin(Plugin.Detekt, true) if (isFirebaseEnable) addGradlePlugin(Plugin.GoogleServices, true) - append("}\n\n") + if (!isCompose && isNavigationEnable) addGradlePlugin(Plugin.NavigationSafeArgs, true) + append("}") } diff --git a/src/main/kotlin/com/github/cnrture/quickprojectwizard/recipes/ComposeProjectRecipe.kt b/src/main/kotlin/com/github/cnrture/quickprojectwizard/recipes/ComposeProjectRecipe.kt index 549e706..11237dd 100644 --- a/src/main/kotlin/com/github/cnrture/quickprojectwizard/recipes/ComposeProjectRecipe.kt +++ b/src/main/kotlin/com/github/cnrture/quickprojectwizard/recipes/ComposeProjectRecipe.kt @@ -323,6 +323,7 @@ private fun addDependenciesAndGradle( isKtLintEnable, isDetektEnable, isFirebaseEnable, + isNavigationEnable, selectedImageLibrary, ) diff --git a/src/main/kotlin/com/github/cnrture/quickprojectwizard/recipes/XMLProjectRecipe.kt b/src/main/kotlin/com/github/cnrture/quickprojectwizard/recipes/XMLProjectRecipe.kt index 47e2efd..a8c848e 100644 --- a/src/main/kotlin/com/github/cnrture/quickprojectwizard/recipes/XMLProjectRecipe.kt +++ b/src/main/kotlin/com/github/cnrture/quickprojectwizard/recipes/XMLProjectRecipe.kt @@ -292,6 +292,7 @@ private fun addDependenciesAndGradle( isKtLintEnable, isDetektEnable, isFirebaseEnable, + isNavigationEnable, selectedImageLibrary, )