Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<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/maven-v4_0_0.xsd">
3
	<parent>
4
    		<groupId>eu.dnetlib</groupId>
5
	        <artifactId>dnet-hadoop-parent</artifactId>
6
            <version>1.0.1-CDH-5.3.0-SNAPSHOT</version>
7
	</parent>
8
	
9
	<version>1.0.1-CDH-5.3.0-SNAPSHOT</version>
10
	<modelVersion>4.0.0</modelVersion>
11
	<artifactId>icm-iis-parent-container</artifactId>
12
	<packaging>pom</packaging>
13

    
14
	<scm>
15
	  <developerConnection>
16
	    scm:svn:https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/icm-iis-parent-container/trunk
17
	  </developerConnection>
18
	</scm>
19

    
20
	<properties>
21
		<maven.compiler.target.version>1.8</maven.compiler.target.version>
22
		<maven.build.timestamp.format>yyyy-MM-dd_HH_mm</maven.build.timestamp.format>
23
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
24
        <oozie.data.dir>${project.build.directory}/test-data</oozie.data.dir>
25
        <!-- default Oozie installer properties requred to be defined at pom.xml level -->
26
        <!-- other project properties are defined in project-default.properties -->
27
        <oozie.package.file.name>oozie-package</oozie.package.file.name>
28
        <!-- notice: sandboxName is generated based on workflow.source.dir property -->
29
        <workflow.source.dir>src/test/resources/define/path/pointing/to/directory/holding/oozie_app</workflow.source.dir>
30
        <iis.hadoop.frontend.user.name>${user.name}</iis.hadoop.frontend.user.name>
31
        <iis.hadoop.frontend.user.dir>${iis.hadoop.frontend.user.name}</iis.hadoop.frontend.user.dir>
32
        <iis.hadoop.frontend.home.dir>/mnt/tmp</iis.hadoop.frontend.home.dir>
33
        <iis.hadoop.master.host.name>localhost</iis.hadoop.master.host.name>
34
        <iis.hadoop.frontend.host.name>localhost</iis.hadoop.frontend.host.name>
35
        <iis.hadoop.frontend.port.ssh>22</iis.hadoop.frontend.port.ssh>
36
        <oozieServiceLoc>http://${iis.hadoop.master.host.name}:11000/oozie</oozieServiceLoc>
37
        <oozieAppDir>oozie_app</oozieAppDir>
38
        <nameNode>hdfs://${iis.hadoop.master.host.name}:8020</nameNode>
39
        <jobTracker>${iis.hadoop.master.host.name}:8021</jobTracker>
40
        <queueName>default</queueName>
41
        <primed.dir>primed</primed.dir>
42
        <oozie.package.dependencies.scope>runtime</oozie.package.dependencies.scope>
43
        <oozie.execution.log.file.location>target/extract-and-run-on-remote-host.log</oozie.execution.log.file.location>
44
		<output.dir.name>${maven.build.timestamp}</output.dir.name>        
45
	</properties>
46

    
47
	<pluginRepositories>                                                                                                                                                                          
48
	    <pluginRepository>                                                                                                                                                                          
49
			<id>dnet4-bootstrap-release-plugin</id>                                                                                                                                                             
50
			<name>dnet4 bootstrap release plugin</name>                                                                                                                                                         
51
			<url>http://maven.research-infrastructures.eu/nexus/content/repositories/dnet4-bootstrap-release</url>                                                                                             
52
			<layout>default</layout>
53
	    </pluginRepository>
54
	    <pluginRepository>
55
	      <id>org.tmatesoft</id>
56
	      <name>Subversion 1.8 Compatibility</name>
57
	      <url>http://maven.tmatesoft.com/content/repositories/releases/</url>
58
	      <layout>default</layout>
59
	    </pluginRepository>
60
	</pluginRepositories>
61

    
62
	<dependencies>
63
		<dependency>
64
			<groupId>eu.dnetlib</groupId>
65
			<artifactId>icm-iis-assembly-resources</artifactId>
66
			<version>[1.0.0,2.0.0)</version>
67
		</dependency>
68
	</dependencies>
69
	
70
	<profiles>
71
		<profile>
72
			<!-- This profiles provides test resources for oozie package. 
73
				 To be used only with 'oozie' profile -->
74
			<id>attach-test-resources</id>
75
			<properties>
76
				<!--overriding default scope (set to 'runtime') with the 'test' value. 
77
					Test resources attached to oozie package requires all test dependancies. -->
78
				<oozie.package.dependencies.scope>test</oozie.package.dependencies.scope>
79
			</properties>
80
			<build>
81
				<plugins>
82
					<plugin>
83
						<groupId>org.apache.maven.plugins</groupId>
84
						<artifactId>maven-compiler-plugin</artifactId>
85
						<executions>
86
							<execution>
87
								<id>attach-test-resources-compile</id>
88
								<phase>test-compile</phase>
89
								<goals>
90
									<goal>testCompile</goal>
91
								</goals>
92
							</execution>
93
						</executions>
94
					</plugin>
95
					<plugin>
96
						<groupId>org.apache.maven.plugins</groupId>
97
						<artifactId>maven-jar-plugin</artifactId>
98
						<executions>
99
							<execution>
100
								<id>attach-test-resources-package</id>
101
								<phase>prepare-package</phase>
102
								<goals>
103
									<goal>test-jar</goal>
104
								</goals>
105
							</execution>
106
						</executions>
107
					</plugin>
108
				</plugins>
109
			</build>
110
		</profile>
111
		
112
		<profile>
113
			<id>oozie-package</id>
114
			<build>
115
				<plugins>
116
					<plugin>
117
		                <groupId>com.google.code.maven-svn-revision-number-plugin</groupId>
118
		                <artifactId>svn-revision-number-maven-plugin</artifactId>
119
		                <version>1.13</version>
120
		                <dependencies>
121
							<dependency>
122
							    <groupId>org.tmatesoft.svnkit</groupId>
123
							    <artifactId>svnkit</artifactId>
124
								<version>1.8.5</version>
125
							</dependency>
126
						</dependencies>
127
		                <executions>
128
		                    <execution>
129
		                        <goals>
130
		                            <goal>revision</goal>
131
		                        </goals>
132
		                    </execution>
133
		                </executions>
134
		                <configuration>
135
		                    <entries>
136
		                        <entry>
137
		                            <prefix>svn</prefix>
138
		                        </entry>
139
		                    </entries>
140
		                </configuration>
141
		            </plugin>
142
					<plugin>
143
						<groupId>org.apache.maven.plugins</groupId>
144
						<artifactId>maven-dependency-plugin</artifactId>
145
						<executions>
146
							<execution>
147
									<id>copy dependencies</id>
148
									<phase>prepare-package</phase>
149
									<goals>
150
										<goal>copy-dependencies</goal>
151
									</goals>
152
									<configuration>
153
										<includeScope>${oozie.package.dependencies.scope}</includeScope>
154
									</configuration>
155
							</execution>
156
						</executions>
157
					</plugin>
158
					<plugin>
159
		                <groupId>eu.dnetlib</groupId>
160
		                <artifactId>icm-iis-primer-maven-plugin</artifactId>
161
		                <executions>
162
		                    <execution>
163
		                        <id>priming</id>
164
		                        <phase>prepare-package</phase>
165
		                        <goals><goal>prime</goal></goals>
166
		                        <configuration>
167
		                            <classProviderFiles>
168
		                                <classProviderFile>${project.build.directory}/dependency/*.jar</classProviderFile>
169
		                                <classProviderFile>${project.build.directory}/*-tests.jar</classProviderFile>
170
		                                <classProviderFile>${project.build.directory}/classes</classProviderFile>
171
		                            </classProviderFiles>
172
		                            <coansysPackageDir>${project.build.directory}/dependency</coansysPackageDir>
173
		                            <destination>${project.build.directory}/${primed.dir}</destination>
174
		                            <classpath>${workflow.source.dir}</classpath>
175
		                        </configuration>
176
		                    </execution>
177
		                </executions>
178
		            </plugin>
179
					<!-- reading job.properties to use them in .sh scripts -->
180
					<plugin>
181
						<groupId>org.kuali.maven.plugins</groupId>
182
						<artifactId>properties-maven-plugin</artifactId>
183
						<version>1.3.2</version>
184
						<dependencies>
185
							<dependency>
186
								<groupId>eu.dnetlib</groupId>
187
								<artifactId>icm-iis-assembly-resources</artifactId>
188
								<version>[1.0.0,2.0.0)</version>
189
								<!-- contains project-default.properties -->
190
							</dependency>
191
						</dependencies>
192
						<executions>
193
							<execution>
194
								<id>read-default-properties</id>
195
								<phase>initialize</phase>
196
								<goals>
197
									<goal>read-project-properties</goal>
198
								</goals>
199
								<configuration>
200
									<locations>
201
										<param>classpath:project-default.properties</param>
202
									</locations>
203
									<quiet>true</quiet>
204
								</configuration>
205
							</execution>
206
							<execution>
207
								<id>read-job-properties</id>
208
								<phase>prepare-package</phase>
209
								<goals>
210
									<goal>read-project-properties</goal>
211
								</goals>
212
								<configuration>
213
									<locations>
214
										<param>${project.build.directory}/${primed.dir}/job.properties</param>
215
										<param>job-override.properties</param>
216
									</locations>
217
									<quiet>true</quiet>
218
								</configuration>
219
							</execution>
220
						</executions>
221
					</plugin>
222
					
223
					<plugin>
224
						<groupId>eu.dnetlib</groupId>
225
						<artifactId>icm-iis-properties-maven-plugin</artifactId>
226
						<executions>
227
							<execution>
228
		                        <phase>validate</phase>
229
		                        <goals>
230
		                            <goal>generate-properties</goal>
231
		                            <!-- generates sandboxName based on workflow.source.dir 
232
		                            	when not specified as commandline parameter -->
233
		                        </goals>
234
		                        <configuration>
235
		                        </configuration>
236
		                    </execution>
237
							<execution>
238
								<id>write-job-properties</id>
239
								<phase>prepare-package</phase>
240
								<goals>
241
									<goal>write-project-properties</goal>
242
								</goals>
243
								<configuration>
244
									<outputFile>target/${oozie.package.file.name}/job.properties</outputFile>
245
									<!-- notice: dots are not allowed for job.properties! -->
246
									<include>nameNode,jobTracker,queueName,
247
									workingDir,oozie.wf.application.path</include>
248
									<includeSystemProperties>true</includeSystemProperties>
249
									<includePropertyKeysFromFiles>
250
										<!-- 
251
										<param>${workflow.source.dir}/job.properties</param>
252
										 -->
253
										<param>${project.build.directory}/${primed.dir}/job.properties</param>
254
										<param>job-override.properties</param>
255
									</includePropertyKeysFromFiles>
256
								</configuration>
257
							</execution>
258
							<execution>
259
								<id>write-version-properties</id>
260
								<phase>prepare-package</phase>
261
								<goals>
262
									<goal>write-project-properties</goal>
263
								</goals>
264
								<configuration>
265
									<outputFile>target/${oozie.package.file.name}/${oozieAppDir}/version.properties</outputFile>
266
									<include>svn.revision,svn.repository,svn.path</include>
267
								</configuration>
268
							</execution>
269
						</executions>
270
					</plugin>
271
					<plugin>
272
						<groupId>org.apache.maven.plugins</groupId>
273
						<artifactId>maven-assembly-plugin</artifactId>
274
						<version>2.3</version>
275
						<dependencies>
276
							<dependency>
277
								<groupId>eu.dnetlib</groupId>
278
								<artifactId>icm-iis-assembly-resources</artifactId>
279
								<version>[1.0.0,2.0.0)</version>
280
							</dependency>
281
						</dependencies>
282
						<executions>
283
							<execution>
284
								<id>assembly-oozie-installer</id>
285
								<phase>package</phase>
286
								<goals>
287
									<goal>single</goal>
288
								</goals>
289
								<configuration>
290
									<appendAssemblyId>false</appendAssemblyId>
291
		        					<finalName>${oozie.package.file.name}_shell_scripts</finalName>
292
		        					<descriptorRefs>
293
							        	<descriptorRef>oozie-installer</descriptorRef>
294
							       	</descriptorRefs>
295
								</configuration>
296
							</execution>
297
						</executions>
298
					</plugin>
299
					
300
					<plugin>
301
						<!-- this plugin prepares oozie installer package-->
302
						<artifactId>maven-antrun-plugin</artifactId>
303
						<executions>
304
							<!-- extracting shared resources phase -->
305
							<execution>
306
					          <id>installer-copy-custom</id>
307
					          <phase>process-resources</phase>
308
					          <goals>
309
					              <goal>run</goal>
310
					          </goals>
311
					          <configuration>
312
					              <tasks>
313
					                  <property name="assembly-resources.loc" value="${maven.dependency.eu.dnetlib.icm-iis-assembly-resources.jar.path}" />
314
					                  <unjar src="${assembly-resources.loc}" dest="${project.build.directory}/assembly-resources" />                                                                     
315
					              </tasks>
316
					          </configuration>
317
					      	</execution>
318
							<!-- packaging phase -->
319
							<execution>
320
								<phase>package</phase>
321
								<configuration>
322
									<tasks>
323
										<!-- copying workflow resources -->
324
										<mkdir dir="target/${oozie.package.file.name}" />
325
										<mkdir dir="target/${oozie.package.file.name}/${oozieAppDir}" />
326
										<copy todir="target/${oozie.package.file.name}/${oozieAppDir}">
327
											<!-- 
328
											<fileset dir="${workflow.source.dir}/${oozieAppDir}" />
329
											replacing with primed dir location
330
											 -->
331
											<fileset dir="target/${primed.dir}/${oozieAppDir}" />
332
										</copy>
333
										<!-- copying all jars to oozie lib directory -->
334
										<mkdir dir="target/${oozie.package.file.name}/${oozieAppDir}/lib" />
335
										<copy todir="target/${oozie.package.file.name}/${oozieAppDir}/lib">
336
											<fileset dir="${project.build.directory}/dependency" />
337
										</copy>
338
										<!-- copying current module lib -->
339
										<copy todir="target/${oozie.package.file.name}/${oozieAppDir}/lib">
340
											<fileset dir="${project.build.directory}">
341
												<include name="*.jar" />
342
											</fileset>
343
										</copy>
344
										
345
										<!-- creating tar.gz package -->
346
										<tar destfile="target/${oozie.package.file.name}.tar.gz" compression="gzip">
347
											<tarfileset dir="target/${oozie.package.file.name}" />
348
											<tarfileset dir="target/${oozie.package.file.name}_shell_scripts" filemode="0755">
349
												<include name="**/*.sh" />
350
											</tarfileset>
351
											<tarfileset dir="target/${oozie.package.file.name}_shell_scripts" filemode="0644">
352
												<exclude name="**/*.sh" />
353
											</tarfileset>
354
										</tar>
355
										<!-- cleanup -->
356
										<delete dir="target/${oozie.package.file.name}" />
357
										<delete dir="target/${oozie.package.file.name}_shell_scripts" />
358
									</tasks>
359
								</configuration>
360
								<goals>
361
									<goal>run</goal>
362
								</goals>
363
							</execution>
364
						</executions>
365
					</plugin>
366
				</plugins>
367
			</build>
368
		</profile>
369
		
370
		<profile>
371
			<id>deploy</id>
372
			<build>
373
				<plugins>
374
			        <plugin>
375
					  <groupId>org.codehaus.mojo</groupId>
376
					  <artifactId>exec-maven-plugin</artifactId>
377
					  <version>1.3.2</version>
378
					  <executions>
379
					  	<execution>
380
				          <id>create-target-dir</id>
381
				          <phase>package</phase>
382
				          <goals>
383
				            <goal>exec</goal>
384
				          </goals>
385
				          <configuration>
386
				          	<executable>ssh</executable>
387
						    <arguments>
388
								<argument>${iis.hadoop.frontend.user.name}@${iis.hadoop.frontend.host.name}</argument>
389
								<argument>-p ${iis.hadoop.frontend.port.ssh}</argument>
390
								<argument>-o StrictHostKeyChecking=no</argument>
391
								<argument>rm -rf ${iis.hadoop.frontend.home.dir}/${iis.hadoop.frontend.user.dir}/oozie-packages/${sandboxName}/${output.dir.name}/; mkdir -p ${iis.hadoop.frontend.home.dir}/${iis.hadoop.frontend.user.dir}/oozie-packages/${sandboxName}/${output.dir.name}/</argument>
392
						    </arguments>
393
				          </configuration>
394
				        </execution>
395
					  	<execution>
396
				          <id>upload-oozie-package</id>
397
				          <phase>package</phase>
398
				          <goals>
399
				            <goal>exec</goal>
400
				          </goals>
401
				          <configuration>
402
				          	<executable>scp</executable>
403
						    <arguments>
404
						    	<argument>-P ${iis.hadoop.frontend.port.ssh}</argument>
405
						    	<argument>-o StrictHostKeyChecking=no</argument>
406
								<argument>target/${oozie.package.file.name}.tar.gz</argument>
407
								<argument>${iis.hadoop.frontend.user.name}@${iis.hadoop.frontend.host.name}:${iis.hadoop.frontend.home.dir}/${iis.hadoop.frontend.user.dir}/oozie-packages/${sandboxName}/${output.dir.name}/${oozie.package.file.name}.tar.gz</argument>
408
						    </arguments>
409
				          </configuration>
410
				        </execution>
411
					  
412
					    <execution>
413
					      <id>extract-and-upload-to-hdfs</id>
414
					      <phase>package</phase>
415
					      <goals>
416
					        <goal>exec</goal>
417
					      </goals>
418
					      <configuration>
419
						    <executable>ssh</executable>
420
						    <arguments>
421
								<argument>${iis.hadoop.frontend.user.name}@${iis.hadoop.frontend.host.name}</argument>
422
								<argument>-p ${iis.hadoop.frontend.port.ssh}</argument>
423
								<argument>-o StrictHostKeyChecking=no</argument>
424
								<argument>cd ${iis.hadoop.frontend.home.dir}/${iis.hadoop.frontend.user.dir}/oozie-packages/${sandboxName}/${output.dir.name}/; </argument>
425
								<argument>tar -zxvf oozie-package.tar.gz; </argument>
426
								<argument>rm ${iis.hadoop.frontend.home.dir}/${iis.hadoop.frontend.user.dir}/oozie-packages/${sandboxName}/${output.dir.name}/oozie-package.tar.gz; </argument>
427
								<argument>./upload_workflow.sh</argument> 
428
						    </arguments>
429
						  </configuration>
430
					    </execution>
431
					  </executions>
432
					</plugin>
433
				</plugins>
434
			</build>
435
		</profile>
436
		
437
		<profile>
438
			<id>run</id>
439
			<build>
440
				<plugins>
441
			        <plugin>
442
					  <groupId>org.codehaus.mojo</groupId>
443
					  <artifactId>exec-maven-plugin</artifactId>
444
					  <version>1.3.2</version>
445
					  <executions>
446
					    <execution>
447
					      <id>run-job</id>
448
					      <phase>package</phase>
449
					      <goals>
450
					        <goal>exec</goal>
451
					      </goals>
452
					      <configuration>
453
						    <executable>ssh</executable>
454
						    <!-- this file will be used by test verification profile reading job identifier -->
455
						    <outputFile>${oozie.execution.log.file.location}</outputFile>
456
						    <arguments>
457
								<argument>${iis.hadoop.frontend.user.name}@${iis.hadoop.frontend.host.name}</argument>
458
								<argument>-p ${iis.hadoop.frontend.port.ssh}</argument>
459
								<argument>-o StrictHostKeyChecking=no</argument>
460
								<argument>cd ${iis.hadoop.frontend.home.dir}/${iis.hadoop.frontend.user.dir}/oozie-packages/${sandboxName}/${output.dir.name}/; </argument>
461
								<argument>./run_workflow.sh</argument>
462
						    </arguments>
463
						  </configuration>
464
					    </execution>
465
					    
466
					    <execution>
467
					      <id>show-run-log-on-stdout</id>
468
					      <phase>package</phase>
469
					      <goals>
470
					        <goal>exec</goal>
471
					      </goals>
472
					      <configuration>
473
						    <executable>cat</executable>
474
						    <arguments>
475
								<argument>${oozie.execution.log.file.location}</argument>
476
						    </arguments>
477
						  </configuration>
478
					    </execution>
479
					  </executions>
480
					</plugin>
481
				</plugins>
482
			</build>
483
		</profile>
484
		
485
		<profile>
486
			<id>monitor</id>
487
			<build>
488
				<plugins>
489
			        <plugin>
490
						<groupId>eu.dnetlib</groupId>
491
						<artifactId>icm-iis-oozie-maven-plugin</artifactId>
492
						<executions>
493
							<execution>
494
								<id>read-job-id</id>
495
		                        <phase>package</phase>
496
		                        <goals>
497
		                            <goal>read-job-id</goal>
498
		                        </goals>
499
		                        <configuration>
500
		                        	<logFileLocation>${oozie.execution.log.file.location}</logFileLocation>
501
		                        </configuration>
502
		                    </execution>
503
		                    <execution>
504
								<id>check-job-status</id>
505
		                        <phase>package</phase>
506
		                        <goals>
507
		                            <goal>check-job-status</goal>
508
		                        </goals>
509
		                        <configuration>
510
		                        	<jobId>${oozieJobId}</jobId>
511
		                        	<oozieLocation>${oozieServiceLoc}</oozieLocation>
512
		                        	<maxExecutionTimeMins>180</maxExecutionTimeMins>
513
		                        	<checkIntervalSecs>60</checkIntervalSecs>
514
		                        </configuration>
515
		                    </execution>
516
						</executions>
517
					</plugin>
518
				</plugins>
519
			</build>
520
		</profile>
521
		
522
		<profile>
523
			<id>deploy-local</id>
524
			<build>
525
				<plugins>
526
			        <plugin>
527
					  <groupId>org.codehaus.mojo</groupId>
528
					  <artifactId>exec-maven-plugin</artifactId>
529
					  <version>1.3.2</version>
530
					  <executions>
531
					  	<execution>
532
					      <id>mkdir</id>
533
					      <phase>package</phase>
534
					      <goals>
535
					        <goal>exec</goal>
536
					      </goals>
537
					      <configuration>
538
						    <executable>mkdir</executable>
539
						    <arguments>
540
								<argument>target/local-upload</argument>
541
						    </arguments>
542
						  </configuration>
543
					    </execution>
544
					    <execution>
545
					      <id>untar</id>
546
					      <phase>package</phase>
547
					      <goals>
548
					        <goal>exec</goal>
549
					      </goals>
550
					      <configuration>
551
						    <executable>tar</executable>
552
						    <arguments>
553
								<argument>-zxvf</argument>
554
								<argument>${project.build.directory}/${oozie.package.file.name}.tar.gz</argument>
555
								<argument>-C</argument>
556
								<argument>${project.build.directory}/local-upload</argument>
557
						    </arguments>
558
						  </configuration>
559
					    </execution>
560
					    <execution>
561
					      <id>upload-to-local-cluster</id>
562
					      <phase>package</phase>
563
					      <goals>
564
					        <goal>exec</goal>
565
					      </goals>
566
					      <configuration>
567
						    <executable>sh</executable>
568
						    <arguments>
569
						    	<argument>${project.build.directory}/local-upload/upload_workflow.sh</argument>
570
						    	<argument>${project.build.directory}/local-upload</argument>
571
						    </arguments>
572
						  </configuration>
573
					    </execution>
574
					  </executions>
575
					</plugin>
576
				</plugins>
577
			</build>
578
		</profile>
579
		
580
		<profile>
581
			<id>run-local</id>
582
			<build>
583
				<plugins>
584
			        <plugin>
585
					  <groupId>org.codehaus.mojo</groupId>
586
					  <artifactId>exec-maven-plugin</artifactId>
587
					  <version>1.3.2</version>
588
					  <executions>
589
					    <execution>
590
					      <id>run-on-local-cluster</id>
591
					      <phase>package</phase>
592
					      <goals>
593
					        <goal>exec</goal>
594
					      </goals>
595
					      <configuration>
596
						    <executable>sh</executable>
597
						    <arguments>
598
						    	<argument>${project.build.directory}/local-upload/run_workflow.sh</argument>
599
						    	<argument>${project.build.directory}/local-upload</argument>
600
						    </arguments>
601
						  </configuration>
602
					    </execution>
603
					  </executions>
604
					</plugin>
605
				</plugins>
606
			</build>
607
		</profile>
608
		
609
		<profile>
610
			<!-- this profile is handling unit and integration test definitions 
611
				of all child modules -->
612
			<id>child-tests</id>
613
			<build>
614
			<plugins>
615
				<!-- integration tests related --> 
616
				<plugin>
617
					<groupId>org.apache.maven.plugins</groupId>
618
					<artifactId>maven-compiler-plugin</artifactId>
619
					<executions>
620
						<execution>
621
							<id>integration-test-compile</id>
622
							<phase>integration-test</phase>
623
							<goals>
624
								<goal>testCompile</goal>
625
							</goals>
626
						</execution>
627
					</executions>
628
				</plugin>
629
				<plugin>
630
					<groupId>org.apache.maven.plugins</groupId>
631
					<artifactId>maven-jar-plugin</artifactId>
632
					<executions>
633
						<execution>
634
							<id>integration-test-package</id>
635
							<phase>integration-test</phase>
636
							<goals>
637
								<goal>test-jar</goal>
638
							</goals>
639
						</execution>
640
					</executions>
641
				</plugin>
642
				<plugin>
643
					<groupId>org.apache.maven.plugins</groupId>
644
					<artifactId>maven-dependency-plugin</artifactId>
645
					<executions>
646
						<execution>
647
							<id>integration-test-copy-dependencies</id>
648
							<phase>integration-test</phase>
649
							<goals>
650
								<goal>copy-dependencies</goal>
651
							</goals>
652
						</execution>
653
					</executions>
654
				</plugin>
655
				
656
				<plugin>
657
	                <groupId>eu.dnetlib</groupId>
658
	                <artifactId>icm-iis-primer-maven-plugin</artifactId>
659
	                <executions>
660
	                    <execution>
661
	                        <id>integration-test-priming</id>
662
	                        <phase>integration-test</phase>
663
	                        <goals><goal>prime</goal></goals>
664
	                        <configuration>
665
	                            <classProviderFiles>
666
	                                <classProviderFile>${project.build.directory}/dependency/*.jar</classProviderFile>
667
	                                <classProviderFile>${project.build.directory}/*-tests.jar</classProviderFile>
668
	                                <classProviderFile>${project.build.directory}/classes</classProviderFile>
669
	                            </classProviderFiles>
670
	                            <coansysPackageDir>${project.build.directory}/dependency</coansysPackageDir>
671
	                            <destination>${project.build.directory}/${primed.dir}</destination>
672
	                        </configuration>
673
	                    </execution>
674
	                </executions>
675
	            </plugin>
676
	            <!--  -->
677
				<!-- end of plugins required by integration test priming -->
678
				<plugin>
679
					<groupId>org.apache.maven.plugins</groupId>
680
					<artifactId>maven-surefire-plugin</artifactId>
681
					<version>2.11</version>
682
					<dependencies>
683
						<dependency>
684
							<groupId>org.apache.maven.surefire</groupId>
685
							<artifactId>surefire-junit47</artifactId>
686
							<version>2.12</version>
687
						</dependency>
688
					</dependencies>
689
					<configuration>
690
						<skip>true</skip>
691
					</configuration>
692
					<executions>
693
						<execution>
694
							<id>unit-test</id>
695
							<phase>test</phase>
696
							<goals>
697
								<goal>test</goal>
698
							</goals>
699
							<configuration>
700
								<skip>false</skip>
701
								<excludedGroups>eu.dnetlib.iis.IntegrationTest</excludedGroups>
702
							</configuration>
703
						</execution>
704
						<execution>
705
							<id>integration-test</id>
706
							<phase>integration-test</phase>
707
							<goals>
708
								<goal>test</goal>
709
							</goals>
710
							<configuration>
711
								<skip>false</skip>
712
								<forkMode>always</forkMode>
713
								<argLine>-Xmx1024m</argLine>
714
								<systemPropertiesVariables>
715
									<hadoop.log.dir>/tmp</hadoop.log.dir>
716
									<oozie.data.dir>${oozie.data.dir}</oozie.data.dir>
717
								</systemPropertiesVariables>
718
								<groups>eu.dnetlib.iis.IntegrationTest</groups>
719
							</configuration>
720
						</execution>
721
					</executions>
722
				</plugin>
723
			</plugins>
724
			</build>
725
			<activation>
726
				<file>
727
					<missing>src/main/resources/parent.marker</missing>
728
				</file>
729
			</activation>
730
		</profile>
731
	</profiles>
732
	
733
	<build>
734
		<plugins>
735
		</plugins>
736
		<pluginManagement>
737
			<plugins>
738
				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
739
				<plugin>
740
					<groupId>org.eclipse.m2e</groupId>
741
					<artifactId>lifecycle-mapping</artifactId>
742
					<version>1.0.0</version>
743
					<configuration>
744
						<lifecycleMappingMetadata>
745
							<pluginExecutions>
746
								<pluginExecution>
747
									<pluginExecutionFilter>
748
										<groupId>
749
											org.kuali.maven.plugins
750
										</groupId>
751
										<artifactId>
752
											properties-maven-plugin
753
										</artifactId>
754
										<versionRange>
755
											[1.3.2,)
756
										</versionRange>
757
										<goals>
758
											<goal>
759
												read-project-properties
760
											</goal>
761
											<goal>
762
												write-project-properties
763
											</goal>
764
										</goals>
765
									</pluginExecutionFilter>
766
									<action>
767
										<ignore />
768
									</action>
769
								</pluginExecution>
770
								<!-- copy-dependency plugin -->
771
			                    <pluginExecution>
772
			                        <pluginExecutionFilter>
773
			                            <groupId>org.apache.maven.plugins</groupId>
774
			                            <artifactId>maven-dependency-plugin</artifactId>
775
			                            <versionRange>[1.0.0,)</versionRange>
776
			                            <goals>
777
			                                <goal>copy-dependencies</goal>
778
			                            </goals>
779
			                        </pluginExecutionFilter>
780
			                        <action>
781
			                            <ignore />
782
			                        </action>
783
                    </pluginExecution>
784
							</pluginExecutions>
785
						</lifecycleMappingMetadata>
786
					</configuration>
787
				</plugin>
788
			</plugins>
789
		</pluginManagement>
790
	</build>
791
	
792
	<repositories>
793
		<repository>
794
			<id>cloudera</id>
795
			<name>Cloudera Repository</name>
796
			<url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
797
			<releases>
798
				<enabled>true</enabled>
799
			</releases>
800
			<snapshots>
801
				<enabled>false</enabled>
802
			</snapshots>
803
		</repository>	
804
	</repositories>
805
</project>
(3-3/3)