[Feature][style] Add spotless maven plugin for automatic style fix. (#11272)
* [Feature][style] Add spotless maven plugin for automatic style fix (#10963) * Fix spotless ratchet configuration * Remove license-check and decrease line length threshold value * Update related docs * Remove checkstyle and add pre-commit hook * Test updated pre-commit hook * Replace checkstyle with spotless in CI * Remove reviewdog
This commit is contained in:
parent
bf5f7a88c5
commit
6a02870926
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit c2fa3e5a37b75a5819e2c8127caec1c2a0d088e8
|
|
||||||
|
|
@ -34,20 +34,5 @@ runs:
|
||||||
- name: Check License Header
|
- name: Check License Header
|
||||||
uses: apache/skywalking-eyes@30367d8286e324d5efc58de4c70c37ea3648306d
|
uses: apache/skywalking-eyes@30367d8286e324d5efc58de4c70c37ea3648306d
|
||||||
|
|
||||||
- uses: ./.github/actions/reviewdog-setup
|
|
||||||
with:
|
|
||||||
reviewdog_version: v0.10.2
|
|
||||||
|
|
||||||
- shell: bash
|
- shell: bash
|
||||||
run: ./mvnw -B -q checkstyle:checkstyle-aggregate
|
run: ./mvnw spotless:check
|
||||||
|
|
||||||
- shell: bash
|
|
||||||
env:
|
|
||||||
REVIEWDOG_GITHUB_API_TOKEN: ${{ inputs.token }}
|
|
||||||
run: |
|
|
||||||
if [[ -n "${{ inputs.token }}" ]]; then
|
|
||||||
reviewdog -f=checkstyle \
|
|
||||||
-reporter="github-pr-review" \
|
|
||||||
-filter-mode="added" \
|
|
||||||
-fail-on-error="true" < target/checkstyle-result.xml
|
|
||||||
fi
|
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,3 @@
|
||||||
[submodule ".github/actions/translate-on-issue"]
|
[submodule ".github/actions/translate-on-issue"]
|
||||||
path = .github/actions/translate-on-issue
|
path = .github/actions/translate-on-issue
|
||||||
url = https://github.com/xingchun-chen/translation-helper
|
url = https://github.com/xingchun-chen/translation-helper
|
||||||
[submodule ".github/actions/reviewdog-setup"]
|
|
||||||
path = .github/actions/reviewdog-setup
|
|
||||||
url = https://github.com/reviewdog/action-setup
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@ header:
|
||||||
- '**/NOTICE'
|
- '**/NOTICE'
|
||||||
- '**/node_modules/**'
|
- '**/node_modules/**'
|
||||||
- '.github/actions/comment-on-issue/**'
|
- '.github/actions/comment-on-issue/**'
|
||||||
- '.github/actions/reviewdog-setup/**'
|
|
||||||
- '.github/actions/translate-on-issue/**'
|
- '.github/actions/translate-on-issue/**'
|
||||||
- '**/.gitkeep'
|
- '**/.gitkeep'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ cd dolphinscheduler
|
||||||
git clone git@github.com:apache/dolphinscheduler.git
|
git clone git@github.com:apache/dolphinscheduler.git
|
||||||
```
|
```
|
||||||
|
|
||||||
### compile source code
|
### Compile Source Code
|
||||||
|
|
||||||
Supporting system:
|
Supporting system:
|
||||||
* MacOS
|
* MacOS
|
||||||
|
|
@ -27,6 +27,20 @@ Supporting system:
|
||||||
|
|
||||||
Run `mvn clean install -Prelease -Dmaven.test.skip=true`
|
Run `mvn clean install -Prelease -Dmaven.test.skip=true`
|
||||||
|
|
||||||
|
### Code Style
|
||||||
|
|
||||||
|
DolphinScheduler uses `Spotless` for code style and formatting checks.
|
||||||
|
You could run the following command and `Spotless` will automatically fix
|
||||||
|
the code style and formatting errors for you:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./mvnw spotless:apply
|
||||||
|
```
|
||||||
|
|
||||||
|
You could copy the `pre-commit hook` file `/style/pre-commit` to your `.git/hooks/`
|
||||||
|
directory so that every time you commit your code with `git commit`, `Spotless` will automatically
|
||||||
|
fix things for you.
|
||||||
|
|
||||||
## Docker image build
|
## Docker image build
|
||||||
|
|
||||||
DolphinScheduler will release new Docker images after it released, you could find them in [Docker Hub](https://hub.docker.com/search?q=DolphinScheduler).
|
DolphinScheduler will release new Docker images after it released, you could find them in [Docker Hub](https://hub.docker.com/search?q=DolphinScheduler).
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,19 @@ git clone git@github.com:apache/dolphinscheduler.git
|
||||||
|
|
||||||
运行 `mvn clean install -Prelease -Dmaven.test.skip=true`
|
运行 `mvn clean install -Prelease -Dmaven.test.skip=true`
|
||||||
|
|
||||||
|
|
||||||
|
### 代码风格
|
||||||
|
|
||||||
|
DolphinScheduler使用`Spotless`检查并修复代码风格和格式问题。
|
||||||
|
您可以执行如下的命令,`Spotless`将会为您自动检查并修复代码风格和格式问题。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./mvnw spotless:apply
|
||||||
|
```
|
||||||
|
|
||||||
|
您可将`/style/pre-commit`目录下的`pre-commit hook`文件拷贝到您的`.git/hooks/`
|
||||||
|
目录下,这样您每次使用`git commit`命令时,`Spotless`将会自动为您修复代码风格和格式问题。
|
||||||
|
|
||||||
## Docker镜像构建
|
## Docker镜像构建
|
||||||
|
|
||||||
DolphinScheduler 每次发版都会同时发布 Docker 镜像,你可以在 [Docker Hub](https://hub.docker.com/search?q=DolphinScheduler) 中找到这些镜像
|
DolphinScheduler 每次发版都会同时发布 Docker 镜像,你可以在 [Docker Hub](https://hub.docker.com/search?q=DolphinScheduler) 中找到这些镜像
|
||||||
|
|
|
||||||
|
|
@ -138,38 +138,6 @@
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<version>2.22.2</version>
|
<version>2.22.2</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
||||||
<version>${checkstyle.version}</version>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.puppycrawl.tools</groupId>
|
|
||||||
<artifactId>checkstyle</artifactId>
|
|
||||||
<version>8.45</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
<configuration>
|
|
||||||
<consoleOutput>true</consoleOutput>
|
|
||||||
<encoding>UTF-8</encoding>
|
|
||||||
<configLocation>../style/checkstyle.xml</configLocation>
|
|
||||||
<failOnViolation>true</failOnViolation>
|
|
||||||
<violationSeverity>warning</violationSeverity>
|
|
||||||
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
|
||||||
<sourceDirectories>
|
|
||||||
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
|
|
||||||
</sourceDirectories>
|
|
||||||
<excludes>**\/generated-sources\/</excludes>
|
|
||||||
</configuration>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>compile</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>check</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
|
|
||||||
|
|
@ -17,25 +17,23 @@
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.plugin.task.jupyter;
|
package org.apache.dolphinscheduler.plugin.task.jupyter;
|
||||||
|
|
||||||
|
import org.apache.dolphinscheduler.spi.utils.JSONUtils;
|
||||||
|
import org.apache.dolphinscheduler.spi.utils.PropertyUtils;
|
||||||
|
import org.apache.dolphinscheduler.spi.utils.StringUtils;
|
||||||
|
import org.apache.dolphinscheduler.plugin.task.api.parser.ParamUtils;
|
||||||
|
import org.apache.dolphinscheduler.plugin.task.api.parser.ParameterUtils;
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.AbstractTaskExecutor;
|
import org.apache.dolphinscheduler.plugin.task.api.AbstractTaskExecutor;
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.ShellCommandExecutor;
|
import org.apache.dolphinscheduler.plugin.task.api.ShellCommandExecutor;
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.TaskConstants;
|
import org.apache.dolphinscheduler.plugin.task.api.TaskConstants;
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.TaskExecutionContext;
|
import org.apache.dolphinscheduler.plugin.task.api.TaskExecutionContext;
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.model.Property;
|
import org.apache.dolphinscheduler.plugin.task.api.model.Property;
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.model.TaskResponse;
|
import org.apache.dolphinscheduler.plugin.task.api.model.TaskResponse;
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.parameters.AbstractParameters;
|
import org.apache.dolphinscheduler.plugin.task.api.parameters.AbstractParameters;
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.parser.ParamUtils;
|
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.parser.ParameterUtils;
|
|
||||||
import org.apache.dolphinscheduler.plugin.task.api.utils.MapUtils;
|
|
||||||
import org.apache.dolphinscheduler.spi.utils.DateUtils;
|
import org.apache.dolphinscheduler.spi.utils.DateUtils;
|
||||||
import org.apache.dolphinscheduler.spi.utils.JSONUtils;
|
|
||||||
import org.apache.dolphinscheduler.spi.utils.PropertyUtils;
|
|
||||||
import org.apache.dolphinscheduler.spi.utils.StringUtils;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
@ -152,7 +150,6 @@ public class JupyterTask extends AbstractTaskExecutor {
|
||||||
return command;
|
return command;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* build jupyter parameterization
|
* build jupyter parameterization
|
||||||
*
|
*
|
||||||
|
|
|
||||||
861
pom.xml
861
pom.xml
|
|
@ -16,38 +16,49 @@
|
||||||
~ limitations under the License.
|
~ limitations under the License.
|
||||||
-->
|
-->
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<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">
|
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>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.apache.dolphinscheduler</groupId>
|
|
||||||
<artifactId>dolphinscheduler</artifactId>
|
|
||||||
<version>dev-SNAPSHOT</version>
|
|
||||||
<packaging>pom</packaging>
|
|
||||||
<name>${project.artifactId}</name>
|
|
||||||
<url>https://dolphinscheduler.apache.org</url>
|
|
||||||
<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>
|
|
||||||
<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>
|
|
||||||
<mailingLists>
|
|
||||||
<mailingList>
|
|
||||||
<name>DolphinScheduler Developer List</name>
|
|
||||||
<post>dev@dolphinscheduler.apache.org</post>
|
|
||||||
<subscribe>dev-subscribe@dolphinscheduler.apache.org</subscribe>
|
|
||||||
<unsubscribe>dev-unsubscribe@dolphinscheduler.apache.org</unsubscribe>
|
|
||||||
</mailingList>
|
|
||||||
</mailingLists>
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache</groupId>
|
<groupId>org.apache</groupId>
|
||||||
<artifactId>apache</artifactId>
|
<artifactId>apache</artifactId>
|
||||||
<version>25</version>
|
<version>25</version>
|
||||||
</parent>
|
</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-server</module>
|
||||||
|
<module>dolphinscheduler-common</module>
|
||||||
|
<module>dolphinscheduler-api</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-log-server</module>
|
||||||
|
<module>dolphinscheduler-tools</module>
|
||||||
|
<module>dolphinscheduler-ui</module>
|
||||||
|
<module>dolphinscheduler-scheduler-plugin</module>
|
||||||
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
|
@ -55,7 +66,6 @@
|
||||||
<java.version>1.8</java.version>
|
<java.version>1.8</java.version>
|
||||||
<junit.version>4.12</junit.version>
|
<junit.version>4.12</junit.version>
|
||||||
<spotbugs.version>3.1.12</spotbugs.version>
|
<spotbugs.version>3.1.12</spotbugs.version>
|
||||||
<checkstyle.version>3.1.2</checkstyle.version>
|
|
||||||
<maven-compiler-plugin.version>3.3</maven-compiler-plugin.version>
|
<maven-compiler-plugin.version>3.3</maven-compiler-plugin.version>
|
||||||
<maven-assembly-plugin.version>3.3.0</maven-assembly-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-release-plugin.version>2.5.3</maven-release-plugin.version>
|
||||||
|
|
@ -65,6 +75,7 @@
|
||||||
<maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
|
<maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
|
||||||
<maven-shade-plugin.version>3.2.1</maven-shade-plugin.version>
|
<maven-shade-plugin.version>3.2.1</maven-shade-plugin.version>
|
||||||
<rpm-maven-plugion.version>2.2.0</rpm-maven-plugion.version>
|
<rpm-maven-plugion.version>2.2.0</rpm-maven-plugion.version>
|
||||||
|
<spotless.version>2.23.0</spotless.version>
|
||||||
<jacoco.version>0.8.7</jacoco.version>
|
<jacoco.version>0.8.7</jacoco.version>
|
||||||
<maven.deploy.skip>false</maven.deploy.skip>
|
<maven.deploy.skip>false</maven.deploy.skip>
|
||||||
<cobertura-maven-plugin.version>2.7</cobertura-maven-plugin.version>
|
<cobertura-maven-plugin.version>2.7</cobertura-maven-plugin.version>
|
||||||
|
|
@ -80,373 +91,11 @@
|
||||||
<docker.tag>${project.version}</docker.tag>
|
<docker.tag>${project.version}</docker.tag>
|
||||||
<docker.build.skip>true</docker.build.skip>
|
<docker.build.skip>true</docker.build.skip>
|
||||||
<docker.push.skip>true</docker.push.skip>
|
<docker.push.skip>true</docker.push.skip>
|
||||||
|
|
||||||
<python.sign.skip>true</python.sign.skip>
|
<python.sign.skip>true</python.sign.skip>
|
||||||
<skipDepCheck>true</skipDepCheck>
|
<skipDepCheck>true</skipDepCheck>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<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.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<source>${java.version}</source>
|
|
||||||
<target>${java.version}</target>
|
|
||||||
<testSource>${java.version}</testSource>
|
|
||||||
<testTarget>${java.version}</testTarget>
|
|
||||||
</configuration>
|
|
||||||
<version>${maven-compiler-plugin.version}</version>
|
|
||||||
</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>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>exec</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<skip>${docker.build.skip}</skip>
|
|
||||||
<executable>docker</executable>
|
|
||||||
<workingDirectory>${project.basedir}</workingDirectory>
|
|
||||||
<arguments>
|
|
||||||
<argument>build</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>
|
|
||||||
<phase>deploy</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>exec</goal>
|
|
||||||
</goals>
|
|
||||||
<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>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>attach-javadocs</id>
|
|
||||||
<goals>
|
|
||||||
<goal>jar</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
<configuration>
|
|
||||||
<aggregate>true</aggregate>
|
|
||||||
<charset>${project.build.sourceEncoding}</charset>
|
|
||||||
<encoding>${project.build.sourceEncoding}</encoding>
|
|
||||||
<docencoding>${project.build.sourceEncoding}</docencoding>
|
|
||||||
</configuration>
|
|
||||||
</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>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.surefire</groupId>
|
|
||||||
<artifactId>surefire-junit4</artifactId>
|
|
||||||
<version>${maven-surefire-plugin.version}</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
<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>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
||||||
<version>${checkstyle.version}</version>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.puppycrawl.tools</groupId>
|
|
||||||
<artifactId>checkstyle</artifactId>
|
|
||||||
<version>8.45</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
<configuration>
|
|
||||||
<consoleOutput>true</consoleOutput>
|
|
||||||
<encoding>UTF-8</encoding>
|
|
||||||
<configLocation>style/checkstyle.xml</configLocation>
|
|
||||||
<failOnViolation>true</failOnViolation>
|
|
||||||
<violationSeverity>warning</violationSeverity>
|
|
||||||
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
|
||||||
<sourceDirectories>
|
|
||||||
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
|
|
||||||
</sourceDirectories>
|
|
||||||
<excludes>**\/generated-sources\/</excludes>
|
|
||||||
</configuration>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>compile</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>check</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
|
||||||
<artifactId>cobertura-maven-plugin</artifactId>
|
|
||||||
<version>${cobertura-maven-plugin.version}</version>
|
|
||||||
<configuration>
|
|
||||||
<check>
|
|
||||||
</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>
|
|
||||||
|
|
||||||
<profiles>
|
|
||||||
<profile>
|
|
||||||
<id>docker</id>
|
|
||||||
<properties>
|
|
||||||
<docker.build.skip>false</docker.build.skip>
|
|
||||||
<docker.push.skip>false</docker.push.skip>
|
|
||||||
</properties>
|
|
||||||
</profile>
|
|
||||||
</profiles>
|
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
@ -524,13 +173,13 @@
|
||||||
<artifactId>dolphinscheduler-spi</artifactId>
|
<artifactId>dolphinscheduler-spi</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.dolphinscheduler</groupId>
|
<groupId>org.apache.dolphinscheduler</groupId>
|
||||||
<artifactId>dolphinscheduler-data-quality</artifactId>
|
<artifactId>dolphinscheduler-data-quality</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.dolphinscheduler</groupId>
|
<groupId>org.apache.dolphinscheduler</groupId>
|
||||||
<artifactId>dolphinscheduler-python</artifactId>
|
<artifactId>dolphinscheduler-python</artifactId>
|
||||||
|
|
@ -611,7 +260,7 @@
|
||||||
<artifactId>dolphinscheduler-registry-mysql</artifactId>
|
<artifactId>dolphinscheduler-registry-mysql</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.dolphinscheduler</groupId>
|
<groupId>org.apache.dolphinscheduler</groupId>
|
||||||
<artifactId>dolphinscheduler-scheduler-api</artifactId>
|
<artifactId>dolphinscheduler-scheduler-api</artifactId>
|
||||||
|
|
@ -622,7 +271,7 @@
|
||||||
<artifactId>dolphinscheduler-scheduler-quartz</artifactId>
|
<artifactId>dolphinscheduler-scheduler-quartz</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.dolphinscheduler</groupId>
|
<groupId>org.apache.dolphinscheduler</groupId>
|
||||||
<artifactId>dolphinscheduler-datasource-all</artifactId>
|
<artifactId>dolphinscheduler-datasource-all</artifactId>
|
||||||
|
|
@ -633,7 +282,7 @@
|
||||||
<artifactId>dolphinscheduler-datasource-api</artifactId>
|
<artifactId>dolphinscheduler-datasource-api</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.dolphinscheduler</groupId>
|
<groupId>org.apache.dolphinscheduler</groupId>
|
||||||
<artifactId>dolphinscheduler-task-api</artifactId>
|
<artifactId>dolphinscheduler-task-api</artifactId>
|
||||||
|
|
@ -649,7 +298,7 @@
|
||||||
<artifactId>dolphinscheduler-task-all</artifactId>
|
<artifactId>dolphinscheduler-task-all</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.dolphinscheduler</groupId>
|
<groupId>org.apache.dolphinscheduler</groupId>
|
||||||
<artifactId>dolphinscheduler-ui</artifactId>
|
<artifactId>dolphinscheduler-ui</artifactId>
|
||||||
|
|
@ -661,9 +310,9 @@
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!--
|
<!--
|
||||||
NOTE: only development / test phase dependencies (scope = test / provided)
|
NOTE: only development / test phase dependencies (scope = test / provided)
|
||||||
|
|
@ -721,31 +370,391 @@
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<modules>
|
<build>
|
||||||
<module>dolphinscheduler-bom</module>
|
<pluginManagement>
|
||||||
<module>dolphinscheduler-alert</module>
|
<plugins>
|
||||||
<module>dolphinscheduler-spi</module>
|
<plugin>
|
||||||
<module>dolphinscheduler-registry</module>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<module>dolphinscheduler-task-plugin</module>
|
<artifactId>rpm-maven-plugin</artifactId>
|
||||||
<module>dolphinscheduler-server</module>
|
<version>${rpm-maven-plugion.version}</version>
|
||||||
<module>dolphinscheduler-common</module>
|
<inherited>false</inherited>
|
||||||
<module>dolphinscheduler-api</module>
|
</plugin>
|
||||||
<module>dolphinscheduler-dao</module>
|
|
||||||
<module>dolphinscheduler-dist</module>
|
<plugin>
|
||||||
<module>dolphinscheduler-remote</module>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<module>dolphinscheduler-service</module>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<module>dolphinscheduler-microbench</module>
|
<version>${maven-compiler-plugin.version}</version>
|
||||||
<module>dolphinscheduler-data-quality</module>
|
<configuration>
|
||||||
<module>dolphinscheduler-standalone-server</module>
|
<source>${java.version}</source>
|
||||||
<module>dolphinscheduler-datasource-plugin</module>
|
<target>${java.version}</target>
|
||||||
<module>dolphinscheduler-python</module>
|
<testSource>${java.version}</testSource>
|
||||||
<module>dolphinscheduler-meter</module>
|
<testTarget>${java.version}</testTarget>
|
||||||
<module>dolphinscheduler-master</module>
|
</configuration>
|
||||||
<module>dolphinscheduler-worker</module>
|
</plugin>
|
||||||
<module>dolphinscheduler-log-server</module>
|
|
||||||
<module>dolphinscheduler-tools</module>
|
<plugin>
|
||||||
<module>dolphinscheduler-ui</module>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<module>dolphinscheduler-scheduler-plugin</module>
|
<artifactId>maven-release-plugin</artifactId>
|
||||||
</modules>
|
<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>
|
||||||
|
<executable>docker</executable>
|
||||||
|
<workingDirectory>${project.basedir}</workingDirectory>
|
||||||
|
<arguments>
|
||||||
|
<argument>build</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>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven.surefire</groupId>
|
||||||
|
<artifactId>surefire-junit4</artifactId>
|
||||||
|
<version>${maven-surefire-plugin.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</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>
|
||||||
|
<!-- optional: limit format enforcement to just the files changed by this feature branch -->
|
||||||
|
<ratchetFrom>HEAD</ratchetFrom>
|
||||||
|
<java>
|
||||||
|
<eclipse>
|
||||||
|
<file>style/spotless_dolphinscheduler_formatter.xml</file>
|
||||||
|
</eclipse>
|
||||||
|
</java>
|
||||||
|
<pom>
|
||||||
|
<sortPom>
|
||||||
|
<encoding>UTF-8</encoding>
|
||||||
|
<nrOfIndentSpace>4</nrOfIndentSpace>
|
||||||
|
<keepBlankLines>true</keepBlankLines>
|
||||||
|
<indentBlankLines>true</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>
|
||||||
|
</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>
|
</project>
|
||||||
|
|
|
||||||
|
|
@ -1,289 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!--
|
|
||||||
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.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!DOCTYPE module PUBLIC
|
|
||||||
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
|
||||||
"http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">
|
|
||||||
|
|
||||||
<module name="Checker">
|
|
||||||
<property name="charset" value="UTF-8"/>
|
|
||||||
|
|
||||||
<property name="severity" value="warning"/>
|
|
||||||
|
|
||||||
<module name="SuppressWarningsFilter"/>
|
|
||||||
|
|
||||||
<property name="fileExtensions" value="java, properties, xml"/>
|
|
||||||
|
|
||||||
<module name="FileTabCharacter">
|
|
||||||
<property name="eachLine" value="true"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="LineLength">
|
|
||||||
<property name="max" value="200"/>
|
|
||||||
<property name="ignorePattern" value="^ *\* *[^ ]+$"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="RegexpSingleline">
|
|
||||||
<property name="format" value="System\.out\.println"/>
|
|
||||||
<property name="message" value="Prohibit invoking System.out.println in source code !"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="TreeWalker">
|
|
||||||
|
|
||||||
<module name="SuppressWarningsHolder"/>
|
|
||||||
|
|
||||||
<module name="OuterTypeFilename">
|
|
||||||
<property name="severity" value="error"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="OneTopLevelClass">
|
|
||||||
<property name="severity" value="error"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="NoLineWrap">
|
|
||||||
<property name="severity" value="error"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="NeedBraces">
|
|
||||||
<property name="severity" value="error"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="LeftCurly">
|
|
||||||
<property name="severity" value="error"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="AvoidNestedBlocks">
|
|
||||||
<property name="allowInSwitchCase" value="true"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="IllegalTokenText">
|
|
||||||
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
|
|
||||||
<property name="format"
|
|
||||||
value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
|
|
||||||
<property name="message"
|
|
||||||
value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="AvoidEscapedUnicodeCharacters">
|
|
||||||
<property name="allowEscapesForControlCharacters" value="true"/>
|
|
||||||
<property name="allowByTailComment" value="true"/>
|
|
||||||
<property name="allowNonPrintableEscapes" value="true"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="EmptyBlock">
|
|
||||||
<property name="option" value="TEXT"/>
|
|
||||||
<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="WhitespaceAround">
|
|
||||||
<property name="allowEmptyConstructors" value="true"/>
|
|
||||||
<property name="allowEmptyMethods" value="true"/>
|
|
||||||
<property name="allowEmptyTypes" value="true"/>
|
|
||||||
<property name="allowEmptyLoops" value="true"/>
|
|
||||||
<message key="ws.notFollowed"
|
|
||||||
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
|
|
||||||
<message key="ws.notPreceded"
|
|
||||||
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="OneStatementPerLine"/>
|
|
||||||
|
|
||||||
<module name="MultipleVariableDeclarations"/>
|
|
||||||
|
|
||||||
<module name="ArrayTypeStyle"/>
|
|
||||||
|
|
||||||
<module name="MissingSwitchDefault"/>
|
|
||||||
|
|
||||||
<module name="FallThrough"/>
|
|
||||||
|
|
||||||
<module name="UpperEll"/>
|
|
||||||
|
|
||||||
<module name="ModifierOrder"/>
|
|
||||||
|
|
||||||
<module name="EmptyLineSeparator">
|
|
||||||
<property name="allowMultipleEmptyLines" value="false"/>
|
|
||||||
<property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/>
|
|
||||||
<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF,
|
|
||||||
INTERFACE_DEF, ENUM_DEF, STATIC_INIT, INSTANCE_INIT, METHOD_DEF,
|
|
||||||
CTOR_DEF"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="PackageName">
|
|
||||||
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Package name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="TypeName">
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="MemberName">
|
|
||||||
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Member name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="ParameterName">
|
|
||||||
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="CatchParameterName">
|
|
||||||
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="LocalVariableName">
|
|
||||||
<property name="tokens" value="VARIABLE_DEF"/>
|
|
||||||
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="ClassTypeParameterName">
|
|
||||||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Class type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="MethodTypeParameterName">
|
|
||||||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Method type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="InterfaceTypeParameterName">
|
|
||||||
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="NoFinalizer"/>
|
|
||||||
|
|
||||||
<module name="GenericWhitespace">
|
|
||||||
<message key="ws.followed"
|
|
||||||
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
|
|
||||||
<message key="ws.preceded"
|
|
||||||
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
|
|
||||||
<message key="ws.illegalFollow"
|
|
||||||
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
|
|
||||||
<message key="ws.notPreceded"
|
|
||||||
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="Indentation">
|
|
||||||
<property name="basicOffset" value="4"/>
|
|
||||||
<property name="braceAdjustment" value="0"/>
|
|
||||||
<property name="caseIndent" value="4"/>
|
|
||||||
<property name="throwsIndent" value="2"/>
|
|
||||||
<property name="lineWrappingIndentation" value="4"/>
|
|
||||||
<property name="arrayInitIndent" value="4"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="IllegalImport">
|
|
||||||
<property name="regexp" value="true"/>
|
|
||||||
<property name="illegalPkgs"
|
|
||||||
value="^com\.google\.api\.client\.repackaged,
|
|
||||||
^avro\.shaded, ^org\.apache\.hadoop\.hbase\.shaded,
|
|
||||||
^org\.apache\.hadoop\.shaded,
|
|
||||||
^javax\.ws\.rs\.ext,
|
|
||||||
^cc\.concurrent\.mango\.util\.concurrent,
|
|
||||||
^org\.apache\.curator-test\.shaded,
|
|
||||||
^com\.sun\.istack,
|
|
||||||
^org\.jetbrains\.annotations,
|
|
||||||
^jline\.internal,
|
|
||||||
^com\.cronutils\.utils,
|
|
||||||
^javax\.ws\.rs\.ext,
|
|
||||||
^org\.jboss\.netty\.util\.internal,
|
|
||||||
^com\.sun\.javafx,
|
|
||||||
^io\.reactivex\.annotations,
|
|
||||||
^org\.codehaus\.jackson"/>
|
|
||||||
<property name="illegalClasses"
|
|
||||||
value="^java\.util\.logging\.Logging,
|
|
||||||
^sun\.misc\.BASE64Encoder,
|
|
||||||
^sun\.misc\.BASE64Decoder,
|
|
||||||
^jdk\.internal\.jline\.internal\.Nullable"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="RedundantImport"/>
|
|
||||||
|
|
||||||
<module name="UnusedImports"/>
|
|
||||||
|
|
||||||
<module name="ImportOrder">
|
|
||||||
<property name="staticGroups" value="org.apache.dolphinscheduler,org.apache,java,javax,org,com"/>
|
|
||||||
<property name="separatedStaticGroups" value="true"/>
|
|
||||||
|
|
||||||
<property name="groups" value="org.apache.dolphinscheduler,org.apache,java,javax,org,com"/>
|
|
||||||
<property name="ordered" value="true"/>
|
|
||||||
<property name="separated" value="true"/>
|
|
||||||
<property name="option" value="top"/>
|
|
||||||
<property name="sortStaticImportsAlphabetically" value="true"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="NoWhitespaceBefore">
|
|
||||||
<property name="tokens" value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>
|
|
||||||
<property name="allowLineBreaks" value="true"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="ParenPad"/>
|
|
||||||
|
|
||||||
<module name="OperatorWrap">
|
|
||||||
<property name="option" value="NL"/>
|
|
||||||
<property name="tokens"
|
|
||||||
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="AnnotationLocation">
|
|
||||||
<property name="allowSamelineMultipleAnnotations" value="false"/>
|
|
||||||
<property name="allowSamelineSingleParameterlessAnnotation"
|
|
||||||
value="false"/>
|
|
||||||
<property name="allowSamelineParameterizedAnnotation" value="true"/>
|
|
||||||
<property name="tokens" value="METHOD_DEF, CTOR_DEF"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="MethodName">
|
|
||||||
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
|
|
||||||
<message key="name.invalidPattern"
|
|
||||||
value="Method name ''{0}'' must match pattern ''{1}''."/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="EmptyCatchBlock">
|
|
||||||
<property name="exceptionVariableName" value="expected"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="CommentsIndentation"/>
|
|
||||||
|
|
||||||
<module name="EmptyStatement">
|
|
||||||
<property name="severity" value="error"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="JavadocStyle">
|
|
||||||
<property name="endOfSentenceFormat" value=""/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="JavadocType">
|
|
||||||
<property name="scope" value="protected"/>
|
|
||||||
<property name="allowMissingParamTags" value="true"/>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
<module name="AvoidStarImport"/>
|
|
||||||
|
|
||||||
</module>
|
|
||||||
</module>
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# A hook script to automatically fix code style and formatting errors with spotless
|
||||||
|
if ./mvnw spotless:check; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
./mvnw spotless:apply
|
||||||
|
exit 1
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!--
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
<profiles version="13">
|
||||||
|
<profile kind="CodeFormatterProfile" name="'DolphinScheduler Apache Current'" version="13">
|
||||||
|
<setting id="org.eclipse.jdt.core.compiler.source" value="1.8" />
|
||||||
|
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.8" />
|
||||||
|
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="120" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="1" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="1" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="false" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="16" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="16" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="160" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="10" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="106" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="106" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="106" />
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call.count_dependent" value="16|5|80" />
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
||||||
Loading…
Reference in New Issue