dojo.compressor-maven-plugin
Application of the dojo-compressor-maven-plugin
Add clazzes.org as plugin repository
Add the following to your project's pom.xml file:
<pluginRepositories> <pluginRepository> <id>org.clazzes</id> <name>Clazzes.org repository.</name> <url>http://maven.clazzes.org</url> </pluginRepository> </pluginRepositories>
Define an xDojoPackage variable
This step is needed in order to resolve the dojo package IDs of your own project. If your project is a very simple webapp project, which only uses foreign modules, this step may be skipped.
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <xDojoPackage>dcm;version=${project.version};location=OSGI-INF/webapp/dojo-config-manager/js</xDojoPackage> </properties>
Configure the maven plugins
As above, X-Dojo-Package may be optional for small toplevel webapp projects.
Please note, that entryPointsToAssemble is not needed for library projects.
<build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <remoteOBR>clazzes.org-dojo-dist</remoteOBR> <prefixUrl>http://maven.clazzes.org</prefixUrl> <instructions> <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> <Private-Package> .... </Private-Package> <Import-Package>*</Import-Package> <X-Dojo-Package>${xDojoPackage}</X-Dojo-Package> </instructions> </configuration> </plugin> <plugin> <groupId>org.clazzes.dojo</groupId> <artifactId>dojo-compressor-maven-plugin</artifactId> <version>0.3.1</version> <executions> <execution> <phase>generate-resources</phase> <configuration> <entryPointsToAssemble>dcm-web\.js</entryPointsToAssemble> <xDojoPackage>${xDojoPackage}</xDojoPackage> <munge>true</munge> <addNorefHack>true</addNorefHack> </configuration> <goals> <goal>compress</goal> </goals> </execution> </executions> </plugin> </plugins> </build>