| POM: |
Show
hide
<!--
#%L
%%
Copyright (C) 2011 - 2014 BMW Car IT GmbH
%%
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#L%
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.joynr.tools.generator</groupId>
<artifactId>joynr-generator-standalone</artifactId>
<packaging>jar</packaging>
<name>${project.groupId}:${project.artifactId}</name>
<parent>
<groupId>io.joynr.tools</groupId>
<artifactId>generator</artifactId>
<version>0.22.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<profiles>
<profile>
<id>deployStandalone</id>
<properties>
<assembly.skipAssembly>false</assembly.skipAssembly>
</properties>
</profile>
</profiles>
<properties>
<joynr.generator.standalone.jar>${project.build.directory}/joynr-generator-standalone-${project.version}.jar</joynr.generator.standalone.jar>
<joynr.generator.config.cmake.path>${project.build.directory}/scripts</joynr.generator.config.cmake.path>
</properties>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/scripts</directory>
<includes>
<include>joynr-generator</include>
<include>JoynrGeneratorConfig.cmake</include>
<include>JoynrGeneratorConfigVersion.cmake</include>
</includes>
<filtering>true</filtering>
<targetPath>${project.build.directory}/scripts</targetPath>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<configuration>
<!-- exclude org.eclipse.xtext.dependencies, as it is packed as
pom and the unpack-dependencies goal is unable to process
these kinds of "archives"
-->
<excludeArtifactIds>org.eclipse.xtext.dependencies</excludeArtifactIds>
</configuration>
<executions>
<!-- unpack all non-runnable files into info -->
<execution>
<id>unpack-dependency-info</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<excludes>**/*.class,**/*.xtend,**/MANIFEST.MF,**/*.xmi,**/*.properties,
**/maven/,**/*.gif,**/*.jar,**/*.xtext,**/*.mwe2,**/*.tokens</excludes>
<useSubDirectoryPerArtifact>true</useSubDirectoryPerArtifact>
<includeScope>compile</includeScope>
<outputDirectory>${project.build.directory}/info</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</execution>
<!-- unpack runnable files into classes -->
<execution>
<id>unpack-dependency-classes</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includes>**/*.class,**/*.xtend,**/*.xtext, **/*.xtextbin, **/*.tokens,**/*xmi,**/log4j.properties</includes>
<includeScope>compile</includeScope>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</execution>
<execution>
<id>load-test-franca-file</id>
<phase>pre-integration-test</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeArtifactIds>basemodel</includeArtifactIds>
<outputDirectory>${project.build.directory}/model</outputDirectory>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<!-- use ant to copy the info directory without copying over empty directories -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>prepare-package</phase>
<configuration>
<tasks>
<copy todir="${project.build.directory}/classes/info"
includeEmptyDirs="false">
<fileset dir="${project.build.directory}/info" includes="**/*" />
</copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<!-- zip it all together, removing some further directories that the excludes
from the other plugins didnt seem to be able to remove -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<skipIfEmpty>true</skipIfEmpty>
<excludes>
<exclude>target/**/*</exclude>
<exclude>target</exclude>
<exclude>testdata/**/*</exclude>
<exclude>testdata</exclude>
</excludes>
<archive>
<manifest>
<mainClass>io.joynr.generator.Executor</mainClass>
</manifest>
<manifestEntries>
<mode>development</mode>
<url>${project.url}</url>
<key>value</key>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<id>saneExecution</id>
<phase>verify</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar</argument>
<argument>${basedir}/target/joynr-generator-standalone-${project.version}.jar</argument>
<argument>-outputPath</argument>
<argument>${basedir}/target/standalone-gen/saneExecution</argument>
<argument>-modelpath</argument>
<argument>${project.build.directory}/model/joynr/Routing.fidl</argument>
<argument>-generationLanguage</argument>
<argument>java</argument>
<argument>-jee</argument>
<argument>true</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>missingDescription</id>
<phase>verify</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar</argument>
<argument>${basedir}/target/joynr-generator-standalone-${project.version}.jar</argument>
<argument>-outputPath</argument>
<argument>${basedir}/target/standalone-gen/missingDescription</argument>
<argument>-modelpath</argument>
<argument>${basedir}/src/test/resources/MissingDescription.fidl</argument>
<argument>-generationLanguage</argument>
<argument>cpp</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>install-cmake-user-package-registry</id>
<phase>install</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${user.home}/.cmake/packages/JoynrGenerator</outputDirectory>
<resources>
<resource>
<directory>src/main/scripts</directory>
<includes>
<include>cmake-registry-path-to-JoynrGeneratorConfig.cmake</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<overwrite>true</overwrite>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>io.joynr.tools.generator</groupId>
<artifactId>cpp-generator</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.joynr.tools.generator</groupId>
<artifactId>java-generator</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.joynr</groupId>
<artifactId>basemodel</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.joynr.tools.generator</groupId>
<artifactId>js-generator</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.joynr.tools.generator</groupId>
<artifactId>generator-framework</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--
The sources of javassist must be added to the WAR due to its LGPL-2.1 license.
It is pulled in as transitive dependency:
io.joynr.java.messaging:messaging-servlet:jar:classes
+- org.reflections:reflections:jar
| +- javassist:javassist:jar
-->
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
|