You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.3 KiB
61 lines
2.3 KiB
4 months ago
|
# 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 Conscrypt! Here are some
|
||
|
guideline and information about how to do so.
|
||
|
|
||
|
## Before getting started
|
||
|
|
||
|
In order to protect both you and ourselves, you will need to sign the
|
||
|
[Contributor License Agreement](https://cla.developers.google.com/clas).
|
||
|
|
||
|
We follow the [Clang Format](http://clang.llvm.org/docs/ClangFormat.html).
|
||
|
There is support in most IDEs.
|
||
|
|
||
|
| IDE | Clang Format Plugin |
|
||
|
| --- | ------------------- |
|
||
|
| Eclipse | [CppStyle](https://marketplace.eclipse.org/content/cppstyle) |
|
||
|
| IntelliJ | [ClangFormatIJ](https://plugins.jetbrains.com/plugin/8396) |
|
||
|
|
||
|
If planning on making a large change, feel free to [create an issue on
|
||
|
GitHub](https://github.com/conscrypt/issues/new) or send an
|
||
|
email to [conscrypt@googlegroups.com](https://groups.google.com/forum/#!forum/conscrypt) to discuss
|
||
|
beforehand.
|
||
|
|
||
|
## Proposing changes
|
||
|
|
||
|
Make sure that `./gradlew check` (`gradlew check` on Windows) completes
|
||
|
successfully without any new warnings (see [Building](BUILDING.md)). Then create a Pull Request
|
||
|
with your changes. When the changes are accepted, they will be merged or cherry-picked by
|
||
|
a Conscrypt 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.
|