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

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

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