Statistics
| Revision:

root / tags / mavenpom-3.2 / pom.xml

History | View | Annotate | Download (61.7 KB)

1
<?xml version="1.0" encoding="UTF-8"?>
2
<!--
3
  #%L
4
  Mavenpom
5

6
  $Id: pom.xml 1227 2012-03-20 23:33:02Z maven-release $
7
  $HeadURL: http://svn.nuiton.org/svn-private/mavenpom/tags/mavenpom-3.2/pom.xml $
8
  %%
9
  Copyright (C) 2009 - 2010 CodeLutin
10
  %%
11
  This program is free software: you can redistribute it and/or modify
12
  it under the terms of the GNU Lesser General Public License as
13
  published by the Free Software Foundation, either version 3 of the
14
  License, or (at your option) any later version.
15

16
  This program is distributed in the hope that it will be useful,
17
  but WITHOUT ANY WARRANTY; without even the implied warranty of
18
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
  GNU General Lesser Public License for more details.
20

21
  You should have received a copy of the GNU General Lesser Public
22
  License along with this program.  If not, see
23
  <http://www.gnu.org/licenses/lgpl-3.0.html>.
24
  #L%
25
-->
26
<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">
27

    
28
  <modelVersion>4.0.0</modelVersion>
29

    
30
  <!-- ************************************************************* -->
31
  <!-- *** POM Relationships *************************************** -->
32
  <!-- ************************************************************* -->
33

    
34
  <groupId>org.nuiton</groupId>
35
  <artifactId>mavenpom</artifactId>
36
  <version>3.2</version>
37

    
38
  <modules>
39
    <module>mavenpom4redmine</module>
40
    <module>mavenpom4labs</module>
41
  </modules>
42

    
43
  <!-- ************************************************************* -->
44
  <!-- *** Project Information ************************************* -->
45
  <!-- ************************************************************* -->
46

    
47
  <name>Mavenpom</name>
48

    
49
  <description>Ancestor of all projects of Code Lutin</description>
50

    
51
  <url>http://maven-site.nuiton.org/mavenpom</url>
52

    
53
  <inceptionYear>2009</inceptionYear>
54

    
55
  <licenses>
56
    <license>
57
      <name>Lesser General Public License (LGPL) v 3.0</name>
58
      <url>http://www.gnu.org/licenses/lgpl-3.0.txt</url>
59
      <distribution>repo</distribution>
60
    </license>
61
  </licenses>
62

    
63
  <developers>
64

    
65
    <developer>
66
      <name>Tony Chemit</name>
67
      <id>tchemit</id>
68
      <email>chemit@codelutin.com</email>
69
      <organization>CodeLutin</organization>
70
      <timezone>+2</timezone>
71
      <roles>
72
        <role>developer</role>
73
      </roles>
74
    </developer>
75

    
76
    <developer>
77
      <name>Jean Couteau</name>
78
      <id>jcouteau</id>
79
      <email>couteau@codelutin.com</email>
80
      <organization>CodeLutin</organization>
81
      <timezone>+2</timezone>
82
      <roles>
83
        <role>technical writer</role>
84
      </roles>
85
    </developer>
86

    
87
    <developer>
88
      <name>Brendan Le Ny</name>
89
      <id>bleny</id>
90
      <email>bleny@codelutin.com</email>
91
      <organization>CodeLutin</organization>
92
      <timezone>+2</timezone>
93
      <roles>
94
        <role>developer</role>
95
      </roles>
96
    </developer>
97

    
98
  </developers>
99

    
100
  <organization>
101
    <name>CodeLutin</name>
102
    <url>http://www.codelutin.com/</url>
103
  </organization>
104

    
105
  <!-- ************************************************************* -->
106
  <!-- *** Build Environment  ************************************** -->
107
  <!-- ************************************************************* -->
108

    
109
  <!-- Build Environment : Environment Information -->
110

    
111
  <issueManagement>
112
    <system>redmine</system>
113
    <url>http://${platform}/projects/${projectId}/issues</url>
114
  </issueManagement>
115

    
116
  <ciManagement>
117
    <system>hudson</system>
118
    <url>${ci.host.url}/job/${projectId}</url>
119
  </ciManagement>
120

    
121
  <!--Any mailing lists for the project-->
122
  <mailingLists>
123
    <mailingList>
124
      <name>${listId}-commits</name>
125
      <subscribe>
126
        http://list.${platform}/cgi-bin/mailman/listinfo/${listId}-commits
127
      </subscribe>
128
      <unsubscribe>
129
        http://list.${platform}/cgi-bin/mailman/listinfo/${listId}-commits
130
      </unsubscribe>
131
      <post>${listId}-commits@list.${platform}</post>
132
      <archive>http://list.${platform}/pipermail/${listId}-commits/</archive>
133
    </mailingList>
134

    
135
    <mailingList>
136
      <name>${listId}-devel</name>
137
      <subscribe>
138
        http://list.${platform}/cgi-bin/mailman/listinfo/${listId}-devel
139
      </subscribe>
140
      <unsubscribe>
141
        http://list.${platform}/cgi-bin/mailman/listinfo/${listId}-devel
142
      </unsubscribe>
143
      <post>${listId}-devel@list.${platform}</post>
144
      <archive>http://list.${platform}/pipermail/${listId}-devel/</archive>
145
    </mailingList>
146

    
147
    <mailingList>
148
      <name>${listId}-users</name>
149
      <subscribe>
150
        http://list.${platform}/cgi-bin/mailman/listinfo/${listId}-users
151
      </subscribe>
152
      <unsubscribe>
153
        http://list.${platform}/cgi-bin/mailman/listinfo/${listId}-users
154
      </unsubscribe>
155
      <post>${listId}-users@list.${platform}</post>
156
      <archive>http://list.${platform}/pipermail/${listId}-users/</archive>
157
    </mailingList>
158
  </mailingLists>
159

    
160
  <!-- Source control management. -->
161
  <scm>
162
    <connection>scm:svn:http://svn.nuiton.org/svn/mavenpom/tags/mavenpom-3.2</connection>
163
    <developerConnection>scm:svn:http://svn.nuiton.org/svn/mavenpom/tags/mavenpom-3.2</developerConnection>
164
    <url>http://www.nuiton.org/repositories/browse/mavenpom/tags/mavenpom-3.2</url>
165
  </scm>
166

    
167
  <!-- ************************************************************* -->
168
  <!-- *** Build Settings ****************************************** -->
169
  <!-- ************************************************************* -->
170

    
171
  <properties>
172

    
173
    <!-- the redmine plateform used (nuiton.org or chorem.org or forge.codelutin.com) -->
174
    <platform>nuiton.org</platform>
175

    
176
    <!-- a proprerty to define the id of the project, in a multi-module
177
         project, you must use a hard-cored value, otherwise for modules
178
         the artifactId will be expanded , otherwise, no need to override it
179
    -->
180
    <projectId>${project.artifactId}</projectId>
181

    
182
    <!-- a property to define list id -->
183
    <listId>${projectId}</listId>
184

    
185
    <!-- location of central-releases repository -->
186
    <central.release.repository>http://nexus.nuiton.org/nexus/content/repositories/central-releases</central.release.repository>
187

    
188
    <!-- location of other-releases repository -->
189
    <other.release.repository>http://nexus.nuiton.org/nexus/content/repositories/other-releases</other.release.repository>
190

    
191
    <!-- location of nuiton snapshots repository -->
192
    <our.snapshot.repository>http://nexus.nuiton.org/nexus/content/repositories/snapshots</our.snapshot.repository>
193

    
194
    <!-- location of nuiton site repository -->
195
    <our.site.repository>scpexe://${platform}/var/lib/redmine-${platform}/project-site</our.site.repository>
196

    
197
    <!-- location of the release repository to use -->
198
    <release.repository>${other.release.repository}</release.repository>
199

    
200
    <!-- server to use for release -->
201
    <release.server>nuiton-nexus-deploy</release.server>
202

    
203
    <!-- location of the snapshot repository to use -->
204
    <snapshot.repository>${our.snapshot.repository}</snapshot.repository>
205

    
206
    <!-- server to use for snapshot -->
207
    <snapshot.server>nuiton-nexus-deploy</snapshot.server>
208
    
209
    <!-- default encoding -->
210
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
211
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
212

    
213
    <!-- by default, use maven 2 source base dir -->
214
    <maven.src.dir>${basedir}/src</maven.src.dir>
215

    
216
    <!-- where to generate sources -->
217
    <maven.gen.dir>${project.build.directory}/generated-sources</maven.gen.dir>
218

    
219
    <!-- le fichier de license du projet -->
220
    <maven.license.file>${project.basedir}/LICENSE.txt</maven.license.file>
221

    
222
    <!-- url of the quality assurance platform -->
223
    <qa.host.url>http://qa.${platform}/sonar</qa.host.url>
224

    
225
    <!-- url of the continuous integration platform -->
226
    <ci.host.url>http://ci.${platform}/jenkins</ci.host.url>
227

    
228
    <mavenVersion>2.2.1</mavenVersion>
229
    <antVersion>1.8.2</antVersion>
230

    
231
    <!-- our plugins (+ skin)  version -->
232
    <helperPluginVersion>1.4</helperPluginVersion>
233
    <jredminePluginVersion>1.3</jredminePluginVersion>
234
    <jrstPluginVersion>1.4</jrstPluginVersion>
235
    <nuitonSkinVersion>1.1.1</nuitonSkinVersion>
236
    
237
    <!-- apache maven plugins version -->
238
    <antRunPluginVersion>1.7</antRunPluginVersion>
239
    <assemblyPluginVersion>2.3</assemblyPluginVersion>
240
    <cleanPluginVersion>2.4.1</cleanPluginVersion>
241
    <compilerPluginVersion>2.3.2</compilerPluginVersion>
242
    <dependencyPluginVersion>2.4</dependencyPluginVersion>
243
    <deployPluginVersion>2.7</deployPluginVersion>
244
    <earPluginVersion>2.7</earPluginVersion>
245
    <ejbPluginVersion>2.3</ejbPluginVersion>
246
    <enforcerPluginVersion>1.0.1</enforcerPluginVersion>
247
    <gpgPluginVersion>1.4</gpgPluginVersion>
248
    <installPluginVersion>2.3.1</installPluginVersion>
249
    <invokerPluginVersion>1.5</invokerPluginVersion>
250
    <jarPluginVersion>2.4</jarPluginVersion>
251
    <javadocPluginVersion>2.8.1</javadocPluginVersion>
252
    <pluginPluginVersion>2.9</pluginPluginVersion>
253
    <pmdPluginVersion>2.7.1</pmdPluginVersion>
254
    <releasePluginVersion>2.2.2</releasePluginVersion>
255
    <remoteResourcesPluginVersion>1.2.1</remoteResourcesPluginVersion>
256
    <resourcesPluginVersion>2.5</resourcesPluginVersion>
257
    <sitePluginVersion>3.0</sitePluginVersion>
258
    <sourcePluginVersion>2.1.2</sourcePluginVersion>
259
    <surefirePluginVersion>2.12</surefirePluginVersion>
260
    <warPluginVersion>2.2</warPluginVersion>
261

    
262
    <!-- codehaus mojo plugins -->
263
    <coberturaPluginVersion>2.5.1</coberturaPluginVersion>
264
    <execPluginVersion>1.2.1</execPluginVersion>
265
    <findbugsPluginVersion>2.4.0</findbugsPluginVersion>
266
    <gwtPluginVersion>2.4.0</gwtPluginVersion>
267
    <licensePluginVersion>1.0</licensePluginVersion>
268
    <tomcatPluginVersion>1.1</tomcatPluginVersion>
269
    <versionsPluginVersion>1.3.1</versionsPluginVersion>
270
    <wagonPluginVersion>1.0-beta-3</wagonPluginVersion>
271
    <webstartPluginVersion>1.0-beta-3</webstartPluginVersion>
272

    
273
    <!-- codehaus plexus plugins -->
274
    <plexusPluginVersion>1.3.8</plexusPluginVersion>
275
    <plexusComponentMetadataPluginVersion>1.5.5</plexusComponentMetadataPluginVersion>
276

    
277

    
278
    <!-- others plugins -->
279
    <androidPluginVersion>2.8.4</androidPluginVersion>
280
    <jettyPluginVersion>8.1.1.v20120215</jettyPluginVersion>
281
    <statScmPluginVersion>1.2.0</statScmPluginVersion>
282

    
283
    <!-- report plugins version -->
284
    <changesPluginVersion>2.6</changesPluginVersion>
285
    <projectInfoReportsPluginVersion>2.4</projectInfoReportsPluginVersion>
286
    <changelogPluginVersion>2.2</changelogPluginVersion>
287
    <jrxPluginVersion>2.3</jrxPluginVersion>
288
    <sonarReportPluginVersion>0.1</sonarReportPluginVersion>
289
    
290
    <!-- common libs used in projects -->
291
    <commonsBeanutilsVersion>1.8.3</commonsBeanutilsVersion>
292
    <commonsCollectionsVersion>3.2.1</commonsCollectionsVersion>
293
    <commonsEmailVersion>1.2</commonsEmailVersion>
294
    <commonsHttpclientVersion>3.1</commonsHttpclientVersion>
295
    <commonsIoVersion>2.1</commonsIoVersion>
296
    <commonsJxpathVersion>1.3</commonsJxpathVersion>
297
    <commonsLangVersion>2.6</commonsLangVersion>
298
    <commonsLang3Version>3.1</commonsLang3Version>
299
    <commonsLoggingVersion>1.1.1</commonsLoggingVersion>
300
    <commonsPrimitivesVersion>1.0</commonsPrimitivesVersion>
301
    <commonsMathVersion>2.2</commonsMathVersion>
302
    <guavaVersion>11.0.2</guavaVersion>
303
    <junitVersion>4.10</junitVersion>
304
    <log4jVersion>1.2.16</log4jVersion>
305
    
306
    <!-- to deploy with scpexe for maven 3 -->
307
    <wagonSshExternalVersion>1.0</wagonSshExternalVersion>
308

    
309
    <!-- versions of javadoc tagglets -->
310
    <mavenPluginToolsJavadocVersion>2.8</mavenPluginToolsJavadocVersion>
311
    <plexusComponentJavadocVersion>1.5.5</plexusComponentJavadocVersion>
312

    
313
    <!-- FIX #534 unmodifiable parameter when releasing -->
314
    <helper.smtpHost>smtp</helper.smtpHost>
315

    
316
    <!-- compiler configuration -->
317

    
318
    <maven.compiler.source>1.6</maven.compiler.source>
319
    <maven.compiler.target>1.6</maven.compiler.target>
320
    <maven.compiler.showWarnings>true</maven.compiler.showWarnings>
321
    <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation>
322

    
323
    <!-- javadoc configuration -->
324

    
325
    <!-- pour ne pas executer la javadoc -->
326
    <maven.javadoc.skip>false</maven.javadoc.skip>
327

    
328
    <!-- pour modifier la verbosite de la javadoc -->
329
    <maven.javadoc.quiet>true</maven.javadoc.quiet>
330

    
331
    <!-- license configuration -->
332
    <license.useMissingFile>true</license.useMissingFile>
333
    <license.failIfWarning>true</license.failIfWarning>
334

    
335
    <!-- site configuration -->
336

    
337
    <!-- locales for the site generation, by default only french -->
338
    <locales>fr</locales>
339

    
340
    <generateSitemap>true</generateSitemap>
341

    
342
    <!-- default documentation format (if not rst, change it)-->
343
    <siteSourcesType>rst</siteSourcesType>
344

    
345
    <!-- scmwebeditor url -->
346
    <scmwebeditorUrl>http://scmwebeditor.nuiton.org/scmwebeditor/checkout.action</scmwebeditorUrl>
347

    
348
    <!-- customize maven-nuiton-skin -->
349
    <scmwebeditorEnabled>true</scmwebeditorEnabled>
350
    <payPalEnabled>true</payPalEnabled>
351
    <googleAdSenseEnabled>true</googleAdSenseEnabled>
352
    <googleSearchEnabled>true</googleSearchEnabled>
353
    <googleAnalyticsEnabled>true</googleAnalyticsEnabled>
354
    
355
    <!-- central releases url -->
356
    <central.release.home.url>http://maven.nuiton.org/central-releases</central.release.home.url>
357
    <!-- other releases url -->
358
    <other.release.home.url>http://maven.nuiton.org/other-releases</other.release.home.url>
359

    
360
    <!-- release repository url (to be used in site.xml, by default use other-release repository) -->
361
    <repository.home.url>${other.release.home.url}</repository.home.url>
362

    
363
    <!-- release configuration -->
364

    
365
    <!-- all modules shares the same version in our projects -->
366
    <autoVersionSubmodules>true</autoVersionSubmodules>
367

    
368
    <!-- activate this profile while doing release:prepare to make sur everything is ok (license, third-party...) -->
369
    <arguments>-DperformRelease</arguments>
370
    
371
    <!-- release tag configuration --> 
372
    <tagNameFormat>${projectId}-@{project.version}</tagNameFormat>
373

    
374
  </properties>
375

    
376
  <packaging>pom</packaging>
377

    
378
  <dependencyManagement>
379
    <dependencies>
380

    
381
      <dependency>
382
        <groupId>commons-logging</groupId>
383
        <artifactId>commons-logging</artifactId>
384
        <version>${commonsLoggingVersion}</version>
385
      </dependency>
386

    
387
      <dependency>
388
        <groupId>commons-primitives</groupId>
389
        <artifactId>commons-primitives</artifactId>
390
        <version>${commonsPrimitivesVersion}</version>
391
      </dependency>
392

    
393
      <dependency>
394
        <groupId>commons-collections</groupId>
395
        <artifactId>commons-collections</artifactId>
396
        <version>${commonsCollectionsVersion}</version>
397
      </dependency>
398

    
399
      <dependency>
400
        <groupId>commons-beanutils</groupId>
401
        <artifactId>commons-beanutils</artifactId>
402
        <version>${commonsBeanutilsVersion}</version>
403
      </dependency>
404

    
405
      <dependency>
406
        <groupId>org.apache.commons</groupId>
407
        <artifactId>commons-email</artifactId>
408
        <version>${commonsEmailVersion}</version>
409
      </dependency>
410

    
411
      <dependency>
412
        <groupId>commons-lang</groupId>
413
        <artifactId>commons-lang</artifactId>
414
        <version>${commonsLangVersion}</version>
415
      </dependency>
416

    
417
      <dependency>
418
        <groupId>org.apache.commons</groupId>
419
        <artifactId>commons-lang3</artifactId>
420
        <version>${commonsLang3Version}</version>
421
      </dependency>
422

    
423
      <dependency>
424
        <groupId>commons-httpclient</groupId>
425
        <artifactId>commons-httpclient</artifactId>
426
        <version>${commonsHttpclientVersion}</version>
427
      </dependency>
428

    
429
      <dependency>
430
        <groupId>commons-io</groupId>
431
        <artifactId>commons-io</artifactId>
432
        <version>${commonsIoVersion}</version>
433
      </dependency>
434

    
435
      <dependency>
436
        <groupId>commons-jxpath</groupId>
437
        <artifactId>commons-jxpath</artifactId>
438
        <version>${commonsJxpathVersion}</version>
439
      </dependency>
440

    
441
      <dependency>
442
        <groupId>org.apache.commons</groupId>
443
        <artifactId>commons-math</artifactId>
444
        <version>${commonsMathVersion}</version>
445
      </dependency>
446

    
447
      <dependency>
448
        <groupId>com.google.guava</groupId>
449
        <artifactId>guava</artifactId>
450
        <version>${guavaVersion}</version>
451
      </dependency>
452

    
453
      <dependency>
454
        <groupId>log4j</groupId>
455
        <artifactId>log4j</artifactId>
456
        <version>${log4jVersion}</version>
457
      </dependency>
458
      
459
      <dependency>
460
        <groupId>junit</groupId>
461
        <artifactId>junit</artifactId>
462
        <version>${junitVersion}</version>
463
        <scope>test</scope>
464
      </dependency>
465
      
466
    </dependencies>
467
  </dependencyManagement>
468

    
469
  <build>
470

    
471
    <!--Ressources-->
472
    <resources>
473
      <resource>
474
        <directory>${maven.src.dir}/main/resources</directory>
475
        <includes>
476
          <include>**/*</include>
477
        </includes>
478
        <excludes>
479
          <exclude>**/*~</exclude>
480
        </excludes>
481
      </resource>
482
    </resources>
483

    
484
    <!-- Enabling the use of scpexe with maven 3.0 -->
485
    <extensions>
486
      <extension>
487
        <groupId>org.apache.maven.wagon</groupId>
488
         <artifactId>wagon-ssh-external</artifactId>
489
         <version>${wagonSshExternalVersion}</version>
490
      </extension>
491
    </extensions>
492
    
493
    <plugins>
494

    
495
      <!-- http://nuiton.org/issues/1683 : creates the surefire-workdir -->
496
      <plugin>
497
        <artifactId>maven-antrun-plugin</artifactId>
498
        <executions>
499
          <execution>
500
            <id>generate-surefire-workdir</id>
501
            <phase>generate-test-sources</phase>
502
            <configuration>
503
              <target>
504
                <mkdir dir="${basedir}/target/surefire-workdir" />
505
              </target>
506
            </configuration>
507
            <goals>
508
              <goal>run</goal>
509
            </goals>
510
          </execution>
511
        </executions>
512
      </plugin>
513

    
514
      <plugin>
515

    
516
        <artifactId>maven-enforcer-plugin</artifactId>
517
        <executions>
518
          <execution>
519
            <id>check-project-files</id>
520
            <goals>
521
              <goal>enforce</goal>
522
            </goals>
523
            <phase>initialize</phase>
524
            <configuration>
525
              <rules>
526
                <requireFilesExist>
527
                  <files>
528
                    <file>LICENSE.txt</file>
529
                    <file>README.txt</file>
530
                    <file>changelog.txt</file>
531
                  </files>
532
                </requireFilesExist>
533
              </rules>
534
              <ignoreCache>true</ignoreCache>
535
              <failFast>true</failFast>
536
              <fail>true</fail>
537

    
538
            </configuration>
539
          </execution>
540
        </executions>
541
      </plugin>
542

    
543
    </plugins>
544

    
545
    <pluginManagement>
546

    
547
      <plugins>
548

    
549
        <!-- Plugins version from apache -->
550

    
551
        <plugin>
552
          <artifactId>maven-antrun-plugin</artifactId>
553
          <version>${antRunPluginVersion}</version>
554
        </plugin>
555

    
556
        <plugin>
557
          <artifactId>maven-assembly-plugin</artifactId>
558
          <version>${assemblyPluginVersion}</version>
559
          <dependencies>
560
            <dependency>
561
              <groupId>org.nuiton</groupId>
562
              <artifactId>helper-maven-plugin</artifactId>
563
              <version>${helperPluginVersion}</version>
564
            </dependency>
565
          </dependencies>
566
        </plugin>
567

    
568
        <plugin>
569
          <artifactId>maven-clean-plugin</artifactId>
570
          <version>${cleanPluginVersion}</version>
571
        </plugin>
572

    
573
        <plugin>
574
          <artifactId>maven-compiler-plugin</artifactId>
575
          <version>${compilerPluginVersion}</version>
576
        </plugin>
577

    
578

    
579
        <plugin>
580
          <artifactId>maven-dependency-plugin</artifactId>
581
          <version>${dependencyPluginVersion}</version>
582
        </plugin>
583

    
584
        <plugin>
585
          <artifactId>maven-deploy-plugin</artifactId>
586
          <version>${deployPluginVersion}</version>
587
        </plugin>
588

    
589
        <plugin>
590
          <artifactId>maven-ear-plugin</artifactId>
591
          <version>${earPluginVersion}</version>
592
        </plugin>
593

    
594
        <plugin>
595
          <artifactId>maven-ejb-plugin</artifactId>
596
          <version>${ejbPluginVersion}</version>
597
        </plugin>
598
        
599
        <plugin>
600
          <artifactId>maven-enforcer-plugin</artifactId>
601
          <version>${enforcerPluginVersion}</version>
602
        </plugin>
603

    
604
        <plugin>
605
          <artifactId>maven-gpg-plugin</artifactId>
606
          <version>${gpgPluginVersion}</version>
607
        </plugin>
608

    
609
        <plugin>
610
          <artifactId>maven-install-plugin</artifactId>
611
          <version>${installPluginVersion}</version>
612
        </plugin>
613

    
614
        <plugin>
615
          <artifactId>maven-invoker-plugin</artifactId>
616
          <version>${invokerPluginVersion}</version>
617
        </plugin>
618

    
619
          <plugin>
620
          <artifactId>maven-jar-plugin</artifactId>
621
          <version>${jarPluginVersion}</version>
622
          <inherited>true</inherited>
623

    
624
          <configuration>
625
            <archive>
626
              <!-- cela fait bugger le chargement des service via
627
          ServiceLoader donc on desactive -->
628
              <!--index>true</index-->
629
              <manifest>
630
                <mainClass>${maven.jar.main.class}</mainClass>
631
              </manifest>
632
              <manifestEntries>
633
                <url>${project.url}</url>
634
              </manifestEntries>
635
            </archive>
636
          </configuration>
637
        </plugin>
638

    
639
        <plugin>
640
          <artifactId>maven-javadoc-plugin</artifactId>
641
          <version>${javadocPluginVersion}</version>
642
          <configuration>
643
            <skip>${maven.javadoc.skip}</skip>
644
            <quiet>${maven.javadoc.quiet}</quiet>
645
            <charset>${project.reporting.outputEncoding}</charset>
646
            <links>
647
              <link>http://download.oracle.com/javase/6/docs/api</link>
648
            </links>
649
            <tagletArtifacts>
650
              <tagletArtifact>
651
                <groupId>org.apache.maven.plugin-tools</groupId>
652
                <artifactId>maven-plugin-tools-javadoc</artifactId>
653
                <version>${mavenPluginToolsJavadocVersion}</version>
654
              </tagletArtifact>
655
              <tagletArtifact>
656
                <groupId>org.codehaus.plexus</groupId>
657
                <artifactId>plexus-component-javadoc</artifactId>
658
                <version>${plexusComponentJavadocVersion}</version>
659
              </tagletArtifact>
660
            </tagletArtifacts>
661
          </configuration>
662
        </plugin>
663

    
664
        <plugin>
665
          <artifactId>maven-plugin-plugin</artifactId>
666
          <version>${pluginPluginVersion}</version>
667
        </plugin>
668

    
669
        <plugin>
670
          <artifactId>maven-pmd-plugin</artifactId>
671
          <version>${pmdPluginVersion}</version>
672
        </plugin>
673

    
674
        <plugin>
675
          <artifactId>maven-release-plugin</artifactId>
676
          <version>${releasePluginVersion}</version>
677
        </plugin>
678

    
679
        <plugin>
680
          <artifactId>maven-remote-resources-plugin</artifactId>
681
          <version>${remoteResourcesPluginVersion}</version>
682
        </plugin>
683

    
684
        <plugin>
685
          <artifactId>maven-resources-plugin</artifactId>
686
          <version>${resourcesPluginVersion}</version>
687
        </plugin>
688

    
689
        <plugin>
690
          <artifactId>maven-site-plugin</artifactId>
691
          <version>${sitePluginVersion}</version>
692
          <dependencies>
693
            <dependency>
694
              <groupId>org.nuiton</groupId>
695
              <artifactId>maven-nuiton-skin</artifactId>
696
              <version>${nuitonSkinVersion}</version>
697
            </dependency>
698
          </dependencies>
699
        </plugin>
700
        
701
        <plugin>
702
          <artifactId>maven-source-plugin</artifactId>
703
          <version>${sourcePluginVersion}</version>
704
        </plugin>
705

    
706
        <plugin>
707
          <artifactId>maven-surefire-plugin</artifactId>
708
          <version>${surefirePluginVersion}</version>
709
          <configuration>
710
            <systemPropertyVariables>
711
              <java.io.tmpdir>${project.build.directory}/surefire-workdir</java.io.tmpdir>
712
            </systemPropertyVariables>
713
          </configuration>
714
        </plugin>
715

    
716
        <plugin>
717
          <artifactId>maven-war-plugin</artifactId>
718
          <version>${warPluginVersion}</version>
719
          <configuration>
720
            <warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>
721
            <webResources>
722
              <resource>
723
                <directory>src/main/webapp/WEB-INF</directory>
724
                <targetPath>WEB-INF</targetPath>
725
                <includes>
726
                  <include>web.xml</include>
727
                </includes>
728
                <filtering>true</filtering>
729
              </resource>
730
            </webResources>
731
          </configuration>
732
        </plugin>
733

    
734
        <!-- Plugins version from codehaus mojo -->
735

    
736
        <plugin>
737
          <groupId>org.codehaus.mojo</groupId>
738
          <artifactId>cobertura-maven-plugin</artifactId>
739
          <version>${coberturaPluginVersion}</version>
740
        </plugin>
741

    
742
        <plugin>
743
          <groupId>org.codehaus.mojo</groupId>
744
          <artifactId>exec-maven-plugin</artifactId>
745
          <version>${execPluginVersion}</version>
746
        </plugin>
747

    
748
        <plugin>
749
          <groupId>org.codehaus.mojo</groupId>
750
          <artifactId>findbugs-maven-plugin</artifactId>
751
          <version>${findbugsPluginVersion}</version>
752
        </plugin>
753
        
754
        <plugin>
755
          <groupId>org.codehaus.mojo</groupId>
756
          <artifactId>gwt-maven-plugin</artifactId>
757
          <version>${gwtPluginVersion}</version>
758
        </plugin>
759

    
760
        <plugin>
761
          <groupId>org.codehaus.mojo</groupId>
762
          <artifactId>license-maven-plugin</artifactId>
763
          <version>${licensePluginVersion}</version>
764
        </plugin>
765

    
766
        <plugin>
767
          <groupId>org.codehaus.mojo</groupId>
768
          <artifactId>tomcat-maven-plugin</artifactId>
769
          <version>${tomcatPluginVersion}</version>
770
        </plugin>
771

    
772
        <plugin>
773
          <groupId>org.codehaus.mojo</groupId>
774
          <artifactId>versions-maven-plugin</artifactId>
775
          <version>${versionsPluginVersion}</version>
776
          <configuration>
777
            <generateBackupPoms>false</generateBackupPoms>
778
          </configuration>
779
        </plugin>
780

    
781
        <plugin>
782
          <groupId>org.codehaus.mojo</groupId>
783
          <artifactId>wagon-maven-plugin</artifactId>
784
          <version>${wagonPluginVersion}</version>
785
        </plugin>
786

    
787
        <plugin>
788
          <groupId>org.codehaus.mojo</groupId>
789
          <artifactId>webstart-maven-plugin</artifactId>
790
          <version>${webstartPluginVersion}</version>
791
          <configuration>
792

    
793
            <libPath>lib</libPath>
794
            <makeArchive>false</makeArchive>
795
            <verbose>false</verbose>
796
            <canUnsign>false</canUnsign>
797
            <jnlp>
798
              <mainClass>${maven.jar.main.class}</mainClass>
799
              <allPermissions>true</allPermissions>
800
              <offlineAllowed>true</offlineAllowed>
801
            </jnlp>
802
            <sign>
803
              <keystore>${keystorepath}</keystore>
804
              <storepass>${keystorepass}</storepass>
805
              <alias>${keyalias}</alias>
806
              <keypass>${keypass}</keypass>
807
              <verify>true</verify>
808
              <keystoreConfig>
809
                <delete>false</delete>
810
                <gen>false</gen>
811
              </keystoreConfig>
812
            </sign>
813

    
814
          </configuration>
815
        </plugin>
816

    
817
        <!-- Plugins version from codehaus plexus -->
818

    
819
        <plugin>
820
          <groupId>org.codehaus.plexus</groupId>
821
          <artifactId>plexus-component-metadata</artifactId>
822
          <version>${plexusComponentMetadataPluginVersion}</version>
823
        </plugin>
824

    
825
        <plugin>
826
          <groupId>org.codehaus.plexus</groupId>
827
          <artifactId>plexus-maven-plugin</artifactId>
828
          <version>${plexusPluginVersion}</version>
829
        </plugin>
830

    
831
        <!-- Plugins version from nuiton -->
832

    
833
         <plugin>
834
          <groupId>org.nuiton</groupId>
835
          <artifactId>helper-maven-plugin</artifactId>
836
          <version>${helperPluginVersion}</version>
837
        </plugin>
838

    
839
        <plugin>
840
          <groupId>org.nuiton.jredmine</groupId>
841
          <artifactId>jredmine-maven-plugin</artifactId>
842
          <version>${jredminePluginVersion}</version>
843
        </plugin>
844

    
845
        <!-- Plugins version from others -->
846

    
847
        <plugin>
848
          <groupId>com.jayway.maven.plugins.android.generation2</groupId>
849
          <artifactId>maven-android-plugin</artifactId>
850
          <version>${androidPluginVersion}</version>
851
        </plugin>
852

    
853
        <plugin>
854
          <groupId>org.mortbay.jetty</groupId>
855
          <artifactId>jetty-maven-plugin</artifactId>
856
          <version>${jettyPluginVersion}</version>
857
        </plugin>
858
        
859
        <plugin>
860
          <groupId>net.sf</groupId>
861
          <artifactId>stat-scm</artifactId>
862
          <version>${statScmPluginVersion}</version>
863
        </plugin>
864

    
865
      </plugins>
866
    </pluginManagement>
867

    
868
  </build>
869

    
870
  <reporting>
871
    <excludeDefaults>true</excludeDefaults>
872
  </reporting>
873
  
874
  <!-- ************************************************************* -->
875
  <!-- *** Maven Environment *************************************** -->
876
  <!-- ************************************************************* -->
877

    
878
  <!-- prerequisites -->
879
  <prerequisites>
880
    <maven>2.2.1</maven>
881
  </prerequisites>
882

    
883
  <!--Distribution-->
884
  <distributionManagement>
885
    <repository>
886
      <id>${release.server}</id>
887
      <url>${release.repository}</url>
888
    </repository>
889
    <snapshotRepository>
890
      <id>${snapshot.server}</id>
891
      <url>${snapshot.repository}</url>
892
    </snapshotRepository>
893
  </distributionManagement>
894

    
895
  <!-- Maven Environment : profiles -->
896
  <profiles>
897

    
898
    <!-- do not execute tests (generaly a bad idea...) -->
899
    <profile>
900
      <id>no-tests</id>
901
      <activation>
902
        <activeByDefault>false</activeByDefault>
903
      </activation>
904
      <properties>
905
        <maven.test.skip>true</maven.test.skip>
906
      </properties>
907
    </profile>
908
    <!-- do not build reports (speedup site generation in dev) -->
909
    <profile>
910
      <id>no-reports</id>
911
      <activation>
912
        <activeByDefault>false</activeByDefault>
913
      </activation>
914
      <properties>
915
        <generateReports>false</generateReports>
916
      </properties>
917
    </profile>
918

    
919
    <!-- do not build dependencies detail in maven-project-info-report (speedup site generation in dev) -->
920
    <profile>
921
      <id>no-dep-details</id>
922
      <activation>
923
        <activeByDefault>false</activeByDefault>
924
      </activation>
925
      <properties>
926
        <dependency.details.enabled>true</dependency.details.enabled>
927
      </properties>
928
    </profile>
929
    <!-- do not build locations of dependencies in maven-project-info-report (speedup site generation in dev) -->
930
    <profile>
931
      <id>no-dep-locations</id>
932
      <activation>
933
        <activeByDefault>false</activeByDefault>
934
      </activation>
935
      <properties>
936
        <dependency.locations.enabled>false</dependency.locations.enabled>
937
      </properties>
938
    </profile>
939

    
940
    <!-- perform only on a release stage when using the maven-release-plugin -->
941
    <profile>
942
      <id>release-profile</id>
943
      <activation>
944
        <property>
945
          <name>performRelease</name>
946
          <value>true</value>
947
        </property>
948
      </activation>
949
      
950
      <build>
951

    
952
        <plugins>
953

    
954
          <!-- always compute source jar -->
955
          <plugin>
956
            <artifactId>maven-source-plugin</artifactId>
957
            <executions>
958
              <execution>
959
                <id>attach-sources</id>
960
                <goals>
961
                  <goal>jar</goal>
962
                </goals>
963
              </execution>
964
            </executions>
965
          </plugin>
966

    
967
          <!-- always compute javadoc jar -->
968
          <plugin>
969
            <artifactId>maven-javadoc-plugin</artifactId>
970
            <executions>
971
              <execution>
972
                <id>attach-javadocs</id>
973
                <goals>
974
                  <goal>jar</goal>
975
                </goals>
976
              </execution>
977
            </executions>
978
          </plugin>
979

    
980
          <plugin>
981
            <artifactId>maven-enforcer-plugin</artifactId>
982
            <executions>
983
              <execution>
984
                <goals>
985
                  <goal>enforce</goal>
986
                </goals>
987
                <id>ensure-no-container-api</id>
988
                <configuration>
989
                  <rules>
990
                    <bannedDependencies>
991
                      <excludes>
992
                        <exclude>org.codehaus.plexus:plexus-component-api</exclude>
993
                      </excludes>
994
                      <message>
995
                        The new containers are not supported. You
996
                        probably added a dependency that is missing the
997
                        exclusions.
998
                      </message>
999
                    </bannedDependencies>
1000
                  </rules>
1001
                  <fail>true</fail>
1002
                </configuration>
1003
              </execution>
1004
            </executions>
1005
          </plugin>
1006
          
1007
        </plugins>
1008

    
1009
      </build>
1010
    </profile>
1011

    
1012
    <!-- perform only on a release stage when using the maven-release-plugin -->
1013
    <profile>
1014
      <id>license-profile</id>
1015
      <activation>
1016
        <property>
1017
          <name>performRelease</name>
1018
          <value>true</value>
1019
        </property>
1020
      </activation>
1021

    
1022
      <build>
1023

    
1024
        <defaultGoal>generate-resources</defaultGoal>
1025
        
1026
        <plugins>
1027

    
1028
          <!-- add license and third-party files to build -->
1029
          <plugin>
1030
            <groupId>org.codehaus.mojo</groupId>
1031
            <artifactId>license-maven-plugin</artifactId>
1032
            <executions>
1033
              <execution>
1034
                <id>attach-licenses</id>
1035
                <goals>
1036
                  <goal>update-project-license</goal>
1037
                  <goal>add-third-party</goal>
1038
                </goals>
1039
                <configuration>
1040
                  <licenseMerges>
1041
                    <licenseMerge>
1042
                      The Apache Software License, Version 2.0|Apache License, Version 2.0|Apache License V2.0|Apache 2|ASF 2.0|apache-2.0
1043
                    </licenseMerge>
1044
                    <licenseMerge>BSD License|BSD license|BSD</licenseMerge>
1045
                    <licenseMerge>MIT License|MIT license|MIT</licenseMerge>
1046
                    <licenseMerge>
1047
                      Lesser General Public License (LPGL) v 2.1|GNU Lesser General Public License, 2.1|LGPL 2.1
1048
                    </licenseMerge>
1049
                    <licenseMerge>
1050
                      Lesser General Public License (LPGL)|GNU Lesser General Public License|GNU LESSER GENERAL PUBLIC LICENSE|LGPL|lgpl
1051
                    </licenseMerge>
1052
                    <licenseMerge>
1053
                      COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0|Common Development and Distribution License (CDDL) v1.0
1054
                    </licenseMerge>
1055
                    <licenseMerge>Indiana University Extreme! Lab Software License, vesion 1.1.1|Indiana University Extreme! Lab Software License</licenseMerge>
1056
                  </licenseMerges>
1057
                </configuration>
1058
              </execution>
1059
            </executions>
1060
          </plugin>
1061

    
1062
        </plugins>
1063

    
1064
      </build>
1065
    </profile>
1066

    
1067
    <profile>
1068
      <id>central-safe</id>      
1069
      <build>
1070
        <defaultGoal>validate</defaultGoal>
1071
        <plugins>
1072
          <plugin>
1073
            <groupId>org.nuiton</groupId>
1074
            <artifactId>helper-maven-plugin</artifactId>
1075
            <executions>
1076
              <execution>
1077
                <id>check-central-safe</id>
1078
                <inherited>true</inherited>
1079
                <goals>
1080
                  <goal>check-auto-container</goal>
1081
                </goals>
1082
                <configuration>
1083
                  <addMavenCentral>true</addMavenCentral>
1084
                  <failIfNotSafe>true</failIfNotSafe>
1085
                  <repositories>
1086
                    <central-releases>${central.release.home.url}</central-releases>
1087
                  </repositories>
1088
                </configuration>
1089
              </execution>
1090
            </executions>
1091
          </plugin>
1092
        </plugins>
1093
      </build>
1094
    </profile>
1095
    
1096
    <!-- profile with all reports (include in release process) -->
1097
    <profile>
1098
      <id>reporting</id>
1099
      <activation>
1100
        <property>
1101
          <name>performRelease</name>
1102
          <value>true</value>
1103
        </property>
1104
      </activation>
1105

    
1106
      <reporting>
1107
        <plugins>
1108

    
1109
          <!--
1110
           The Project Info Reports Plugin has twelve goals:
1111
           see http://maven.apache.org/plugins/maven-project-info-reports-plugin
1112
          -->
1113
          <plugin>
1114
            <artifactId>maven-project-info-reports-plugin</artifactId>
1115
            <version>${projectInfoReportsPluginVersion}</version>
1116
            <reportSets>
1117
              <reportSet>
1118
                <reports>
1119
                  <report>project-team</report>
1120
                  <report>mailing-list</report>
1121
                  <report>cim</report>
1122
                  <report>issue-tracking</report>
1123
                  <report>license</report>
1124
                  <report>scm</report>
1125
                  <report>dependencies</report>
1126
                  <report>dependency-convergence</report>
1127
                  <report>plugin-management</report>
1128
                  <report>plugins</report>
1129
                  <report>dependency-management</report>
1130
                  <report>summary</report>
1131
                </reports>
1132
              </reportSet>
1133
            </reportSets>
1134
          </plugin>
1135

    
1136
          <plugin>
1137
            <artifactId>maven-javadoc-plugin</artifactId>
1138
            <version>${javadocPluginVersion}</version>
1139
            <configuration>
1140
              <skip>${maven.javadoc.skip}</skip>
1141
              <quiet>${maven.javadoc.quiet}</quiet>
1142
              <charset>${project.reporting.outputEncoding}</charset>
1143
              <links>
1144
                <link>http://download.oracle.com/javase/6/docs/api</link>
1145
              </links>
1146
              <!--<excludePackageNames>${maven.javadoc.excludePackageNames}</excludePackageNames>-->
1147
              <tagletArtifacts>
1148
                <tagletArtifact>
1149
                  <groupId>org.apache.maven.plugin-tools</groupId>
1150
                  <artifactId>maven-plugin-tools-javadoc</artifactId>
1151
                  <version>${mavenPluginToolsJavadocVersion}</version>
1152
                </tagletArtifact>
1153
                <tagletArtifact>
1154
                  <groupId>org.codehaus.plexus</groupId>
1155
                  <artifactId>plexus-component-javadoc</artifactId>
1156
                  <version>${plexusComponentJavadocVersion}</version>
1157
                </tagletArtifact>
1158
              </tagletArtifacts>
1159
            </configuration>
1160
            <reportSets>
1161
              <reportSet>
1162
                <reports>
1163
                  <report>javadoc</report>
1164
                  <report>test-javadoc</report>
1165
                </reports>
1166
              </reportSet>
1167
            </reportSets>
1168
          </plugin>
1169

    
1170
          <!-- changelog:changelog
1171
         changelog:dev-activity
1172
         changelog:file-activity -->
1173
          <!--FIXME : TC-20090816 : there is a bug with fileactivity
1174
          in report, trunk url are prefix with tag/xxx-releaseNumber !-->
1175
          <plugin>
1176
            <artifactId>maven-changelog-plugin</artifactId>
1177
            <version>${changelogPluginVersion}</version>
1178
            <!--configuration>
1179
                <displayFileDetailUrl>http://svn.${platform}/svn/${projectId}%FILE%</displayFileDetailUrl>
1180
            </configuration-->
1181
          </plugin>
1182

    
1183
          <plugin>
1184
            <artifactId>maven-jxr-plugin</artifactId>
1185
            <version>${jrxPluginVersion}</version>
1186
          </plugin>
1187

    
1188
          <plugin>
1189
            <artifactId>maven-surefire-report-plugin</artifactId>
1190
            <version>${surefirePluginVersion}</version>
1191
          </plugin>
1192

    
1193
          <plugin>
1194
            <groupId>org.codehaus.sonar-plugins</groupId>
1195
            <artifactId>maven-report</artifactId>
1196
            <version>${sonarReportPluginVersion}</version>
1197
          </plugin>
1198
          
1199
          <!--plugin>
1200
            <groupId>net.sf</groupId>
1201
            <artifactId>stat-scm</artifactId>
1202
            <version>${statScmPluginVersion}</version>
1203
          </plugin-->
1204

    
1205
        </plugins>
1206
      </reporting>
1207

    
1208
    </profile>
1209

    
1210
    <profile>
1211
      <id>release-sign-artifacts</id>
1212
      <activation>
1213
        <property>
1214
          <name>performRelease</name>
1215
          <value>true</value>
1216
        </property>
1217
      </activation>
1218
      <build>
1219
        <plugins>
1220
          <plugin>
1221
            <groupId>org.nuiton</groupId>
1222
            <artifactId>helper-maven-plugin</artifactId>
1223
            <executions>
1224
              <execution>
1225
                <id>get-pgp-passphrase</id>
1226
                <goals>
1227
                  <goal>share-server-secret</goal>
1228
                </goals>
1229
                <phase>verify</phase>
1230
                <configuration>
1231
                  <serverId>gpg-signer</serverId>
1232
                  <usernameOut>gpg.keyname</usernameOut>
1233
                  <passwordOut>gpg.passphrase</passwordOut>
1234
                </configuration>
1235
              </execution>
1236
            </executions>
1237
          </plugin>
1238
          <plugin>
1239
            <artifactId>maven-gpg-plugin</artifactId>
1240
            <executions>
1241
              <execution>
1242
                <id>sign-artifacts</id>
1243
                <phase>verify</phase>
1244
                <goals>
1245
                  <goal>sign</goal>
1246
                </goals>
1247
              </execution>
1248
            </executions>
1249
          </plugin>
1250
        </plugins>
1251
      </build>
1252
    </profile>
1253

    
1254
    <!-- use this plugin to run the main class -->
1255
    <profile>
1256
      <id>run</id>
1257
      <activation>
1258
        <activeByDefault>false</activeByDefault>
1259
      </activation>
1260
      <build>
1261
        <defaultGoal>package</defaultGoal>
1262
        <plugins>
1263
          <plugin>
1264
            <artifactId>maven-enforcer-plugin</artifactId>
1265
            <executions>
1266
              <execution>
1267
                <id>check-run</id>
1268
                <goals>
1269
                  <goal>enforce</goal>
1270
                </goals>
1271
                <phase>initialize</phase>
1272
                <configuration>
1273
                  <rules>
1274
                    <requireProperty>
1275
                      <property>maven.jar.main.class</property>
1276
                      <message>Could not find the "maven.jar.main.class"
1277
                        required property, use
1278
                        -Dmaven.jar.main.class=your.main.class.fqn
1279
                      </message>
1280
                    </requireProperty>
1281
                  </rules>
1282
                  <ignoreCache>true</ignoreCache>
1283
                  <failFast>true</failFast>
1284
                  <fail>true</fail>
1285

    
1286
                </configuration>
1287
              </execution>
1288
            </executions>
1289
          </plugin>
1290

    
1291
          <plugin>
1292
            <groupId>org.codehaus.mojo</groupId>
1293
            <artifactId>exec-maven-plugin</artifactId>
1294
            <executions>
1295
              <execution>
1296
                <id>run</id>
1297
                <goals>
1298
                  <goal>java</goal>
1299
                </goals>
1300
                <phase>compile</phase>
1301
                <configuration>
1302
                  <mainClass>${maven.jar.main.class}</mainClass>
1303
                  <classpathScope>runtime</classpathScope>
1304
                </configuration>
1305
              </execution>
1306
            </executions>
1307
          </plugin>
1308

    
1309
        </plugins>
1310
      </build>
1311
      <properties>
1312
        <exec.mainClass>${maven.jar.main.class}</exec.mainClass>
1313
        <exec.classpathScope>runtime</exec.classpathScope>
1314
      </properties>
1315
    </profile>
1316

    
1317
    <!-- ce plugin permet de deployer un site en local -->
1318
    <profile>
1319
      <id>staging-site-profile</id>
1320
      <activation>
1321
        <property>
1322
          <name>stagingSite</name>
1323
          <value>true</value>
1324
        </property>
1325
      </activation>
1326
      <properties>
1327
        <stagingUrl>scpexe://localhost/var/www/maven-staging-site</stagingUrl>
1328
      </properties>
1329
      <distributionManagement>
1330
        <site>
1331
          <id>staging-site</id>
1332
          <url>${stagingUrl}</url>
1333
        </site>
1334
      </distributionManagement>
1335
    </profile>
1336

    
1337
    <!-- This profile update license stuff with new goal update-file-header -->
1338
    <profile>
1339
      <id>update-file-header</id>
1340
      <activation>
1341
        <property>
1342
          <name>performRelease</name>
1343
          <value>true</value>
1344
        </property>
1345
      </activation>
1346

    
1347
      <properties>
1348
        <license.descriptor>src/license/project.xml</license.descriptor>
1349
      </properties>
1350
      <build>
1351
        <defaultGoal>process-resources</defaultGoal>
1352
        <plugins>
1353
          <plugin>
1354
            <groupId>org.codehaus.mojo</groupId>
1355
            <artifactId>license-maven-plugin</artifactId>
1356
            <executions>
1357
              <execution>
1358
                <id>update-file-header</id>
1359
                <goals>
1360
                  <goal>update-file-header</goal>
1361
                </goals>
1362
                <configuration>
1363
                  <addSvnKeyWords>true</addSvnKeyWords>
1364
                  <excludes>
1365
                    <exclude>**/i18n/*.properties</exclude>
1366
                    <exclude>**/THIRD-PARTY.properties</exclude>
1367
                    <!-- since sh scripts must begins by the line #!/bin/sh,
1368
                         can not use the mojo for the mojo -->
1369
                    <exclude>**/*.sh</exclude>
1370
                  </excludes>
1371
                </configuration>
1372
                <phase>process-resources</phase>
1373
              </execution>
1374
            </executions>
1375
          </plugin>
1376
        </plugins>
1377
      </build>
1378
    </profile>
1379
    
1380
    <!-- just add to build the webstart -->
1381
    <profile>
1382
      <id>webstart-profile</id>
1383
      <activation>
1384
        <property>
1385
          <name>doWebstart</name>
1386
          <value>true</value>
1387
        </property>
1388
      </activation>
1389
      <build>
1390
        <plugins>
1391

    
1392
          <plugin>
1393
            <groupId>org.nuiton</groupId>
1394
            <artifactId>helper-maven-plugin</artifactId>
1395
            <executions>
1396
              <execution>
1397
                <id>get-keystore</id>
1398
                <goals>
1399
                  <goal>share-server-secret</goal>
1400
                </goals>
1401
                <phase>package</phase>
1402
                <configuration>
1403
                  <serverId>codelutin-keystore</serverId>
1404
                  <privateKeyOut>keystorepath</privateKeyOut>
1405
                  <passwordOut>keystorepass</passwordOut>
1406
                  <usernameOut>keyalias</usernameOut>
1407
                  <passphraseOut>keypass</passphraseOut>
1408
                </configuration>
1409
              </execution>
1410
            </executions>
1411
          </plugin>
1412

    
1413
          <plugin>
1414
            <groupId>org.codehaus.mojo</groupId>
1415
            <artifactId>webstart-maven-plugin</artifactId>
1416
            <executions>
1417
              <execution>
1418
                <id>generate-jnlp</id>
1419
                <phase>package</phase>
1420
                <goals>
1421
                  <goal>jnlp-inline</goal>
1422
                </goals>
1423
              </execution>
1424
            </executions>
1425
          </plugin>
1426

    
1427
        </plugins>
1428
      </build>
1429
    </profile>
1430

    
1431
    <!-- just add to buil the local webstart (codebase will be in target/jnlp) -->
1432
    <profile>
1433
      <id>local-webstart-profile</id>
1434
      <activation>
1435
        <property>
1436
          <name>doLocalWebstart</name>
1437
          <value>true</value>
1438
        </property>
1439
      </activation>
1440
      <properties>
1441
        <jnlp.codebase>file://${project.build.directory}/jnlp</jnlp.codebase>
1442
      </properties>
1443
      <build>
1444
        <plugins>
1445

    
1446
          <plugin>
1447
            <groupId>org.nuiton</groupId>
1448
            <artifactId>helper-maven-plugin</artifactId>
1449
            <executions>
1450
              <execution>
1451
                <id>get-keystore</id>
1452
                <goals>
1453
                  <goal>share-server-secret</goal>
1454
                </goals>
1455
                <phase>package</phase>
1456
                <configuration>
1457
                  <serverId>codelutin-keystore</serverId>
1458
                  <privateKeyOut>keystorepath</privateKeyOut>
1459
                  <passwordOut>keystorepass</passwordOut>
1460
                  <usernameOut>keyalias</usernameOut>
1461
                  <passphraseOut>keypass</passphraseOut>
1462
                </configuration>
1463
              </execution>
1464
            </executions>
1465
          </plugin>
1466

    
1467
          <plugin>
1468
            <groupId>org.codehaus.mojo</groupId>
1469
            <artifactId>webstart-maven-plugin</artifactId>
1470
            <executions>
1471
              <execution>
1472
                <id>generate-jnlp-local</id>
1473
                <phase>package</phase>
1474
                <goals>
1475
                  <goal>jnlp-inline</goal>
1476
                </goals>
1477
              </execution>
1478
            </executions>
1479
          </plugin>
1480

    
1481
        </plugins>
1482
      </build>
1483
    </profile>
1484

    
1485
    <!-- ce profile est dedie uniquement a mavenpom pour faire des releases
1486
         pour corriger les url de deployements qui marcheront pour tous les
1487
         poms héritant de mavenpom, mais pas pour mavenpom lui-même...
1488

1489
         Lors d'une release, il faut donc faire :
1490

1491
         mvn release:perform -Dinternal
1492

1493
         ou
1494

1495
         mvn release:perform -Pinternal
1496
    -->
1497
    <profile>
1498
      <id>internal</id>
1499
      <activation>
1500
        <property>
1501
          <name>internal</name>
1502
          <value>true</value>
1503
        </property>
1504
      </activation>
1505
      <properties>
1506

    
1507
        <projectId>mavenpom</projectId>
1508
        <locales>fr,en</locales>
1509
        <siteSourcesType>apt</siteSourcesType>
1510

    
1511
        <license.licenseName>lgpl_v3</license.licenseName>
1512

    
1513
        <!-- release config -->
1514

    
1515
        <!-- activate this profile while doing release:prepare -->
1516
        <arguments>-Dinternal -DperformRelease -Pcentral-safe</arguments>
1517
        <!-- activate this profile while doing release:perform -->
1518
        <releaseProfiles>internal,central-safe</releaseProfiles>
1519

    
1520
        <!-- deploy releases on central-releases repository -->
1521
        <release.repository>${central.release.repository}</release.repository>
1522
        <!-- release repository url (to be used in site.xml, by default use other-release repository) -->
1523
        <repository.home.url>${central.release.home.url}</repository.home.url>
1524
        
1525
        <!-- must fail if redmine actions failed -->
1526
        <redmine.safe>true</redmine.safe>
1527

    
1528
        <!-- redmine configuration -->
1529
        <redmine.url>http://www.${platform}</redmine.url>
1530
        <redmine.projectId>${projectId}</redmine.projectId>
1531
        <redmine.xmlPath>${maven.gen.dir}/changes/changes.xml</redmine.xmlPath>
1532
        <redmine.collectedArtifacts>target/collect-artifacts.txt</redmine.collectedArtifacts>
1533
        <redmine.deploymentUrl>${repository.home.url}</redmine.deploymentUrl>
1534
        <redmine.templateDirectory>
1535
          http://maven-site.nuiton.org/mavenpom/announcement/redmineAndCentral
1536
        </redmine.templateDirectory>
1537
        
1538
        <!-- extra files to include in release -->
1539
        <redmine.releaseFiles />
1540

    
1541
      </properties>
1542

    
1543
      <distributionManagement>
1544
        <site>
1545
          <id>${platform}</id>
1546
          <url>${our.site.repository}/${projectId}</url>
1547
        </site>
1548
      </distributionManagement>
1549
      <build>
1550
        
1551
        <plugins>
1552

    
1553
          <!--
1554
          - obtain redmine login (for both cycle default and site)
1555
          - collect artifacts files
1556
          - collect attachments files
1557
          -->
1558
          <plugin>
1559
            <groupId>org.nuiton</groupId>
1560
            <artifactId>helper-maven-plugin</artifactId>
1561
            <executions>
1562
              <execution>
1563
                <id>get-redmine-login</id>
1564
                <goals>
1565
                  <goal>share-server-secret</goal>
1566
                </goals>
1567
                <phase>initialize</phase>
1568
                <inherited>false</inherited>
1569
                <configuration>
1570
                  <serverId>redmine-nuiton.org</serverId>
1571
                  <usernameOut>redmine.username</usernameOut>
1572
                  <!-- TC-20100124 just expose username, no need
1573
                 password -->
1574
                  <!--<passwordOut>redmine.password</passwordOut>-->
1575
                </configuration>
1576
              </execution>
1577
              <execution>
1578
                <id>collect-build-artifacts</id>
1579
                <goals>
1580
                  <goal>collect-files</goal>
1581
                </goals>
1582
                <phase>install</phase>
1583
                <configuration>
1584
                  <descriptionFile>${redmine.collectedArtifacts}</descriptionFile>
1585
                  <includeAttached>true</includeAttached>
1586
                  <includeSiteAttached>true</includeSiteAttached>
1587
                  <copyFiles>true</copyFiles>
1588
                </configuration>
1589
              </execution>
1590
            </executions>
1591
          </plugin>
1592

    
1593
          <!-- generate the changes.xml from redmine -->
1594
          <plugin>
1595
            <groupId>org.nuiton.jredmine</groupId>
1596
            <artifactId>jredmine-maven-plugin</artifactId>
1597
            <executions>
1598
              <execution>
1599
                <id>jredmine-generate-changes</id>
1600
                <goals>
1601
                  <goal>generate-changes</goal>
1602
                </goals>
1603
                <!-- use this phase to avoid multi-invocations -->
1604
                <phase>process-classes</phase>
1605
              </execution>
1606
            </executions>
1607
            <configuration>
1608

    
1609
              <generateOnce>true</generateOnce>
1610
              <actionMapping>fix:1, add:2, update:4</actionMapping>
1611
              <statusIds>3,4,5</statusIds>
1612

    
1613
            </configuration>
1614
          </plugin>
1615

    
1616
        </plugins>
1617
      </build>
1618

    
1619
      <reporting>
1620
        <plugins>
1621

    
1622
          <plugin>
1623
            <artifactId>maven-changes-plugin</artifactId>
1624
            <version>${changesPluginVersion}</version>
1625
            <configuration>
1626
              <issueLinkTemplatePerSystem>
1627
                <redmine>${redmine.issueLinkTemplate}</redmine>
1628
              </issueLinkTemplatePerSystem>
1629
              <xmlPath>${redmine.xmlPath}</xmlPath>
1630
            </configuration>
1631
            <reportSets>
1632
              <reportSet>
1633
                <reports>
1634
                  <report>changes-report</report>
1635
                </reports>
1636
              </reportSet>
1637
            </reportSets>
1638
          </plugin>
1639

    
1640
          <plugin>
1641
            <groupId>org.nuiton.jredmine</groupId>
1642
            <artifactId>jredmine-maven-plugin</artifactId>
1643
            <version>${jredminePluginVersion}</version>
1644
            <configuration>
1645
              <columnNames>
1646
                key,summary,status,assignee,tracker,priority,version,category,createdOn
1647
              </columnNames>
1648
            </configuration>
1649
            <reportSets>
1650
              <reportSet>
1651
                <reports>
1652
                  <report>issues-report</report>
1653
                </reports>
1654
              </reportSet>
1655
            </reportSets>
1656
          </plugin>
1657

    
1658
        </plugins>
1659
      </reporting>
1660

    
1661
    </profile>
1662

    
1663
    <!--
1664

1665
    -->
1666
    <profile>
1667
      <id>internal-redmine-pre-release</id>
1668
      <activation>
1669
        <property>
1670
          <name>internalRedminePreRelease</name>
1671
          <value>true</value>
1672
        </property>
1673
      </activation>
1674

    
1675
      <properties>
1676
        <!-- always force user to add -DdryRun to perform redmine actions -->
1677
        <dryRun>true</dryRun>
1678
        <redmine.dryRun>${dryRun}</redmine.dryRun>
1679
      </properties>
1680

    
1681
      <build>
1682

    
1683
        <defaultGoal>generate-sources</defaultGoal>
1684

    
1685
        <plugins>
1686
          <!--
1687
          - obtain redmine login
1688
          -->
1689
          <plugin>
1690
            <groupId>org.nuiton</groupId>
1691
            <artifactId>helper-maven-plugin</artifactId>
1692
            <executions>
1693
              <execution>
1694
                <id>get-redmine-login</id>
1695
                <goals>
1696
                  <goal>share-server-secret</goal>
1697
                </goals>
1698
                <phase>validate</phase>
1699
                <configuration>
1700
                  <serverId>redmine-${platform}</serverId>
1701
                  <passwordOut>redmine.password</passwordOut>
1702
                  <usernameOut>redmine.username</usernameOut>
1703
                </configuration>
1704
              </execution>
1705

    
1706
            </executions>
1707
          </plugin>
1708
          <!--
1709
          - upload attachments
1710
          - generate the changes.xml from redmine
1711
          -->
1712
          <plugin>
1713
            <groupId>org.nuiton.jredmine</groupId>
1714
            <artifactId>jredmine-maven-plugin</artifactId>
1715
            <executions>
1716
              <execution>
1717
                <id>jredmine-pre-release</id>
1718
                <goals>
1719
                  <goal>publish-attachments</goal>
1720
                  <goal>generate-news-announcement</goal>
1721
                  <goal>generate-email-announcement</goal>
1722
                </goals>
1723
                <phase>generate-sources</phase>
1724
                <inherited>false</inherited>
1725
                <configuration>
1726

    
1727
                  <!-- publish-attachments -->
1728
                  <filesFromProperties>${redmine.collectedAttachments}</filesFromProperties>
1729

    
1730
                  <!-- generate announcements -->
1731
                  <urlDownload>${redmine.url}/projects/files/${projectId}</urlDownload>
1732
                  <artifactsFile>${redmine.collectedArtifacts}</artifactsFile>
1733
                  <deploymentUrl>
1734
                    http://repo1.maven.org/maven2
1735
                  </deploymentUrl>
1736

    
1737
                </configuration>
1738
              </execution>
1739
            </executions>
1740

    
1741
          </plugin>
1742

    
1743
        </plugins>
1744
      </build>
1745

    
1746
    </profile>
1747

    
1748
    <!-- perform a redmine release after a successfull release -->
1749
    <profile>
1750
      <id>internal-redmine-release</id>
1751
      <activation>
1752
        <property>
1753
          <name>internalRedmineRelease</name>
1754
          <value>true</value>
1755
        </property>
1756
      </activation>
1757

    
1758
      <properties>
1759
        <!-- always force user to add -DdryRun to perform redmine actions -->
1760
        <dryRun>true</dryRun>
1761
        <redmine.dryRun>${dryRun}</redmine.dryRun>
1762
      </properties>
1763

    
1764
      <build>
1765

    
1766
        <defaultGoal>validate</defaultGoal>
1767

    
1768
        <plugins>
1769
          <!--
1770
          - obtain redmine login
1771
          - send release email
1772
          -->
1773
          <plugin>
1774
            <groupId>org.nuiton</groupId>
1775
            <artifactId>helper-maven-plugin</artifactId>
1776
            <executions>
1777
              <execution>
1778
                <id>get-redmine-login</id>
1779
                <goals>
1780
                  <goal>share-server-secret</goal>
1781
                </goals>
1782
                <phase>validate</phase>
1783
                <configuration>
1784
                  <serverId>redmine-${platform}</serverId>
1785
                  <passwordOut>redmine.password</passwordOut>
1786
                  <usernameOut>redmine.username</usernameOut>
1787
                </configuration>
1788
              </execution>
1789
              <execution>
1790
                <id>send-release-email</id>
1791
                <goals>
1792
                  <goal>send-email</goal>
1793
                </goals>
1794
                <phase>validate</phase>
1795
                <inherited>false</inherited>
1796
              </execution>
1797
            </executions>
1798
            <configuration>
1799

    
1800
              <!-- for a multi-module just run on root project -->
1801
              <runOnce>true</runOnce>
1802

    
1803
              <emailTitle>[ANN] - ${project.name} ${project.version} released</emailTitle>
1804
              <emailContentFile>target/generated-sources/announcement/release-email-announcement.vm</emailContentFile>
1805
              <mailSender>
1806
                <name>${platform} Release Notification</name>
1807
                <email>noreply@${platform}</email>
1808
              </mailSender>
1809
              <toAddresses>
1810
                <item>${listId}-users@list.${platform}</item>
1811
                <item>${listId}-devel@list.${platform}</item>
1812
                <item>announce-${platform}@list.${platform}</item>
1813
              </toAddresses>
1814
              <!--<smtpHost>smtp</smtpHost>-->
1815
              <!-- fix bug #146 -->
1816
              <encoding>iso-8859-1</encoding>
1817
            </configuration>
1818
          </plugin>
1819

    
1820
          <!--
1821
           - update version in redmine
1822
           - publish a release news in redmine
1823
          -->
1824
          <plugin>
1825
            <groupId>org.nuiton.jredmine</groupId>
1826
            <artifactId>jredmine-maven-plugin</artifactId>
1827
            <executions>
1828
              <execution>
1829
                <id>jredmine-release</id>
1830
                <goals>
1831
                  <goal>update-version</goal>
1832
                  <goal>publish-news</goal>
1833
                </goals>
1834
                <phase>validate</phase>
1835
                <inherited>false</inherited>
1836
              </execution>
1837
            </executions>
1838
            <configuration>
1839

    
1840
              <!-- for a multi-module just run on root project -->
1841
              <runOnce>true</runOnce>
1842

    
1843
              <!-- update-version -->
1844
              <closeVersion>true</closeVersion>
1845

    
1846
              <!-- publish-news -->
1847
              <newsContentFile>target/generated-sources/announcement/release-news-announcement.vm</newsContentFile>
1848
              <newsSummary>${project.description}</newsSummary>
1849
              <newsTitle>${project.name} ${project.version} released</newsTitle>
1850

    
1851
            </configuration>
1852
          </plugin>
1853

    
1854
        </plugins>
1855

    
1856
      </build>
1857
    </profile>
1858

    
1859
     <profile>
1860
      <id>maven-3</id>
1861
      <activation>
1862
        <file>
1863
          <!--  This employs that the basedir expression is only recognized by Maven 3.x (see MNG-2363) -->
1864
          <exists>${basedir}</exists>
1865
        </file>
1866
      </activation>
1867
      <build>
1868
        <plugins>
1869
          <plugin>
1870
            <artifactId>maven-site-plugin</artifactId>
1871
            <executions>
1872
              <execution>
1873
                <id>attach-descriptor</id>
1874
                <goals>
1875
                  <goal>attach-descriptor</goal>
1876
                </goals>
1877
              </execution>
1878
            </executions>
1879
          </plugin>
1880
        </plugins>
1881
      </build>
1882
    </profile>
1883

    
1884
    <profile>
1885
      <id>analyze-dependencies</id>
1886
      <activation>
1887
        <property>
1888
          <name>performRelease</name>
1889
          <value>true</value>
1890
        </property>
1891
      </activation>
1892
      <build>
1893
        <defaultGoal>verify</defaultGoal>
1894
        <plugins>
1895
          <plugin>
1896
            <artifactId>maven-dependency-plugin</artifactId>
1897
            <inherited>true</inherited>
1898
            <executions>
1899
              <execution>
1900
                <id>analyze</id>
1901
                <goals>
1902
                  <goal>analyze-only</goal>
1903
                </goals>
1904
                <configuration>
1905
                  <verbose>true</verbose>
1906
                  <failOnWarning>true</failOnWarning>
1907
                  <ignoreNonCompile>true</ignoreNonCompile>
1908
                </configuration>
1909
              </execution>
1910
            </executions>
1911
          </plugin>
1912
        </plugins>
1913
      </build>
1914
    </profile>
1915

    
1916
  </profiles>
1917

    
1918
</project>