GoogleChromeLabs / GoogleChromeLabs/bubblewrap

Provide documentation on which generated files / directories to commit to version control

Open
#286 3 comments 4 reactions 0 assignees View on GitHub
documentation
Dominant language
TypeScript
Stars
3.1k
Forks
319
PR merge metrics
No merged PRs in 30d

Description

After following the tutorial and executing the `init` and `build` commands, you end up with a directory with a lot of files and directories:

```
.
|-- .gradle
|-- android.keystore
|-- app
|-- app-release-signed.apk
|-- app-release-unsigned-aligned.apk
|-- assetlinks.json
|-- build
|-- build.gradle
|-- gradle
|-- gradle.properties
|-- gradlew
|-- gradlew.bat
|-- settings.gradle
|-- store_icon.png
`-- twa-manifest.json
```

As a web developer who knows precious little about Android development, I'm not sure which of those files should go into version control and which are generated during the build step. I guess you don't commit the generated `apk` files? What about the app folder and all the different gradle files / directories? Finally, do I commit the keystore or put it securely in a key vault (not sure if that file is encrypted ...)?

I get that it's only tangentially related to this library, but I think it would be great for the documentation to have a couple of pointer for people unfamiliar with Android development:

- Which files should I commit to version control?
- On a new system, how do I reproduce the build from version control?
- How to handle the keystore file safely?

A related topic: I'm having trouble understanding all the different app signing methods and keystore formats (app signing key vs. upload key). A simple 'follow those steps to get the generated app in the play store' guide would be great, though I understand that's a lot of work. The current documentation just points to the app signing guide in the Android developer docs, but those prominently recommend using app signing by Google, and I have no idea how that relates to the signed app release generated by bubblewrap.

Since bubblewrap appears to be targeted towards non Android developers, it would be great to get some guidance for those topic in the documentation. Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.