I’ve spent two weeks learning how to get a stub module compiled and installed on the Ignition gateway, using in the Ignition Maven Plugin. I’ve spent three weeks total, as I spent a week in the Eclipse/Ant environment before I found out about the new SDK and Maven. For our company, three weeks of an engineer’s time is a big investment just to get us to the point where we can begin our evaluation of Ignition.
Inductive Automation can ease the transition to Maven by including its own introduction to Maven in the documentation of the Ignition Maven Plugin, rather than referring the reader to the Maven five-minute introduction. The critical terms “project” and “module” have different meanings in Maven, the IDE, and Ignition. This leads to confusion. The confusion is compounded by the less-than-precise usage of “project” and “module” in the Maven documents, and even in the top-level pom file. The confused developer is forced to resort to google searches, which muddy the water further by inconsistent usage of terminology.
IA can avoid all this confusion and lost time by explaining how Maven, and the Ignition Maven plugin, go about compiling code and building the modl file, making the correct distinctions between “project” and “module” in context. Special care is needed when discussing the projectScope and depend tags in the configuration section of the plugin declaration. I did figure out projectScope–it does what I thought the depend tag would do. I have no idea what the depend tag does, as “fpmi” appears nowhere else in the document.