Project: Navigation

General Instructions:

  • When modifying any .kt file, format it via the following command: ./gradlew :ktCheckFile --format --file <file>. If more than one file needs formatting, continue adding --file <next-file> to the command.
  • When a public API is changed or when asked to update the public API files, execute: ./gradlew <project>:updateApi, the projects and their root paths can be found in settings.gradle.
  • When moving files, use git mv to keep version control history.
  • Do not make a git commit unless specifically requested.

Development Workflow & Refactoring:

  • Language Conversion: When migrating files, convert them from Java to idiomatic Kotlin.
  • Assertion Library: When migrating or writing new tests, replace Hamcrest assertions with Kruth.
  • Kotlin Idioms: Prefer modern Kotlin idioms for readability.

Description of sub-projects:

  • navigation-common: Contains the common Navigation APIs.
  • navigation-runtime: Contains the runtime Navigation APIs.
  • navigation-compose: Contains the Compose integration for Navigation.
  • navigation-fragment: Contains the Fragment integration for Navigation.
  • navigation-ui: Contains the UI integration for Navigation.
  • navigation-testing: Contains the testing helpers for Navigation.
  • navigation-safe-args-gradle-plugin: Contains the Safe Args Gradle Plugin.

Documentation links: