mirror of
https://github.com/correl/mage.git
synced 2024-11-27 03:00:11 +00:00
196 lines
8.8 KiB
XML
196 lines
8.8 KiB
XML
<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>
|
|
|
|
<parent>
|
|
<groupId>org.mage</groupId>
|
|
<artifactId>mage-root</artifactId>
|
|
<version>1.4.9</version>
|
|
</parent>
|
|
|
|
<artifactId>mage</artifactId>
|
|
<packaging>jar</packaging>
|
|
<name>Mage Framework</name>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>log4j</groupId>
|
|
<artifactId>log4j</artifactId>
|
|
<type>jar</type>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
<version>1.4.187</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.j256.ormlite</groupId>
|
|
<artifactId>ormlite-jdbc</artifactId>
|
|
<version>4.48</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.12</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java</artifactId>
|
|
<version>${protobuf.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<configuration>
|
|
<encoding>UTF-8</encoding>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- The plugins below are added by following http://vlkan.com/blog/post/2015/11/27/maven-protobuf/ -->
|
|
<!-- copy protoc binary into build directory -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>${maven-dependency-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-protoc</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protoc</artifactId>
|
|
<version>${protobuf.version}</version>
|
|
<classifier>${os.detected.classifier}</classifier>
|
|
<type>exe</type>
|
|
<overWrite>true</overWrite>
|
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- compile proto buffer files using copied protoc binary -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<version>${maven-antrun-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>exec-protoc</id>
|
|
<phase>generate-sources</phase>
|
|
<configuration>
|
|
<target>
|
|
<property name="protoc.filename" value="protoc-${protobuf.version}-${os.detected.classifier}.exe"/>
|
|
<property name="protoc.filepath" value="${project.build.directory}/${protoc.filename}"/>
|
|
<chmod file="${protoc.filepath}" perm="ugo+rx"/>
|
|
<mkdir dir="${protobuf.output.directory}" />
|
|
<path id="protobuf.input.filepaths.path">
|
|
<fileset dir="${protobuf.input.directory}">
|
|
<include name="**/*.proto"/>
|
|
</fileset>
|
|
</path>
|
|
<pathconvert pathsep=" " property="protobuf.input.filepaths" refid="protobuf.input.filepaths.path"/>
|
|
<exec executable="${protoc.filepath}" failonerror="true">
|
|
<arg value="-I"/>
|
|
<arg value="${protobuf.input.directory}"/>
|
|
<arg value="--java_out"/>
|
|
<arg value="${protobuf.output.directory}"/>
|
|
<arg line="${protobuf.input.filepaths}"/>
|
|
</exec>
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- add generated proto buffer classes into the package -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>${build-helper-maven-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>add-classes</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>${protobuf.output.directory}</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- shade protobuf to avoid version conflicts -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>${maven-shade-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<relocations>
|
|
<relocation>
|
|
<pattern>com.google.protobuf</pattern>
|
|
<shadedPattern>${project.groupId}.${project.artifactId}.shaded.protobuf</shadedPattern>
|
|
</relocation>
|
|
</relocations>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
|
|
<finalName>mage</finalName>
|
|
|
|
<!-- The extension below is added added by following http://vlkan.com/blog/post/2015/11/27/maven-protobuf/ -->
|
|
<extensions>
|
|
<!-- provides os.detected.classifier (i.e. linux-x86_64, osx-x86_64) property -->
|
|
<extension>
|
|
<groupId>kr.motd.maven</groupId>
|
|
<artifactId>os-maven-plugin</artifactId>
|
|
<version>${os-maven-plugin.version}</version>
|
|
</extension>
|
|
</extensions>
|
|
</build>
|
|
|
|
<!-- The properties below are added added by following http://vlkan.com/blog/post/2015/11/27/maven-protobuf/ -->
|
|
<properties>
|
|
<!-- protobuf paths -->
|
|
<protobuf.input.directory>${project.basedir}/src/main/proto</protobuf.input.directory>
|
|
<protobuf.output.directory>${project.build.directory}/generated-sources</protobuf.output.directory>
|
|
|
|
<!-- library versions -->
|
|
<build-helper-maven-plugin.version>1.9.1</build-helper-maven-plugin.version>
|
|
<maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
|
|
<maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
|
|
<maven-shade-plugin.version>2.4.2</maven-shade-plugin.version>
|
|
<os-maven-plugin.version>1.4.1.Final</os-maven-plugin.version>
|
|
<protobuf.version>3.0.0-beta-1</protobuf.version>
|
|
</properties>
|
|
|
|
</project>
|