-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Oozie maven plugin was created to simplify the creation of packages (tar.gz files) containing workflow definition of Apache Oozie as well as all other files needed to run a workflow (configuration files, libraries, etc.). In addition, this plugin enables workflow's reusability -- generated packages can be uploaded to a Maven's repository, added as a dependency to other workflows and reused as subworkflows. The plugin defines a new type of Maven's artifact called oozie, but it uses standard build lifecycles.
The sources of oozie-maven-plugin are available at https://github.com/CeON/oozie-maven-plugin.
The binaries are available in the Maven's repository of ICM. To use it, you need to add the following sections in your pom.xml:
<build>
<plugins>
<plugin>
<groupId>pl.edu.icm.maven</groupid>
<artifactId>oozie-maven-plugin</artifactid>
<version>current_version_number</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
and
<pluginRepositories>
<pluginRepository>
<id>yadda</id>
<name>YADDA project repository</name>
<url>http://maven.icm.edu.pl/artifactory/repo</url>
</pluginrepository>
</pluginrepositories>
Minimal project that uses oozie-maven-plugin needs to contain the following files:
- pom.xml
<groupId>my-project-groupId</groupid>
<artifactId>my-project-artifactId</artifactid>
<version>VERSION_NUMBER</version>
<packaging>oozie</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceencoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>pl.edu.icm.maven</groupid>
<artifactId>oozie-maven-plugin</artifactid>
<version>1.1</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>pl.edu.icm.oozie</groupid>
<artifactId>oozie-runner</artifactid>
<version>1.2-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>yadda</id>
<name>YADDA project repository</name>
<url>http://maven.icm.edu.pl/artifactory/repo</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>yadda</id>
<name>YADDA project repository</name>
<url>http://maven.icm.edu.pl/artifactory/repo</url>
</pluginrepository>
</pluginrepositories>
</project>
- src/main/oozie/workflow.xml
mvn archetype:generate -DarchetypeArtifactId=oozie-maven-archetype \ -DarchetypeGroupId=pl.edu.icm.maven.archetypes -DarchetypeVersion=1.0-SNAPSHOT \ -DinteractiveMode=false -DgroupId=my-project-groupId -DartifactId=my-project-artifactId \ -Dversion=VERSION_NUMBER -DarchetypeRepository=http://maven.icm.edu.pl/artifactory/repo