dolphinscheduler-maven-plugin

Dolphin Scheduler Maven Plugin provides a packing and lifecycle for DolphinScheduler plugins

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

org.apache.dolphinscheduler
ArtifactId

ArtifactId

dolphinscheduler-maven-plugin
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

takari-maven-plugin
Description

Description

dolphinscheduler-maven-plugin
Dolphin Scheduler Maven Plugin provides a packing and lifecycle for DolphinScheduler plugins
Project URL

Project URL

http://dolphinscheduler.apache.org
Project Organization

Project Organization

The Apache Software Foundation
Source Code Management

Source Code Management

https://github.com/apache/incubator-dolphinscheduler-maven-plugin

Download dolphinscheduler-maven-plugin

Dependencies

compile (2)

Group / Artifact Type Version
org.eclipse.aether : aether-api jar 1.1.0
org.codehaus.plexus : plexus-utils jar 3.0.17

provided (4)

Group / Artifact Type Version
org.apache.maven : maven-plugin-api jar 3.2.3
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.2
org.apache.maven : maven-core jar 3.2.3
org.apache.maven : maven-artifact jar 3.2.3

test (4)

Group / Artifact Type Version
io.takari.maven.plugins : takari-plugin-testing jar 2.9.1
io.takari.maven.plugins : takari-plugin-integration-testing pom 2.9.1
junit : junit jar 4.11
org.assertj : assertj-core jar 3.15.0

Project Modules

There are no modules declared in this project.

This is a maven plugin for DolphinScheduler , It has three functions:

  1. It is allowed to add <packaging>dolphinscheduler-plugin</packaging> to the pom file. If dolphinscheduler-plugin is added to the pom file, the DolphinScheduler service will load this model as a DolphinScheduler plugin.

  2. Automatically check the model with dolphinscheduler-plugin added to the pom file, and will automatically generate META-INF/services/org.apache.dolphinscheduler.spi.DolphinScheduler file when compile.

  3. Automatically check DolphinScheduler's maven dependency. Especially the dependencies used by plugins.

Why we need this maven plugin?

If we are running on the server deployment. Because the plug-ins are in the corresponding plug-in directory, and the plug-in jar package has the corresponding META-INF/services, there is no problem.

However, when we develop locally in IDE, we have no plug-ins dir and no plug-ins jar file . If we want to test and debug the plugin code, we need add the plugin module to the pom.xml of alert module ,But this violates the original intention of SPI. So we can`t add the plug-in module to the alert module as a dependency, So there will be a problem that the alert module cannot find the plug-in classes.

With this maven plug-in, by scanning the pom file of the project ,The pluginloader can find the module identified by dolphinscheduler-plugin, then can load this module`s class files and its dependent third-party jars from the target/classes dir of the plug-in module. This will debug locally

How to build

mvn clean package

And then you can found apache-dolphinscheduler-maven-plugin-incubating-${RELEASE.VERSION}-bin.tar.gz in the target dir.

How to verify the release candidate

  1. Download the apache-dolphinscheduler-maven-plugin-incubating-${RELEASE.VERSION}-bin.tar.gz file from the release candidates (it will be provided in the vote email).

  2. Unzip the apache-dolphinscheduler-maven-plugin-incubating-${RELEASE.VERSION}-bin.tar.gz file

  3. Go to apache-dolphinscheduler-maven-plugin-incubating-${RELEASE.VERSION}-bin/bin dir and run chmod 755 install_to_localrepository.sh & sh install_to_localrepository.sh. This will install apache-dolphinscheduler-maven-plugin to your local repository.

  4. add this plugin to your project`s pom.xml file like this:

    <plugins>
    ...
        <plugin>
            <groupId>org.apache.dolphinscheduler</groupId>
            <artifactId>dolphinscheduler-maven-plugin</artifactId>
            <version>${RELEASE.VERSION}</version>
            <extensions>true</extensions>
        </plugin>
    ...
    </plugins>
    
  5. run mvn clean verify test the plugin.

org.apache.dolphinscheduler

The Apache Software Foundation

Versions

Version
1.0.0