You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
872 lines
40 KiB
872 lines
40 KiB
<?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</groupId> |
|
<artifactId>apache</artifactId> |
|
<version>25</version> |
|
</parent> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler</artifactId> |
|
<version>dev-SNAPSHOT</version> |
|
<packaging>pom</packaging> |
|
<name>${project.artifactId}</name> |
|
<description>Dolphin Scheduler is a distributed and easy-to-expand visual DAG workflow scheduling system, dedicated |
|
to solving the complex dependencies in data processing, making the scheduling system out of the box for data |
|
processing.</description> |
|
|
|
<modules> |
|
<module>dolphinscheduler-bom</module> |
|
<module>dolphinscheduler-alert</module> |
|
<module>dolphinscheduler-spi</module> |
|
<module>dolphinscheduler-registry</module> |
|
<module>dolphinscheduler-task-plugin</module> |
|
<module>dolphinscheduler-common</module> |
|
<module>dolphinscheduler-api</module> |
|
<module>dolphinscheduler-yarn-aop</module> |
|
<module>dolphinscheduler-dao</module> |
|
<module>dolphinscheduler-dist</module> |
|
<module>dolphinscheduler-service</module> |
|
<module>dolphinscheduler-microbench</module> |
|
<module>dolphinscheduler-data-quality</module> |
|
<module>dolphinscheduler-standalone-server</module> |
|
<module>dolphinscheduler-datasource-plugin</module> |
|
<module>dolphinscheduler-meter</module> |
|
<module>dolphinscheduler-master</module> |
|
<module>dolphinscheduler-worker</module> |
|
<module>dolphinscheduler-tools</module> |
|
<module>dolphinscheduler-ui</module> |
|
<module>dolphinscheduler-scheduler-plugin</module> |
|
<module>dolphinscheduler-storage-plugin</module> |
|
<module>dolphinscheduler-extract</module> |
|
<module>dolphinscheduler-dao-plugin</module> |
|
<module>dolphinscheduler-authentication</module> |
|
</modules> |
|
|
|
<properties> |
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
|
<spring.boot.version>2.6.1</spring.boot.version> |
|
<java.version>1.8</java.version> |
|
<junit.version>5.9.0</junit.version> |
|
<mockito.version>3.12.4</mockito.version> |
|
<spotbugs.version>3.1.12</spotbugs.version> |
|
<maven-compiler-plugin.version>3.3</maven-compiler-plugin.version> |
|
<maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version> |
|
<maven-release-plugin.version>2.5.3</maven-release-plugin.version> |
|
<maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version> |
|
<maven-source-plugin.version>2.4</maven-source-plugin.version> |
|
<maven-surefire-plugin.version>3.0.0-M6</maven-surefire-plugin.version> |
|
<maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version> |
|
<maven-shade-plugin.version>3.2.1</maven-shade-plugin.version> |
|
<rpm-maven-plugion.version>2.2.0</rpm-maven-plugion.version> |
|
<aspectj-maven-plugin.version>1.14.0</aspectj-maven-plugin.version> |
|
<spotless.version>2.27.2</spotless.version> |
|
<jacoco.version>0.8.8</jacoco.version> |
|
<maven.deploy.skip>false</maven.deploy.skip> |
|
<cobertura-maven-plugin.version>2.7</cobertura-maven-plugin.version> |
|
<auto-service.version>1.0.1</auto-service.version> |
|
<jacoco.skip>false</jacoco.skip> |
|
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version> |
|
<exec-maven-plugin.version>3.0.0</exec-maven-plugin.version> |
|
<owasp-dependency-check-maven.version>10.0.2</owasp-dependency-check-maven.version> |
|
<lombok.version>1.18.20</lombok.version> |
|
<awaitility.version>4.2.0</awaitility.version> |
|
<truth.version>1.4.2</truth.version> |
|
<docker.hub>apache</docker.hub> |
|
<docker.repo>${project.name}</docker.repo> |
|
<docker.tag>${project.version}</docker.tag> |
|
<docker.build.skip>true</docker.build.skip> |
|
<docker.push.skip>true</docker.push.skip> |
|
<skipDepCheck>true</skipDepCheck> |
|
<build.ui.skip>false</build.ui.skip> |
|
<spotless.skip>false</spotless.skip> |
|
|
|
<skipUT>false</skipUT> |
|
</properties> |
|
|
|
<dependencyManagement> |
|
<dependencies> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-master</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-worker</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-api</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-alert-server</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-standalone-server</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-ui</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-yarn-aop</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-common</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-dao</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-service</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-meter</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-spi</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-data-quality</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-tools</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-alert-api</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-alert-all</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-registry-api</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-registry-all</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-scheduler-api</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-scheduler-all</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-datasource-api</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-datasource-all</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-task-api</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-task-all</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-storage-api</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-storage-all</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-extract-base</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-extract-master</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-extract-worker</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-extract-alert</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-dao-plugin-all</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-dao-api</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-dao-h2</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-dao-mysql</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-dao-postgresql</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.apache.dolphinscheduler</groupId> |
|
<artifactId>dolphinscheduler-aws-authentication</artifactId> |
|
<version>${project.version}</version> |
|
</dependency> |
|
|
|
<dependency> |
|
<groupId>org.junit</groupId> |
|
<artifactId>junit-bom</artifactId> |
|
<version>${junit.version}</version> |
|
<type>pom</type> |
|
<scope>import</scope> |
|
</dependency> |
|
</dependencies> |
|
|
|
</dependencyManagement> |
|
|
|
<dependencies> |
|
<!-- |
|
NOTE: only development / test phase dependencies (scope = test / provided) |
|
that won't be packaged into final jar can be declared here. |
|
For example: annotation processors, test dependencies that are used by most |
|
of the submodules. |
|
--> |
|
<dependency> |
|
<groupId>org.junit.jupiter</groupId> |
|
<artifactId>junit-jupiter-api</artifactId> |
|
<scope>test</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.junit.vintage</groupId> |
|
<artifactId>junit-vintage-engine</artifactId> |
|
<scope>test</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.mockito</groupId> |
|
<artifactId>mockito-core</artifactId> |
|
<version>${mockito.version}</version> |
|
<scope>test</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.mockito</groupId> |
|
<artifactId>mockito-inline</artifactId> |
|
<version>${mockito.version}</version> |
|
<scope>test</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.mockito</groupId> |
|
<artifactId>mockito-junit-jupiter</artifactId> |
|
<version>${mockito.version}</version> |
|
<scope>test</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.jacoco</groupId> |
|
<artifactId>org.jacoco.agent</artifactId> |
|
<version>${jacoco.version}</version> |
|
<classifier>runtime</classifier> |
|
<scope>test</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot-configuration-processor</artifactId> |
|
<version>${spring.boot.version}</version> |
|
<optional>true</optional> |
|
</dependency> |
|
<dependency> |
|
<groupId>com.google.auto.service</groupId> |
|
<artifactId>auto-service</artifactId> |
|
<version>${auto-service.version}</version> |
|
<scope>provided</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.projectlombok</groupId> |
|
<artifactId>lombok</artifactId> |
|
<version>${lombok.version}</version> |
|
<scope>provided</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.awaitility</groupId> |
|
<artifactId>awaitility</artifactId> |
|
<version>${awaitility.version}</version> |
|
<scope>test</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>com.google.truth</groupId> |
|
<artifactId>truth</artifactId> |
|
<version>${truth.version}</version> |
|
<scope>test</scope> |
|
</dependency> |
|
</dependencies> |
|
|
|
<build> |
|
<pluginManagement> |
|
<plugins> |
|
<plugin> |
|
<groupId>org.codehaus.mojo</groupId> |
|
<artifactId>rpm-maven-plugin</artifactId> |
|
<version>${rpm-maven-plugion.version}</version> |
|
<inherited>false</inherited> |
|
</plugin> |
|
|
|
<plugin> |
|
<groupId>org.codehaus.mojo</groupId> |
|
<artifactId>aspectj-maven-plugin</artifactId> |
|
<version>${aspectj-maven-plugin.version}</version> |
|
<configuration> |
|
<complianceLevel>${java.version}</complianceLevel> |
|
<source>${java.version}</source> |
|
<target>${java.version}</target> |
|
<showWeaveInfo>true</showWeaveInfo> |
|
<verbose>true</verbose> |
|
<Xlint>ignore</Xlint> |
|
<encoding>UTF-8</encoding> |
|
</configuration> |
|
<executions> |
|
<execution> |
|
<goals> |
|
<goal>compile</goal> |
|
<goal>test-compile</goal> |
|
</goals> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
|
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-compiler-plugin</artifactId> |
|
<version>${maven-compiler-plugin.version}</version> |
|
<configuration> |
|
<source>${java.version}</source> |
|
<target>${java.version}</target> |
|
<testSource>${java.version}</testSource> |
|
<testTarget>${java.version}</testTarget> |
|
</configuration> |
|
</plugin> |
|
|
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-release-plugin</artifactId> |
|
<version>${maven-release-plugin.version}</version> |
|
<configuration> |
|
<tagNameFormat>@{project.version}</tagNameFormat> |
|
</configuration> |
|
</plugin> |
|
|
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-assembly-plugin</artifactId> |
|
<version>${maven-assembly-plugin.version}</version> |
|
</plugin> |
|
|
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-javadoc-plugin</artifactId> |
|
<version>${maven-javadoc-plugin.version}</version> |
|
<configuration> |
|
<quiet>true</quiet> |
|
<source>8</source> |
|
<failOnError>false</failOnError> |
|
</configuration> |
|
</plugin> |
|
|
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-dependency-plugin</artifactId> |
|
<version>${maven-dependency-plugin.version}</version> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-shade-plugin</artifactId> |
|
<version>${maven-shade-plugin.version}</version> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-jar-plugin</artifactId> |
|
<version>${maven-jar-plugin.version}</version> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.codehaus.mojo</groupId> |
|
<artifactId>exec-maven-plugin</artifactId> |
|
<version>${exec-maven-plugin.version}</version> |
|
<executions> |
|
<execution> |
|
<id>docker-build</id> |
|
<goals> |
|
<goal>exec</goal> |
|
</goals> |
|
<phase>package</phase> |
|
<configuration> |
|
<skip>${docker.build.skip}</skip> |
|
<environmentVariables> |
|
<DOCKER_BUILDKIT>1</DOCKER_BUILDKIT> |
|
</environmentVariables> |
|
<executable>docker</executable> |
|
<workingDirectory>${project.basedir}</workingDirectory> |
|
<arguments> |
|
<argument>buildx</argument> |
|
<argument>build</argument> |
|
<argument>--load</argument> |
|
<argument>--no-cache</argument> |
|
<argument>-t</argument> |
|
<argument>${docker.hub}/${docker.repo}:${docker.tag}</argument> |
|
<argument>-t</argument> |
|
<argument>${docker.hub}/${docker.repo}:latest</argument> |
|
<argument>${project.basedir}</argument> |
|
<argument>--file=src/main/docker/Dockerfile</argument> |
|
</arguments> |
|
</configuration> |
|
</execution> |
|
<execution> |
|
<id>docker-push</id> |
|
<goals> |
|
<goal>exec</goal> |
|
</goals> |
|
<phase>deploy</phase> |
|
<configuration> |
|
<skip>${docker.push.skip}</skip> |
|
<environmentVariables> |
|
<DOCKER_BUILDKIT>1</DOCKER_BUILDKIT> |
|
</environmentVariables> |
|
<executable>docker</executable> |
|
<workingDirectory>${project.basedir}</workingDirectory> |
|
<arguments> |
|
<argument>buildx</argument> |
|
<argument>build</argument> |
|
<argument>--platform</argument> |
|
<argument>linux/amd64,linux/arm64</argument> |
|
<argument>--no-cache</argument> |
|
<argument>--push</argument> |
|
<argument>-t</argument> |
|
<argument>${docker.hub}/${docker.repo}:${docker.tag}</argument> |
|
<argument>-t</argument> |
|
<argument>${docker.hub}/${docker.repo}:latest</argument> |
|
<argument>${project.basedir}</argument> |
|
<argument>--file=src/main/docker/Dockerfile</argument> |
|
</arguments> |
|
</configuration> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.owasp</groupId> |
|
<artifactId>dependency-check-maven</artifactId> |
|
<version>${owasp-dependency-check-maven.version}</version> |
|
<configuration> |
|
<skip>${skipDepCheck}</skip> |
|
<skipProvidedScope>true</skipProvidedScope> |
|
<skipRuntimeScope>true</skipRuntimeScope> |
|
<skipSystemScope>true</skipSystemScope> |
|
<failBuildOnCVSS>7</failBuildOnCVSS> |
|
<nvdApiKeyEnvironmentVariable>NIST_NVD_API_KEY</nvdApiKeyEnvironmentVariable> |
|
</configuration> |
|
<executions> |
|
<execution> |
|
<goals> |
|
<goal>aggregate</goal> |
|
</goals> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
</plugins> |
|
</pluginManagement> |
|
|
|
<plugins> |
|
<plugin> |
|
<groupId>org.owasp</groupId> |
|
<artifactId>dependency-check-maven</artifactId> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-javadoc-plugin</artifactId> |
|
<version>${maven-javadoc-plugin.version}</version> |
|
<configuration> |
|
<aggregate>true</aggregate> |
|
<charset>${project.build.sourceEncoding}</charset> |
|
<encoding>${project.build.sourceEncoding}</encoding> |
|
<docencoding>${project.build.sourceEncoding}</docencoding> |
|
</configuration> |
|
<executions> |
|
<execution> |
|
<id>attach-javadocs</id> |
|
<goals> |
|
<goal>jar</goal> |
|
</goals> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-release-plugin</artifactId> |
|
<version>${maven-release-plugin.version}</version> |
|
<configuration> |
|
<autoVersionSubmodules>true</autoVersionSubmodules> |
|
<tagNameFormat>@{project.version}</tagNameFormat> |
|
<tagBase>${project.version}</tagBase> |
|
</configuration> |
|
<dependencies> |
|
<dependency> |
|
<groupId>org.apache.maven.scm</groupId> |
|
<artifactId>maven-scm-provider-jgit</artifactId> |
|
<version>1.9.5</version> |
|
</dependency> |
|
</dependencies> |
|
</plugin> |
|
|
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-compiler-plugin</artifactId> |
|
<version>${maven-compiler-plugin.version}</version> |
|
<configuration> |
|
<source>${java.version}</source> |
|
<target>${java.version}</target> |
|
<encoding>${project.build.sourceEncoding}</encoding> |
|
</configuration> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-surefire-plugin</artifactId> |
|
<version>${maven-surefire-plugin.version}</version> |
|
<configuration> |
|
<skip>${skipUT}</skip> |
|
<systemPropertyVariables> |
|
<jacoco-agent.destfile>${project.build.directory}/jacoco.exec</jacoco-agent.destfile> |
|
</systemPropertyVariables> |
|
</configuration> |
|
</plugin> |
|
|
|
<!-- jenkins plugin jacoco report--> |
|
<plugin> |
|
<groupId>org.jacoco</groupId> |
|
<artifactId>jacoco-maven-plugin</artifactId> |
|
<version>${jacoco.version}</version> |
|
<configuration> |
|
<skip>${jacoco.skip}</skip> |
|
<dataFile>${project.build.directory}/jacoco.exec</dataFile> |
|
</configuration> |
|
<executions> |
|
<execution> |
|
<id>default-instrument</id> |
|
<goals> |
|
<goal>instrument</goal> |
|
</goals> |
|
<configuration> |
|
<excludes>com/github/dreamhead/moco/*</excludes> |
|
</configuration> |
|
</execution> |
|
<execution> |
|
<id>default-restore-instrumented-classes</id> |
|
<goals> |
|
<goal>restore-instrumented-classes</goal> |
|
</goals> |
|
</execution> |
|
<execution> |
|
<id>default-report</id> |
|
<goals> |
|
<goal>report</goal> |
|
</goals> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
<plugin> |
|
<groupId>com.github.spotbugs</groupId> |
|
<artifactId>spotbugs-maven-plugin</artifactId> |
|
<version>${spotbugs.version}</version> |
|
<configuration> |
|
<xmlOutput>true</xmlOutput> |
|
<threshold>medium</threshold> |
|
<effort>default</effort> |
|
<excludeFilterFile>dev-config/spotbugs-exclude.xml</excludeFilterFile> |
|
<failOnError>true</failOnError> |
|
</configuration> |
|
<dependencies> |
|
<dependency> |
|
<groupId>com.github.spotbugs</groupId> |
|
<artifactId>spotbugs</artifactId> |
|
<version>4.0.0-beta4</version> |
|
</dependency> |
|
</dependencies> |
|
</plugin> |
|
<plugin> |
|
<groupId>com.diffplug.spotless</groupId> |
|
<artifactId>spotless-maven-plugin</artifactId> |
|
<version>${spotless.version}</version> |
|
<configuration> |
|
<skip>${spotless.skip}</skip> |
|
<java> |
|
<eclipse> |
|
<file>${maven.multiModuleProjectDirectory}/style/spotless_dolphinscheduler_formatter.xml</file> |
|
</eclipse> |
|
<removeUnusedImports /> |
|
<importOrder> |
|
<file>${maven.multiModuleProjectDirectory}/style/eclipse.importorder</file> |
|
</importOrder> |
|
<replaceRegex> |
|
<name>Remove wildcard imports</name> |
|
<searchRegex>import\s+(static)*\s*[^\*\s]+\*;(\r\n|\r|\n)</searchRegex> |
|
<replacement>$1</replacement> |
|
</replaceRegex> |
|
<replaceRegex> |
|
<name>Block powermock</name> |
|
<searchRegex>import\s+org\.powermock\.[^\*\s]*(|\*);(\r\n|\r|\n)</searchRegex> |
|
<replacement>$1</replacement> |
|
</replaceRegex> |
|
<replaceRegex> |
|
<name>Block jUnit4 imports</name> |
|
<searchRegex>import\s+org\.junit\.[^jupiter][^\*\s]*(|\*);(\r\n|\r|\n)</searchRegex> |
|
<replacement>$1</replacement> |
|
</replaceRegex> |
|
<replaceRegex> |
|
<name>Block kubernetes-client</name> |
|
<searchRegex>import\s+io\.kubernetes\.client\.[^\*\s]*(|\*);(\r\n|\r|\n)</searchRegex> |
|
<replacement>$1</replacement> |
|
</replaceRegex> |
|
<includes> |
|
<include>src/main/java/**/*.java</include> |
|
<include>src/test/java/**/*.java</include> |
|
<include>dolphinscheduler-e2e/dolphinscheduler-e2e-case/src/test/java/**/*.java</include> |
|
<include>dolphinscheduler-e2e/dolphinscheduler-e2e-core/src/main/java/**/*.java</include> |
|
<include>dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/**/*.java</include> |
|
<include>dolphinscheduler-api-test/dolphinscheduler-api-test-core/src/main/java/**/*.java</include> |
|
</includes> |
|
</java> |
|
<pom> |
|
<sortPom> |
|
<encoding>UTF-8</encoding> |
|
<nrOfIndentSpace>4</nrOfIndentSpace> |
|
<keepBlankLines>true</keepBlankLines> |
|
<indentBlankLines>false</indentBlankLines> |
|
<indentSchemaLocation>true</indentSchemaLocation> |
|
<spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement> |
|
<sortModules>false</sortModules> |
|
<sortExecutions>false</sortExecutions> |
|
<predefinedSortOrder>custom_1</predefinedSortOrder> |
|
<expandEmptyElements>false</expandEmptyElements> |
|
<sortProperties>false</sortProperties> |
|
</sortPom> |
|
<replace> |
|
<name>Leading blank line</name> |
|
<search>project</search> |
|
<replacement>project</replacement> |
|
</replace> |
|
</pom> |
|
<markdown> |
|
<includes> |
|
<include>docs/**/*.md</include> |
|
</includes> |
|
<excludes> |
|
<exclude>**/.github/**/*.md</exclude> |
|
</excludes> |
|
<flexmark /> |
|
</markdown> |
|
<upToDateChecking> |
|
<enabled>true</enabled> |
|
</upToDateChecking> |
|
</configuration> |
|
<executions> |
|
<execution> |
|
<goals> |
|
<goal>check</goal> |
|
</goals> |
|
<phase>compile</phase> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.codehaus.mojo</groupId> |
|
<artifactId>cobertura-maven-plugin</artifactId> |
|
<version>${cobertura-maven-plugin.version}</version> |
|
<configuration> |
|
<check /> |
|
<aggregate>true</aggregate> |
|
<outputDirectory>./target/cobertura</outputDirectory> |
|
<encoding>${project.build.sourceEncoding}</encoding> |
|
<quiet>true</quiet> |
|
<format>xml</format> |
|
<instrumentation> |
|
<ignoreTrivial>true</ignoreTrivial> |
|
</instrumentation> |
|
</configuration> |
|
</plugin> |
|
<plugin> |
|
<artifactId>maven-source-plugin</artifactId> |
|
<version>${maven-source-plugin.version}</version> |
|
<executions> |
|
<execution> |
|
<id>attach-sources</id> |
|
<goals> |
|
<goal>jar</goal> |
|
</goals> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-dependency-plugin</artifactId> |
|
<version>${maven-dependency-plugin.version}</version> |
|
<executions> |
|
<execution> |
|
<id>analyze-dependencies</id> |
|
<goals> |
|
<goal>analyze-only</goal> |
|
</goals> |
|
<configuration> |
|
<ignoredDependencies> |
|
<!-- Because of SpringBoot auto-configurations, the configuration is happening outside of your application code, so Maven believes these dependencies to be unused --> |
|
<!-- Static code analysis tools like (maven-dependency-plugin) can not detect runtime dependencies, so you should instruct them about runtime dependencies --> |
|
<!-- https://stackoverflow.com/questions/37528928/spring-boot-core-dependencies-seen-as-unused-by-maven-dependency-plugin --> |
|
<ignoredDependency>org.springframework*:*</ignoredDependency> |
|
<ignoredDependency>org.apache.dolphinscheduler:dolphinscheduler-meter</ignoredDependency> |
|
</ignoredDependencies> |
|
<ignoreNonCompile>true</ignoreNonCompile> |
|
</configuration> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
</plugins> |
|
</build> |
|
<url>https://dolphinscheduler.apache.org</url> |
|
<mailingLists> |
|
<mailingList> |
|
<name>DolphinScheduler Developer List</name> |
|
<subscribe>dev-subscribe@dolphinscheduler.apache.org</subscribe> |
|
<unsubscribe>dev-unsubscribe@dolphinscheduler.apache.org</unsubscribe> |
|
<post>dev@dolphinscheduler.apache.org</post> |
|
</mailingList> |
|
</mailingLists> |
|
<scm> |
|
<connection>scm:git:https://github.com/apache/dolphinscheduler.git</connection> |
|
<developerConnection>scm:git:https://github.com/apache/dolphinscheduler.git</developerConnection> |
|
<url>https://github.com/apache/dolphinscheduler</url> |
|
<tag>HEAD</tag> |
|
</scm> |
|
|
|
<profiles> |
|
<profile> |
|
<id>docker</id> |
|
<properties> |
|
<docker.build.skip>false</docker.build.skip> |
|
<docker.push.skip>false</docker.push.skip> |
|
</properties> |
|
</profile> |
|
<profile> |
|
<id>helm-doc</id> |
|
<build> |
|
<plugins> |
|
<plugin> |
|
<groupId>org.codehaus.mojo</groupId> |
|
<artifactId>exec-maven-plugin</artifactId> |
|
<version>${exec-maven-plugin.version}</version> |
|
<executions> |
|
<execution> |
|
<id>helm-doc</id> |
|
<goals> |
|
<goal>exec</goal> |
|
</goals> |
|
<phase>validate</phase> |
|
<configuration> |
|
<executable>docker</executable> |
|
<workingDirectory>${project.basedir}</workingDirectory> |
|
<arguments> |
|
<argument>run</argument> |
|
<argument>--rm</argument> |
|
<argument>--volume</argument> |
|
<argument>${project.basedir}/deploy/kubernetes:/helm-docs</argument> |
|
<argument>jnorwood/helm-docs:v1.11.3</argument> |
|
</arguments> |
|
</configuration> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
</plugins> |
|
</build> |
|
</profile> |
|
</profiles> |
|
</project>
|
|
|