Copyright (c) 2019 Proton Technologies AG
./gradlew assembleProdDebug
or open and build in Android StudioTo complete a release build signing keys need to be provided: ./gradlew assembleProdRelease -PkeyStoreFilePath= -PkeyStoreKeyAlias= -PkeyStorePassword= -PkeyStoreKeyPassword=`
This project is using native libraries from open-source project Strongswan. To simplify the build process we include prebuilt copies of those libraries here. To rebuild them follow these steps:
git submodule init
followed by git submodule update
in the main directory (we include original Strongswan repository as a git submodule)cd strongswan
and follow build instructions from Strongswan to rebuild native librariescp -r strongswan/src/frontends/android/app/src/main/libs/* app/src/main/jniLibs
in our main directory to copy the prebuilt libraries and rebuild the ProtonVPN clientProject uses agreed code style ProtonStyle.xml for java. Import it in Android studio via File>>Settings>>Editor>>Code style>>Import Scheme
For kotlin's code style we use ktlint with default rules
If you would like to contribute, please keep in mind the following rules:
gradlew updateLicensesJson
to update attributions.Internally our CI automatically checks all pull requests for code style issues, and runs our tests. However you can run those locally as well.
gradlew checkstyle
gradlew detekt
gradlew test
gradlew androidTest
By making a contribution to this project you agree to the following:
$ make image [branch=name]
$ make local
$ make debug-local
$ make deploy-local: login-deploy imag
[major][minor][patch]
The code and datafiles in this distribution are licensed under the terms of the GPLv3 as published by the Free Software Foundation. See https://www.gnu.org/licenses/ for a copy of this license.
Copyright (c) 2019 Proton Technologies AG