aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorHarsh Shandilya <me@msfjarvis.dev>2023-05-22 02:40:42 +0530
committerHarsh Shandilya <me@msfjarvis.dev>2023-05-22 02:44:21 +0530
commite682b14cf2f7185e2b5a0551f034a85026005b2c (patch)
treef17b47f3acad4df67cec44f32f0edc17ee34ce46 /CONTRIBUTING.md
parente05c704539648af957ee89c870b0a71b7be12b26 (diff)
chore: refresh contribution guidelines
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md13
1 files changed, 7 insertions, 6 deletions
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`.