387 lines
16 KiB
XML
387 lines
16 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
~ Licensed to the Apache Software Foundation (ASF) under one or more
|
|
~ contributor license agreements. See the NOTICE file distributed with
|
|
~ this work for additional information regarding copyright ownership.
|
|
~ The ASF licenses this file to You 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.
|
|
-->
|
|
<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>org.apache.hertzbeat</groupId>
|
|
<artifactId>hertzbeat</artifactId>
|
|
<version>2.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>hertzbeat-startup</artifactId>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>hertzbeat-startup</name>
|
|
<description>Apache HertzBeat startup module</description>
|
|
|
|
<dependencies>
|
|
<!-- Spring Boot Starter -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Spring Boot JPA -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Spring Boot Web -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
</dependency>
|
|
|
|
<!-- HertzBeat manager -->
|
|
<dependency>
|
|
<groupId>org.apache.hertzbeat</groupId>
|
|
<artifactId>hertzbeat-manager</artifactId>
|
|
</dependency>
|
|
|
|
<!-- HertzBeat common -->
|
|
<dependency>
|
|
<groupId>org.apache.hertzbeat</groupId>
|
|
<artifactId>hertzbeat-common-core</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.hertzbeat</groupId>
|
|
<artifactId>hertzbeat-common-spring</artifactId>
|
|
</dependency>
|
|
|
|
<!-- HertzBeat base -->
|
|
<dependency>
|
|
<groupId>org.apache.hertzbeat</groupId>
|
|
<artifactId>hertzbeat-base</artifactId>
|
|
</dependency>
|
|
|
|
<!-- HertzBeat warehouse -->
|
|
<dependency>
|
|
<groupId>org.apache.hertzbeat</groupId>
|
|
<artifactId>hertzbeat-warehouse</artifactId>
|
|
</dependency>
|
|
|
|
<!-- HertzBeat alerter -->
|
|
<dependency>
|
|
<groupId>org.apache.hertzbeat</groupId>
|
|
<artifactId>hertzbeat-alerter</artifactId>
|
|
</dependency>
|
|
|
|
<!-- HertzBeat remoting -->
|
|
<dependency>
|
|
<groupId>org.apache.hertzbeat</groupId>
|
|
<artifactId>hertzbeat-remoting</artifactId>
|
|
</dependency>
|
|
|
|
<!-- HertzBeat ai -->
|
|
<dependency>
|
|
<groupId>org.apache.hertzbeat</groupId>
|
|
<artifactId>hertzbeat-ai</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Commons Lang3 -->
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Sureness for security -->
|
|
<dependency>
|
|
<groupId>com.usthe.sureness</groupId>
|
|
<artifactId>spring-boot3-starter-sureness</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Netty -->
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-all</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Keep the startup runtime aligned with the collector MySQL R2DBC stack. -->
|
|
<dependency>
|
|
<groupId>io.projectreactor.netty</groupId>
|
|
<artifactId>reactor-netty-core</artifactId>
|
|
<version>1.2.3</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.projectreactor.netty</groupId>
|
|
<artifactId>reactor-netty-http</artifactId>
|
|
<version>1.2.3</version>
|
|
</dependency>
|
|
|
|
<!-- Database Migration - Flyway -->
|
|
<dependency>
|
|
<groupId>org.flywaydb</groupId>
|
|
<artifactId>flyway-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.flywaydb</groupId>
|
|
<artifactId>flyway-mysql</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.flywaydb</groupId>
|
|
<artifactId>flyway-database-postgresql</artifactId>
|
|
</dependency>
|
|
|
|
<!-- H2 Database (default) -->
|
|
<dependency>
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
|
|
<!-- Lombok -->
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Test dependencies -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>testcontainers</artifactId>
|
|
<version>${testcontainers.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<finalName>apache-hertzbeat-${hzb.version}</finalName>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
<includes>
|
|
<include>*.yml</include>
|
|
<include>*.properties</include>
|
|
<include>*.xml</include>
|
|
<include>banner.txt</include>
|
|
<include>define/**</include>
|
|
<include>db/**</include>
|
|
<include>templates/**</include>
|
|
<include>**/*.html</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>${maven-jar-plugin.version}</version>
|
|
<configuration>
|
|
<classesDirectory>target/classes/</classesDirectory>
|
|
<archive>
|
|
<!--Exclude maven descriptors from generated JAR-->
|
|
<addMavenDescriptor>false</addMavenDescriptor>
|
|
<manifest>
|
|
<!--Main class of the project-->
|
|
<mainClass>org.apache.hertzbeat.startup.HertzBeatApplication</mainClass>
|
|
<useUniqueVersions>false</useUniqueVersions>
|
|
<!--Add third-party JARs to the classpath using maven-dependency-plugin-->
|
|
<addClasspath>true</addClasspath>
|
|
<!--Location of external dependency JARs-->
|
|
<classpathPrefix>lib/</classpathPrefix>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<Class-Path>. config</Class-Path>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>release</id>
|
|
<build>
|
|
<plugins>
|
|
<!--Critical plugin, assembly plugin provided by maven, should be placed last-->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>${maven-assembly-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>make-zip</id>
|
|
<!--Bound maven operation-->
|
|
<phase>package</phase>
|
|
<!--Run once-->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>../dist</outputDirectory>
|
|
<descriptors>
|
|
<descriptor>../script/assembly/server/assembly.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>make-docker-zip</id>
|
|
<!--Bound maven operation-->
|
|
<phase>package</phase>
|
|
<!--Run once-->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>../dist</outputDirectory>
|
|
<descriptors>
|
|
<descriptor>../script/assembly/server/assembly-docker.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>make-docker-compose-script</id>
|
|
<!--Bound maven operation-->
|
|
<phase>package</phase>
|
|
<!--Run once-->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>../dist</outputDirectory>
|
|
<descriptors>
|
|
<descriptor>../script/assembly/server/assembly-docker-compose.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>runtime</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>${maven-assembly-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>make-macos-arm64</id>
|
|
<!--Bound maven operation-->
|
|
<phase>package</phase>
|
|
<!--Run once-->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>../script/assembly/server/assembly-macos-arm64.xml</descriptor>
|
|
</descriptors>
|
|
<outputDirectory>../dist</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>make-macos-amd64</id>
|
|
<!--Bound maven operation-->
|
|
<phase>package</phase>
|
|
<!--Run once-->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>../script/assembly/server/assembly-macos-amd64.xml</descriptor>
|
|
</descriptors>
|
|
<outputDirectory>../dist</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>make-linux-arm64</id>
|
|
<!--Bound maven operation-->
|
|
<phase>package</phase>
|
|
<!--Run once-->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>../script/assembly/server/assembly-linux-arm64.xml</descriptor>
|
|
</descriptors>
|
|
<outputDirectory>../dist</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>make-linux-amd64</id>
|
|
<!--Bound maven operation-->
|
|
<phase>package</phase>
|
|
<!--Run once-->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>../script/assembly/server/assembly-linux-amd64.xml</descriptor>
|
|
</descriptors>
|
|
<outputDirectory>../dist</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>make-windows-64</id>
|
|
<!--Bound maven operation-->
|
|
<phase>package</phase>
|
|
<!--Run once-->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>../script/assembly/server/assembly-windows-64.xml</descriptor>
|
|
</descriptors>
|
|
<outputDirectory>../dist</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>make-docker-compose-script</id>
|
|
<!--Bound maven operation-->
|
|
<phase>package</phase>
|
|
<!--Run once-->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>../script/assembly/server/assembly-docker-compose.xml</descriptor>
|
|
</descriptors>
|
|
<outputDirectory>../dist</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
</project>
|