From e682b14cf2f7185e2b5a0551f034a85026005b2c Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 22 May 2023 02:40:42 +0530 Subject: chore: refresh contribution guidelines --- CONTRIBUTING.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2ca1507a..8feab911 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,14 +22,15 @@ The source code is split across 12 modules and 1 subproject. - `build-logic` and its modules host the Gradle build logic for the project. - `autofill-parser` is the aptly named parser for Android's Autofill structures that also deals with trust and feature detection for browsers. -- `openpgp-ktx` contains the now defunct glue code that was used by APS to interact with OpenKeychain. -- `coroutine-utils` and `coroutine-utils-testing` are helper libraries that allow for effective usage and testing of [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html). +- `coroutine-utils` is a helper libraries that allow for effective usage and testing of [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html). - `crypto-common` is the foundation of our new, extensible cryptography APIs that adds the ability to introduce new cryptographic backends to APS with minimal effort. -- `crypto-pgpainless` is the first of our new backends that utilises `crypto-common` to offer PGP cryptography through the [PGPainless](https://gh.pgpainless.org/) library. +- `crypto-pgpainless` is the first of our new backends that implements the APIs defined in `crypto-common` to offer PGP cryptography through the [PGPainless](https://gh.pgpainless.org/) library. - `format-common` handles parsing the `pass` file format. -- `passgen/random` contains the default password generator. +- `openpgp-ktx` contains the now defunct glue code that was used by APS to interact with OpenKeychain. - `passgen/diceware` is our new password generator that implements the [Diceware](https://theworld.com/~reinhold/diceware.html) algorithm. +- `passgen/random` contains the default password generator. - `sentry-stub` contains no-op variants of [Sentry](https://sentry.io/) APIs that we use to ensure the FOSS-only, telemetry-free variant of APS continues to compile in absence of Sentry dependencies. +- `ssh` has exactly what you think it does. - `ui-compose` has the theming code for building UI components in [Jetpack Compose](https://developer.android.com/jetpack/compose). - `app` is everything else that constitutes APS. @@ -46,7 +47,7 @@ We bundle a [`ignore-revs-file`](https://git-scm.com/docs/git-blame#Documentatio ### Building with Gradle -This document assumes that you already have an Android development environment ready. If not, refer to Google's documentation on [installing Android Studio](https://developer.android.com/studio/install). APS will always build against the latest stable release of Android Studio, but you can use pre-release versions of the IDE should you desire so. +This document assumes that you already have an Android development environment ready. If not, refer to Google's documentation on [installing Android Studio](https://developer.android.com/studio/preview). APS currently uses a pre-release version of Android Studio but will eventually return to the stable version. The app comes in two 'flavors', a FOSS-only **free** variant and a **nonFree** variant that contains proprietary Google dependencies to facilitate some additional features as documented [here](https://android-password-store.github.io/docs/users/build-types). Decide what flavor you want to build, then run the following command to generate a debug APK. @@ -59,4 +60,4 @@ You can find the generated APK at `app/outputs`. ## Pre-push checks -The project enforces codestyle conventions and library API stability by virtue of a carefully curated Gradle build. To setup a Git pre-push hook to run them automatically, run `./gradlew installGitHooks`. +The project enforces code style conventions and library API stability by virtue of a carefully curated Gradle build. To setup a Git pre-push hook to run them automatically, run `./gradlew installGitHooks`. -- cgit v1.2.3