## Usage
Import `bdledger-java-sdk-{{VERSION}}.jar` along with SDK's dependencies described below.
See Javadoc and `src/test/java/org/bdware/bdledger/api/grpc/ClientTests.java` for usage example.
## SDK's dependencies
### Direct dependencies
- io.grpc:grpc-netty-shaded
- io.grpc:grpc-protobuf
- io.grpc:grpc-stub
grpc_java_version = '1.27.0'
with **Gradle**
```
compile 'io.grpc:grpc-netty-shaded:' + grpc_java_version
compile 'io.grpc:grpc-protobuf:' + grpc_java_version
compile 'io.grpc:grpc-stub:' + grpc_java_version
```
with **Maven**
```
io.grpc
grpc-netty-shaded
${grpc_java_version}
io.grpc
grpc-protobuf
${grpc_java_version}
io.grpc
grpc-stub
${grpc_java_version}
```
### All dependencies
```
+--- io.grpc:grpc-netty-shaded:1.27.0
| \--- io.grpc:grpc-core:[1.27.0] -> 1.27.0
| +--- io.grpc:grpc-api:[1.27.0] -> 1.27.0
| | +--- io.grpc:grpc-context:1.27.0
| | +--- com.google.errorprone:error_prone_annotations:2.3.4
| | +--- com.google.code.findbugs:jsr305:3.0.2
| | +--- org.codehaus.mojo:animal-sniffer-annotations:1.18
| | \--- com.google.guava:guava:28.1-android
| | +--- com.google.guava:failureaccess:1.0.1
| | +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
| | +--- org.checkerframework:checker-compat-qual:2.5.5
| | \--- com.google.j2objc:j2objc-annotations:1.3
| +--- com.google.code.gson:gson:2.8.6
| +--- com.google.android:annotations:4.1.1.4
| +--- com.google.errorprone:error_prone_annotations:2.3.4
| \--- io.perfmark:perfmark-api:0.19.0
| \--- com.google.code.findbugs:jsr305:3.0.2
+--- io.grpc:grpc-protobuf:1.27.0
| +--- io.grpc:grpc-api:1.27.0 (*)
| +--- com.google.protobuf:protobuf-java:3.11.0
| +--- com.google.guava:guava:28.1-android (*)
| +--- com.google.api.grpc:proto-google-common-protos:1.17.0
| \--- io.grpc:grpc-protobuf-lite:1.27.0
| +--- io.grpc:grpc-api:1.27.0 (*)
| \--- com.google.guava:guava:28.1-android (*)
+--- io.grpc:grpc-stub:1.27.0
| \--- io.grpc:grpc-api:1.27.0 (*)
\--- javax.annotation:javax.annotation-api:1.3.2
```
## Testing
1. Download [mock client](https://public.internetapi.cn/?dir=bdledger/test)
2. Run mock client with ```--port={{port}}```
3. Run ```gradle test```
## Distributing
```
./gradlew jar
./gradlew shadowJar
./gradlew javadoc
./gradlew installDist
./gradlew distZip
```
## TODO
Would you like to use a free managed security reporting service (recommended)?
Put https://hackerone.com/central-security-project/reports/new as your project's security issue reporting URL. We'll take care of the rest.
For more details on the Central Security Project, visit https://www.sonatype.com/central-security-project