Skip to content

Latest commit

 

History

History
57 lines (38 loc) · 2.13 KB

CONTRIBUTING.md

File metadata and controls

57 lines (38 loc) · 2.13 KB

How to submit a bug report

If you received an error message, please include it and any exceptions.

We commonly need to know what platform you are on:

  • JDK/JRE version (i.e., java -version)
  • Operating system (i.e., uname -a)

How to contribute

We definitely welcome patches and contributions to Tongsuo-Java-SDK! Here are some guideline and information about how to do so.

Before getting started

We follow the Clang Format. There is support in most IDEs.

IDE Clang Format Plugin
Eclipse CppStyle
IntelliJ ClangFormatIJ

If planning on making a large change, feel free to create an issue on GitHub or send an email to [email protected] to discuss beforehand.

Proposing changes

Make sure that ./gradlew check (gradlew check on Windows) completes successfully without any new warnings (see Building). Then create a Pull Request with your changes. When the changes are accepted, they will be merged or cherry-picked by a Tongsuo-Java-SDK developer.

Source Overview

The high-level modules are Common, Android, OpenJDK, and Platform.

Common

This contains the bulk of the code for both Java and C. This isn't an actual module and builds no artifacts. Rather, the other modules just point to this directory as source.

Android

This module provides the Platform class for Android and also adds compatibility classes for supporting various versions of Android. This generates an aar library artifact.

OpenJDK

These modules provide the Platform class for non-Android (OpenJDK-based) systems. It also provides a native library loader supports bundling the shared library with the JAR.

Platform

This module contains code that is bundled with the Android operating system. The inclusion in the build is only to ensure that changes to other modules do not accidentally break the Android build.