123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <relativePath>../</relativePath>
- <!--<relativePath>../pom.xml</relativePath>-->
- <artifactId>wildfirechat-parent</artifactId>
- <groupId>cn.wildfirechat</groupId>
- <version>0.96</version>
- </parent>
- <artifactId>distribution</artifactId>
- <packaging>pom</packaging>
- <name>Moquette - distribution</name>
- <!-- Includes all modules -->
- <dependencies>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>moquette-broker</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- <build>
- <sourceDirectory>${basedir}/src/main/</sourceDirectory> <!-- Force default maven layout -->
- <plugins>
- <plugin>
- <groupId>pl.project13.maven</groupId>
- <artifactId>git-commit-id-plugin</artifactId>
- <version>2.1.5</version>
- <executions>
- <execution>
- <goals>
- <goal>revision</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <!--日期格式;默认值:dd.MM.yyyy '@' HH:mm:ss z;-->
- <dateFormat>yyyyMMddHHmmss</dateFormat>
- <!--,构建过程中,是否打印详细信息;默认值:false;-->
- <verbose>true</verbose>
- <!-- ".git"文件路径;默认值:${project.basedir}/.git; -->
- <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
- <!--若项目打包类型为pom,是否取消构建;默认值:true;-->
- <skipPoms>false</skipPoms>
- <!--是否生成"git.properties"文件;默认值:false;-->
- <generateGitPropertiesFile>true</generateGitPropertiesFile>
- <!--指定"git.properties"文件的存放路径(相对于${project.basedir}的一个路径);-->
- <generateGitPropertiesFilename>src/main/resources/git.properties</generateGitPropertiesFilename>
- <!--".git"文件夹未找到时,构建是否失败;若设置true,则构建失败;若设置false,则跳过执行该目标;默认值:true;-->
- <failOnNoGitDirectory>false</failOnNoGitDirectory>
- <!--git描述配置,可选;由JGit提供实现;-->
- <gitDescribe>
- <!--是否生成描述属性-->
- <skip>false</skip>
- <!--提交操作未发现tag时,仅打印提交操作ID,-->
- <always>false</always>
- <!--提交操作ID显式字符长度,最大值为:40;默认值:7;
- 0代表特殊意义;后面有解释;
- -->
- <abbrev>7</abbrev>
- <!--构建触发时,代码有修改时(即"dirty state"),添加指定后缀;默认值:"";-->
- <dirty>-dirty</dirty>
- <!--always print using the "tag-commits_from_tag-g_commit_id-maybe_dirty" format, even if "on" a tag.
- The distance will always be 0 if you're "on" the tag.
- -->
- <forceLongFormat>false</forceLongFormat>
- </gitDescribe>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.4</version>
- <executions>
- <execution>
- <id>distribution-package</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <!-- Specifies the configuration file of the assembly plugin -->
- <descriptors>
- <descriptor>${basedir}/src/main/assembly/assembly.xml</descriptor>
- </descriptors>
- <tarLongFileMode>gnu</tarLongFileMode>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>jdeb</artifactId>
- <groupId>org.vafer</groupId>
- <version>1.8</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>jdeb</goal>
- </goals>
- <configuration>
- <controlDir>${project.basedir}/src/main/deb/control</controlDir>
- <skipPOMs>false</skipPOMs>
- <deb>${project.build.directory}/im-server-${project.version}.deb</deb>
- <dataSet>
- <data>
- <src>${project.build.directory}/distribution-${project.version}-bundle-tar.tar.gz</src>
- <type>archive</type>
- <mapper>
- <type>perm</type>
- <prefix>/opt/im-server</prefix>
- </mapper>
- </data>
- <data>
- <src>${project.basedir}/../systemd/im-server.service</src>
- <type>file</type>
- <mapper>
- <type>perm</type>
- <prefix>/usr/lib/systemd/system</prefix>
- </mapper>
- </data>
- </dataSet>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- 打包RPM 开始-->
- <!-- 打包RPM 包需要本地有rpm命令才可以,linux和mac都可以安装rpm。如果是windows需要cygwin安装rpm才可以,如果不需要rpm包,可以把这个plugin注释掉-->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <version>2.2.0</version>
- <executions>
- <execution>
- <id>generate-rpm</id>
- <goals>
- <goal>rpm</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <group>Applications/Chat</group>
- <name>im-server</name>
- <needarch>noarch</needarch>
- <targetOS>linux</targetOS>
- <prefix>/opt/im-server</prefix>
- <defineStatements>
- <defineStatement>_unpackaged_files_terminate_build 0</defineStatement>
- </defineStatements>
- <copyTo>
- target/im-server-${project.version}.rpm
- </copyTo>
- <requires>
- <require>java-1.8.0-openjdk-headless</require>
- </requires>
- <mappings>
- <mapping>
- <directory>/opt/im-server</directory>
- <filemode>755</filemode>
- <sources>
- <source>
- <location>${project.build.directory}/distribution-${project.version}-bundle-tar.tar.gz</location>
- </source>
- </sources>
- </mapping>
- <mapping>
- <directory>/usr/lib/systemd/system</directory>
- <filemode>644</filemode>
- <username>root</username>
- <groupname>root</groupname>
- <directoryIncluded>false</directoryIncluded>
- <sources>
- <source>
- <location>${project.basedir}/../systemd/im-server.service</location>
- </source>
- </sources>
- </mapping>
- </mappings>
- <postinstallScriptlet>
- <scriptFile>${project.basedir}/src/main/rpm/install.sh</scriptFile>
- <fileEncoding>utf-8</fileEncoding>
- <filter>true</filter>
- </postinstallScriptlet>
- <postremoveScriptlet>
- <scriptFile>${project.basedir}/src/main/rpm/uninstall.sh</scriptFile>
- <fileEncoding>utf-8</fileEncoding>
- <filter>true</filter>
- </postremoveScriptlet>
- </configuration>
- </plugin>
- <!-- 打包RPM 结束-->
- </plugins>
- </build>
- </project>
|