Apache PLC4X is an effort to create a set of libraries for communicating with industrial grade programmable logic controllers (PLCs) in a uniform way. We are planning on shipping libraries for usage in:
- Java
- Scala
- C/C++
As well as provide direct integration into other Apache projects, such as:
- Apache Edgent
- Apache Mynewt
Currently the project is configured to require the following software:
- Java 8 JDK: For running Maven in general as well as compiling the Java and Scala modules `JAVA_HOME configured to point to that.
- (Optional) Graphwiz: For generating the graphs in the documentation (http://www.graphviz.org/)
As currently a lot of the work is being done in the documentation and this is handled by mavens site plugin, in order to get all parts built, it is important to also trigger Mavens site generation.
This is done by adding the site:site
goal to the execution.
Unix/Linux/Mac:
./mvnw clean install site:site
Windows:
mvnw.cmd clean install site:site
This will generate all artifacts as well as their documentation.
In order to locally fully test the generated documentation site, it is advisable to add another goal site:stage
to the build, which will copy the sub-sites of all modules into one directory target/staging
.
Without this the links between modules will not work correctly.
Unix/Linux/Mac:
./mvnw clean install site:site site:stage
Windows:
mvnw.cmd clean install site:site site:stage