42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
# Java Client
|
|
|
|
The Java client workspace contains the Gradle scaffold for the MXAccess Gateway
|
|
client library, generated protobuf/gRPC bindings, a test CLI project, and JUnit
|
|
tests.
|
|
|
|
## Layout
|
|
|
|
```text
|
|
clients/java/
|
|
settings.gradle
|
|
build.gradle
|
|
src/main/generated/
|
|
mxgateway-client/
|
|
mxgateway-cli/
|
|
```
|
|
|
|
`mxgateway-client` generates Java protobuf and gRPC sources from
|
|
`../../src/MxGateway.Contracts/Protos`. The Gradle protobuf plugin writes those
|
|
generated sources under `src/main/generated`, which matches the client proto
|
|
manifest in `../proto/proto-inputs.json`. Do not edit generated files by hand.
|
|
|
|
`mxgateway-cli` depends on `mxgateway-client` and provides the `mxgw-java`
|
|
application entry point used by later CLI implementation work.
|
|
|
|
## Build And Test
|
|
|
|
Run the Java checks from `clients/java`:
|
|
|
|
```powershell
|
|
gradle test
|
|
```
|
|
|
|
The build uses the Java 21 Gradle toolchain, compiles generated protobuf/gRPC
|
|
code, and runs JUnit 5 tests for the scaffold and CLI entry point.
|
|
|
|
## Related Documentation
|
|
|
|
- [Client Proto Generation](../../docs/client-proto-generation.md)
|
|
- [Java Client Detailed Design](../../docs/clients-java-design.md)
|
|
- [Java Style Guide](../../docs/style-guides/JavaStyleGuide.md)
|