forked from D-Net/dnet-hadoop
250 lines
8.5 KiB
XML
250 lines
8.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<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>eu.dnetlib.dhp</groupId>
|
|
<artifactId>dhp</artifactId>
|
|
<version>1.0.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>dhp-wf</artifactId>
|
|
<packaging>pom</packaging>
|
|
|
|
<modules>
|
|
<module>dhp-wf-import</module>
|
|
</modules>
|
|
|
|
<properties>
|
|
<maven.build.timestamp.format>yyyy-MM-dd_HH_mm</maven.build.timestamp.format>
|
|
<!-- default Oozie installer properties required to be defined at pom.xml level -->
|
|
<!-- other project properties are defined in project-default.properties -->
|
|
<oozie.package.file.name>oozie-package</oozie.package.file.name>
|
|
<!-- notice: sandboxName is generated based on workflow.source.dir property -->
|
|
<workflow.source.dir>src/test/resources/define/path/pointing/to/directory/holding/oozie_app</workflow.source.dir>
|
|
<oozieAppDir>oozie_app</oozieAppDir>
|
|
<queueName>default</queueName>
|
|
<importerQueueName>default</importerQueueName>
|
|
<oozieLauncherQueueName>default</oozieLauncherQueueName>
|
|
<primed.dir>primed</primed.dir>
|
|
|
|
<oozie.package.dependencies.include.scope>runtime</oozie.package.dependencies.include.scope>
|
|
<oozie.package.dependencies.exclude.scope></oozie.package.dependencies.exclude.scope>
|
|
<oozie.package.skip.test.jar>true</oozie.package.skip.test.jar>
|
|
|
|
<dhpConnectionProperties>${user.home}/.dhp/application.properties</dhpConnectionProperties>
|
|
|
|
<output.dir.name>${maven.build.timestamp}</output.dir.name>
|
|
|
|
<projectVersion>${project.version}</projectVersion>
|
|
<oozie.use.system.libpath>true</oozie.use.system.libpath>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
|
|
<!--
|
|
<dependency>
|
|
<groupId>eu.dnetlib.iis</groupId>
|
|
<artifactId>iis-build-assembly-resources</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
-->
|
|
<dependency>
|
|
<groupId>org.apache.oozie</groupId>
|
|
<artifactId>oozie-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.schmizz</groupId>
|
|
<artifactId>sshj</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>oozie-package</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<version>1.4.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-connection-properties-file-existence</id>
|
|
<phase>initialize</phase>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireFilesExist>
|
|
<files>
|
|
<file>${dhpConnectionProperties}</file>
|
|
</files>
|
|
<message>
|
|
The file with connection properties could not be found. Please, create the ${dhpConnectionProperties} file or set the location to another already created file by using
|
|
-DdhpConnectionProperties property.
|
|
</message>
|
|
</requireFilesExist>
|
|
</rules>
|
|
<fail>true</fail>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy dependencies</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includeScope>${oozie.package.dependencies.include.scope}</includeScope>
|
|
<excludeScope>${oozie.package.dependencies.exclude.scope}</excludeScope>
|
|
<silent>true</silent>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- Plugin originally defined in attach-test-resources It was moved here to ensure that it will execute before priming -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-test-resources-package</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${oozie.package.skip.test.jar}</skip>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
|
|
<plugin>
|
|
<groupId>pl.project13.maven</groupId>
|
|
<artifactId>git-commit-id-plugin</artifactId>
|
|
<version>2.1.11</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>revision</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<verbose>true</verbose>
|
|
<dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat>
|
|
<generateGitPropertiesFile>true</generateGitPropertiesFile>
|
|
<generateGitPropertiesFilename>target/${oozie.package.file.name}/${oozieAppDir}/version.properties</generateGitPropertiesFilename>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>assembly-oozie-installer</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<appendAssemblyId>false</appendAssemblyId>
|
|
<finalName>${oozie.package.file.name}_shell_scripts</finalName>
|
|
<descriptorRefs>
|
|
<descriptorRef>oozie-installer</descriptorRef>
|
|
</descriptorRefs>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<!-- this plugin prepares oozie installer package-->
|
|
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<!-- extracting shared resources phase -->
|
|
<execution>
|
|
<id>installer-copy-custom</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<tasks>
|
|
<property name="assembly-resources.loc" value="${maven.dependency.eu.dnetlib.iis.iis-build-assembly-resources.jar.path}" />
|
|
<unjar src="${assembly-resources.loc}" dest="${project.build.directory}/assembly-resources" />
|
|
</tasks>
|
|
</configuration>
|
|
</execution>
|
|
<!-- packaging phase -->
|
|
<execution>
|
|
<phase>package</phase>
|
|
<configuration>
|
|
<tasks>
|
|
<!-- copying workflow resources -->
|
|
<mkdir dir="target/${oozie.package.file.name}" />
|
|
<mkdir dir="target/${oozie.package.file.name}/${oozieAppDir}" />
|
|
<copy todir="target/${oozie.package.file.name}/${oozieAppDir}">
|
|
<!-- <fileset dir="${workflow.source.dir}/${oozieAppDir}" /> replacing with primed dir location -->
|
|
<fileset dir="target/${primed.dir}/${oozieAppDir}" />
|
|
</copy>
|
|
<!-- copying all jars to oozie lib directory -->
|
|
<mkdir dir="target/${oozie.package.file.name}/${oozieAppDir}/lib" />
|
|
<copy todir="target/${oozie.package.file.name}/${oozieAppDir}/lib">
|
|
<fileset dir="${project.build.directory}/dependency" />
|
|
</copy>
|
|
<!-- copying current module lib -->
|
|
<copy todir="target/${oozie.package.file.name}/${oozieAppDir}/lib">
|
|
<fileset dir="${project.build.directory}">
|
|
<include name="*.jar" />
|
|
</fileset>
|
|
</copy>
|
|
|
|
|
|
<fixcrlf srcdir="target/${oozie.package.file.name}/${oozieAppDir}/" encoding="UTF-8" outputencoding="UTF-8" includes="**/*.sh,**/*.json,**/*.py,**/*.sql" eol="lf"/>
|
|
|
|
|
|
<!-- creating tar.gz package -->
|
|
<tar destfile="target/${oozie.package.file.name}.tar.gz" compression="gzip">
|
|
<tarfileset dir="target/${oozie.package.file.name}" />
|
|
<tarfileset dir="target/${oozie.package.file.name}_shell_scripts" filemode="0755">
|
|
<include name="**/*.sh" />
|
|
</tarfileset>
|
|
<tarfileset dir="target/${oozie.package.file.name}_shell_scripts" filemode="0644">
|
|
<exclude name="**/*.sh" />
|
|
</tarfileset>
|
|
</tar>
|
|
<!-- cleanup -->
|
|
<delete dir="target/${oozie.package.file.name}" />
|
|
<delete dir="target/${oozie.package.file.name}_shell_scripts" />
|
|
</tasks>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
</profiles>
|
|
|
|
</project>
|