The ‘mvn install’ piece that posts my freshly-compiled module to a running gateway really cuts down on the debug cycle, as you don’t have to kill the gateway and restart (which takes more than a minute on my dev machine).
Unfortunately, when I use this method, the gateway can not find second-order dependencies of my module, I get NoClassDefFoundErrors. (Second-order means a dependency of one of my dependencies.)
When I execute ‘mvn install’, the artifacts that are copied (shown in the build output starting with “copying dependency artifact:”) do not include second-order dependencies. However, ‘mvn package’ does include them.
I’m using Ignition 7.9.1 and ignition-maven-plugin 1.0.9 (I also tried 1.0.12).
Here’s my ignition-maven-plugin config:
<plugin>
<groupId>com.inductiveautomation.ignitionsdk</groupId>
<artifactId>ignition-maven-plugin</artifactId>
<version>1.0.9</version>
<executions>
<execution>
<id>package-modl</id>
<phase>package</phase>
<goals>
<goal>modl</goal>
</goals>
</execution>
<execution>
<id>post-module</id>
<phase>install</phase>
<goals>
<goal>modl</goal>
<goal>post</goal>
</goals>
</execution>
</executions>
<configuration>
<projectScopes>
<projectScope>
<name>sqim-gateway</name>
<scope>G</scope>
</projectScope>
<projectScope>
<name>sqim-designer</name>
<scope>D</scope>
</projectScope>
<projectScope>
<name>sqim-client</name>
<scope>CD</scope>
</projectScope>
</projectScopes>
<moduleId>com.seeq.ignition</moduleId>
<moduleName>Seeq</moduleName>
<moduleDescription>Trending, visualizations, calculations, analytics, cleansing, modeling,
advanced monitoring and reporting.
</moduleDescription>
<moduleVersion>${project.version}</moduleVersion>
<requiredIgnitionVersion>7.9.0</requiredIgnitionVersion>
<requiredFrameworkVersion>7</requiredFrameworkVersion>
<!--<licenseFile>license.html</licenseFile>-->
<!--<documentationFile>doc/index.html</documentationFile>-->
<depends>
<depend>
<scope>G</scope>
<moduleId>xopc</moduleId>
</depend>
<depend>
<scope>D</scope>
<moduleId>fpmi</moduleId>
</depend>
</depends>
<hooks>
<hook>
<scope>G</scope>
<hookClass>com.seeq.ignition.gateway.GatewayHook</hookClass>
</hook>
<hook>
<scope>D</scope>
<hookClass>com.seeq.ignition.designer.DesignerHook</hookClass>
</hook>
</hooks>
</configuration>
</plugin>