<?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-aop</module>
<module > dolphinscheduler-dao</module>
<module > dolphinscheduler-dist</module>
<module > dolphinscheduler-remote</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-python</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>
</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 > 7.1.2</owasp-dependency-check-maven.version>
<lombok.version > 1.18.20</lombok.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>
<python.sign.skip > true</python.sign.skip>
<skipDepCheck > true</skipDepCheck>
</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-standalone-server</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-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-alert-plugins</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-registry-plugins</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-dao</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-remote</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-python</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-server</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-dingtalk</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-email</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-feishu</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-http</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-script</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-slack</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-wechat</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-pagerduty</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-webexteams</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-alert-telegram</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-zookeeper</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-registry-mysql</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-quartz</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-datasource-api</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-python</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-ui</artifactId>
<version > ${project.version}</version>
</dependency>
<dependency >
<groupId > org.apache.dolphinscheduler</groupId>
<artifactId > dolphinscheduler-tools</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>
</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 >
<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>
</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>
<skip > false</skip>
<!-- not skip compile test classes -->
</configuration>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-surefire-plugin</artifactId>
<version > ${maven-surefire-plugin.version}</version>
<configuration >
<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>
</execution>
<execution >
<id > default-restore-instrumented-classes</id>
<goals >
<goal > restore-instrumented-classes</goal>
</goals>
<configuration >
<excludes > com/github/dreamhead/moco/*</excludes>
</configuration>
</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 >
<java >
<eclipse >
<file > style/spotless_dolphinscheduler_formatter.xml</file>
</eclipse>
<removeUnusedImports />
<importOrder >
<file > style/eclipse.importorder</file>
</importOrder>
<replaceRegex >
<name > Remove wildcard imports</name>
<searchRegex > import\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>
</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>
</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>
</profiles>
</project>