This project generates code of client protocol accross languages.
hazelcast-client-protocol/hazelcast/target/generated-sources/annotations
mvn clean compile
We have code generation for some other languages as well.
mvn clean compile -Dhazelcast.generator.[LANGUAGE]=TRUE
Supported options for [LANGUAGE] are
- cpp (C++)
- cs (C#)
- py (python)
- md (documentation of protocol)
- node (Node.js)
To generate for another custom languages, an ftl file with
codec-template-[LANGUAGE].ftl
needs to be added to
hazelcast-client-protocol/hazelcast-code-generator/src/main/resources
For ftl see,
http://freemarker.incubator.apache.org/
After putting the ftl file, following command can be run to generate sources
mvn clean compile -Dhazelcast.generator.[LANGUAGE]=TRUE
Use the following command to generate the compatibility tests
mvn clean compile -DskipTests -Dprotocol.compatibility.generate.tests=true
This will generate the compatibility tests inside the ./hazelcast/target/generated-sources/annotations/com/hazelcast/client/protocol/compatibility folder.
Please note that the compilation will fail but the tests will be generated. You can copy the tests from here to hazelcast repository.