| Apache PLC4X Build-Tools |
| ======================== |
| |
| Apache PLC4X Build-Tools is a sub-project of the Apache PLC4X project and contains |
| all the tools needed to build the main project. |
| |
| Currently the only tool it contains is a maven plugin used to generate drivers. |
| |
| It currently doesn't contain any actual code-generation modules, but just the plugin |
| and the API required to load and use code-generation modules. |
| |
| The actual code-generation modules are located inside the main project. |
| |
| Environment |
| ----------- |
| |
| Currently the project is configured to require the following software: |
| |
| 1) Java 8 JDK (Or newer): For running Maven in general as well as compiling the Java |
| modules `JAVA_HOME` configured to point to that. |
| |
| |
| Getting Started |
| --------------- |
| |
| Normally you wouldn't be required to build this module as the artifacts it produces |
| will be made available via one of the maven repositories. However if you want to improve |
| or fix the existing tools, you will have to build your version locally. |
| |
| You must have Java 8 installed on your system and connectivity to Maven Central |
| (for downloading external third party dependencies). Maven will be automatically |
| downloaded and installed by the maven wrapper `mvnw`. |
| |
| NOTE: When running from sources-zip, the `mvnw` might not be executable, this can easily |
| be fixed by running the following command in the directory. |
| |
| $ chmod +x mvnw |
| |
| Build PLC4X Java jars and install them in your local maven repository |
| |
| $ ./mvnw install |
| |
| (Optionally you can use the normal Maven `mvn` command, if you have a reasonably fresh version of Maven installed) |
| |
| This should make the build-tools available to the main projects build. |
| In order to use your locally built version of the build-tools you should |
| update the property: `plc4x-code-generation.version` in the PLC4X main pom.xml. |
| |
| |
| |
| Licensing |
| --------- |
| |
| Apache PLC4X is released under the Apache License Version 2.0. |