Skip to content

Latest commit

 

History

History
31 lines (27 loc) · 2.16 KB

CONTRIBUTING.md

File metadata and controls

31 lines (27 loc) · 2.16 KB

Development

To develop this project, you'll need:

  • Java 10 - get OpenJDK or AdoptOpenJDK. If you are using jEnv then we have a .java-version file already set up.
  • Make sure you have the environment variable JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'. This is required to ensure the JVM is merciful with libraries that were not designed for Java9+ JVMs.
  • git
  • Android Studio
  • Android SDK API Level 28 installed.
    • Set up local.properties file to point to it (that is, ensure you have sdk.dir=/path/to/android/sdk in it).
  • Android NDK r14b installed. Set up local.properties file to point to it (that is, ensure you have ndk.dir=/path/to/android/ndk in it).

Continuous Integration and Pull-Requests Verifications

Each PR is verified by multiple tasks:

  • Code Style is verified by Google Java Format. You can auto-format changes by running ./gradlew googleJavaFormat.
  • Static-Analysis is done with checkstyle, lint and Error-Prone. Run ./scripts/ci/ci_check.sh to execute all checks.
  • Unit-Tests are verified using ./gradlew testDebugUnitTest.

Components

  • Main app (AnySoftKeyboard) is located under ime/.
  • All add-ons are under addons/.
    • Language-packs are under addons/languages/.
    • Themes are under addons/themes/.
    • Quick-Text (e.g., emojis) are under addons/quicktext/.
    • Contributing document for add-ons can be found here.

License

The components in this repository are released under the Apache2 license. By contributing to this repository you give all copyright and distribution rights or AnySoftKeyboard maintainer.
Of course, since this is Apache2, you may fork and do whatever you want with the code, you do not have to share back only give attribute.
Read more about this license here.