mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
128 lines
3.8 KiB
XML
128 lines
3.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/xsd/maven-4.0.0.xsd">
|
||
<modelVersion>4.0.0</modelVersion>
|
||
<parent>
|
||
<groupId>com.alibaba.otter</groupId>
|
||
<artifactId>canal</artifactId>
|
||
<version>1.1.5-SNAPSHOT</version>
|
||
<relativePath>../pom.xml</relativePath>
|
||
</parent>
|
||
<groupId>com.alibaba.otter</groupId>
|
||
<artifactId>canal.deployer</artifactId>
|
||
<packaging>jar</packaging>
|
||
<name>canal deployer module for otter ${project.version}</name>
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>com.alibaba.otter</groupId>
|
||
<artifactId>canal.server</artifactId>
|
||
<version>${project.version}</version>
|
||
</dependency>
|
||
|
||
<!-- 这里指定runtime的metrics provider-->
|
||
<dependency>
|
||
<groupId>com.alibaba.otter</groupId>
|
||
<artifactId>canal.prometheus</artifactId>
|
||
<version>${project.version}</version>
|
||
<scope>runtime</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
|
||
<build>
|
||
<plugins>
|
||
<!-- deploy模块的packaging通常是jar,如果项目中没有java 源代码或资源文件,加上这一段配置使项目能通过构建 -->
|
||
<plugin>
|
||
<artifactId>maven-jar-plugin</artifactId>
|
||
<configuration>
|
||
<archive>
|
||
<addMavenDescriptor>true</addMavenDescriptor>
|
||
</archive>
|
||
<excludes>
|
||
<exclude>**/logback.xml</exclude>
|
||
<exclude>**/canal.properties</exclude>
|
||
<exclude>**/spring/**</exclude>
|
||
<exclude>**/example/**</exclude>
|
||
<exclude>**/mq.yml</exclude>
|
||
</excludes>
|
||
</configuration>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-assembly-plugin</artifactId>
|
||
<!-- 这是最新版本,推荐使用这个版本 -->
|
||
<version>2.2.1</version>
|
||
<executions>
|
||
<execution>
|
||
<id>assemble</id>
|
||
<goals>
|
||
<goal>single</goal>
|
||
</goals>
|
||
<phase>package</phase>
|
||
</execution>
|
||
</executions>
|
||
<configuration>
|
||
<appendAssemblyId>false</appendAssemblyId>
|
||
<attach>false</attach>
|
||
</configuration>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
|
||
<profiles>
|
||
<profile>
|
||
<id>dev</id>
|
||
<activation>
|
||
<activeByDefault>true</activeByDefault>
|
||
<property>
|
||
<name>env</name>
|
||
<value>!release</value>
|
||
</property>
|
||
</activation>
|
||
|
||
<build>
|
||
<plugins>
|
||
<plugin>
|
||
<artifactId>maven-assembly-plugin</artifactId>
|
||
<configuration>
|
||
<!-- maven assembly插件需要一个描述文件 来告诉插件包的结构以及打包所需的文件来自哪里 -->
|
||
<descriptors>
|
||
<descriptor>${basedir}/src/main/assembly/dev.xml</descriptor>
|
||
</descriptors>
|
||
<finalName>canal</finalName>
|
||
<outputDirectory>${project.build.directory}</outputDirectory>
|
||
</configuration>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
|
||
</profile>
|
||
|
||
<profile>
|
||
<id>release</id>
|
||
<activation>
|
||
<property>
|
||
<name>env</name>
|
||
<value>release</value>
|
||
</property>
|
||
</activation>
|
||
|
||
<build>
|
||
<plugins>
|
||
<plugin>
|
||
<artifactId>maven-assembly-plugin</artifactId>
|
||
<configuration>
|
||
<!-- 发布模式使用的maven assembly插件描述文件 -->
|
||
<descriptors>
|
||
<descriptor>${basedir}/src/main/assembly/release.xml</descriptor>
|
||
</descriptors>
|
||
<!-- 如果一个应用的包含多个deploy模块,如果使用同样的包名, 如果把它们复制的一个目录中可能会失败,所以包名加了 artifactId以示区分 -->
|
||
<finalName>${project.artifactId}-${project.version}</finalName>
|
||
<!-- scm 要求 release 模式打出的包放到顶级目录下的target子目录中 -->
|
||
<outputDirectory>${project.parent.build.directory}</outputDirectory>
|
||
</configuration>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
</profile>
|
||
</profiles>
|
||
</project>
|