Revision 40581 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/pom.xml

View differences:

pom.xml
5 5
    <packaging>pom</packaging>
6 6
    <name>${project.artifactId}</name>
7 7
    <description>Thus project group al core plugins of gvSIG.
8
This pom knows how to build and made a plugin for gvSIG. 
9
</description>
8
	</description>
10 9
    <parent>
11 10
        <groupId>org.gvsig</groupId>
12 11
        <artifactId>org.gvsig.desktop</artifactId>
13 12
        <version>2.0.14-SNAPSHOT</version>
14 13
    </parent>
15 14

  
16
    <dependencyManagement>
17
        <dependencies>
18 15

  
19
          <dependency>
20
            <groupId>org.gvsig</groupId>
21
            <artifactId>org.gvsig.app.mainplugin</artifactId>
22
            <version>2.0.14-SNAPSHOT</version>
23
            <scope>provided</scope>
24
          </dependency>
25
          <dependency>
26
            <groupId>org.gvsig</groupId>
27
            <artifactId>org.gvsig.annotation.app.mainplugin</artifactId>
28
            <version>2.0.14-SNAPSHOT</version>
29
            <scope>provided</scope>
30
          </dependency>
31
          <dependency>
32
            <groupId>org.gvsig</groupId>
33
            <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
34
            <version>2.0.14-SNAPSHOT</version>
35
            <scope>provided</scope>
36
          </dependency>
37
          <dependency>
38
            <groupId>org.gvsig</groupId>
39
            <artifactId>org.gvsig.centerviewpoint.app.mainplugin</artifactId>
40
            <version>2.0.14-SNAPSHOT</version>
41
            <scope>provided</scope>
42
          </dependency>
43
          <dependency>
44
            <groupId>org.gvsig</groupId>
45
            <artifactId>org.gvsig.coreplugin.app.mainplugin</artifactId>
46
            <version>2.0.14-SNAPSHOT</version>
47
            <scope>provided</scope>
48
          </dependency>
49
          <dependency>
50
            <groupId>org.gvsig</groupId>
51
            <artifactId>org.gvsig.daltransform.app.mainplugin</artifactId>
52
            <version>2.0.14-SNAPSHOT</version>
53
            <scope>provided</scope>
54
          </dependency>
55
          <dependency>
56
            <groupId>org.gvsig</groupId>
57
            <artifactId>org.gvsig.datalocator.app.mainplugin</artifactId>
58
            <version>2.0.14-SNAPSHOT</version>
59
            <scope>provided</scope>
60
          </dependency>
61
          <dependency>
62
            <groupId>org.gvsig</groupId>
63
            <artifactId>org.gvsig.editing.app.mainplugin</artifactId>
64
            <version>2.0.14-SNAPSHOT</version>
65
            <scope>provided</scope>
66
          </dependency>
67
          <dependency>
68
            <groupId>org.gvsig</groupId>
69
            <artifactId>org.gvsig.exportto.app.mainplugin</artifactId>
70
            <version>2.0.14-SNAPSHOT</version>
71
            <scope>provided</scope>
72
          </dependency>
73
          <dependency>
74
            <groupId>org.gvsig</groupId>
75
            <artifactId>org.gvsig.geodb.app.mainplugin</artifactId>
76
            <version>2.0.14-SNAPSHOT</version>
77
            <scope>provided</scope>
78
          </dependency>
79
          <dependency>
80
            <groupId>org.gvsig</groupId>
81
            <artifactId>org.gvsig.mkmvnproject.app.mainplugin</artifactId>
82
            <version>2.0.14-SNAPSHOT</version>
83
            <scope>provided</scope>
84
          </dependency>
85
          <dependency>
86
            <groupId>org.gvsig</groupId>
87
            <artifactId>org.gvsig.installer.app.mainplugin</artifactId>
88
            <version>2.0.14-SNAPSHOT</version>
89
            <scope>provided</scope>
90
          </dependency>
91
          <dependency>
92
            <groupId>org.gvsig</groupId>
93
            <artifactId>org.gvsig.symbology.app.mainplugin</artifactId>
94
            <version>2.0.10-SNAPSHOT</version>
95
            <scope>provided</scope>
96
          </dependency>
97
          <dependency>
98
            <groupId>org.gvsig</groupId>
99
            <artifactId>org.gvsig.i18n.app.mainplugin</artifactId>
100
            <version>2.0.14-SNAPSHOT</version>
101
            <scope>provided</scope>
102
          </dependency>
103
          <dependency>
104
            <groupId>org.gvsig</groupId>
105
            <artifactId>org.gvsig.selectiontools.app.mainplugin</artifactId>
106
            <version>2.0.14-SNAPSHOT</version>
107
            <scope>provided</scope>
108
          </dependency>
109
          <dependency>
110
            <groupId>org.gvsig</groupId>
111
            <artifactId>org.gvsig.geometrymeasurement.app.mainplugin</artifactId>
112
            <version>2.0.14-SNAPSHOT</version>
113
            <scope>provided</scope>
114
          </dependency>
115
          <dependency>
116
            <groupId>org.gvsig</groupId>
117
            <artifactId>org.gvsig.newlayer.app.mainplugin</artifactId>
118
            <version>2.0.14-SNAPSHOT</version>
119
            <scope>provided</scope>
120
          </dependency>
121
          <dependency>
122
            <groupId>org.gvsig</groupId>
123
            <artifactId>org.gvsig.help.app.mainplugin</artifactId>
124
            <version>2.0.14-SNAPSHOT</version>
125
            <scope>provided</scope>
126
          </dependency>
127

  
128
        </dependencies>
129
    </dependencyManagement>
130

  
131
    <properties>
132
        <!-- Package info property values -->
133
        <gvsig.package.info.codealias />
134
        <gvsig.package.info.version>${project.version}</gvsig.package.info.version>
135
        <gvsig.package.info.state>devel</gvsig.package.info.state>
136
        <gvsig.package.info.official>false</gvsig.package.info.official>
137
        <gvsig.package.info.operatingSystem>all</gvsig.package.info.operatingSystem>
138
        <gvsig.package.info.architecture>all</gvsig.package.info.architecture>
139
        <gvsig.package.info.javaVM>j1_5</gvsig.package.info.javaVM>
140
        <gvsig.package.info.gvSIGVersion>2.1.0</gvsig.package.info.gvSIGVersion>
141
        <gvsig.package.info.dependencies>required: org.gvsig.app.mainplugin -ge 2.0.1</gvsig.package.info.dependencies>
142
        <gvsig.package.info.owner>gvSIG Association</gvsig.package.info.owner>
143
        <gvsig.package.info.sourcesURL>${project.scm.url}</gvsig.package.info.sourcesURL>
144
        <gvsig.package.info.webURL>http://www.gvsig.com</gvsig.package.info.webURL>
145
        <gvsig.package.info.categories />
146
        <gvsig.package.info.poolURL>http://downloads.gvsig.org/download/gvsig-desktop/pool</gvsig.package.info.poolURL>
147
    </properties>
148

  
149
    <dependencies>
150
      <dependency>
151
          <groupId>org.slf4j</groupId>
152
          <artifactId>slf4j-api</artifactId>
153
          <scope>provided</scope>
154
      </dependency>
155
      <dependency>
156
          <groupId>org.slf4j</groupId>
157
          <artifactId>slf4j-log4j12</artifactId>
158
          <scope>provided</scope>
159
      </dependency>
160
      <dependency>
161
        <groupId>org.gvsig</groupId>
162
        <artifactId>org.gvsig.andami</artifactId>
163
        <scope>provided</scope>
164
      </dependency>
165
      <dependency>
166
        <groupId>org.gvsig</groupId>
167
        <artifactId>org.gvsig.tools.lib</artifactId>
168
        <scope>provided</scope>
169
      </dependency>
170
    </dependencies>
171

  
172

  
173
    <build>
174
      <pluginManagement>
175
        <plugins>
176

  
177
            <plugin>
178
              <groupId>org.codehaus.gmaven</groupId>
179
              <artifactId>gmaven-plugin</artifactId>
180
              <executions>
181

  
182
                <execution>
183
                  <id>increase-build-number</id>
184
                  <phase>process-sources</phase>
185
                  <goals>
186
                    <goal>execute</goal>
187
                  </goals>
188
                  <configuration>
189
                    <source><![CDATA[
190
                      // use "mvn -Dincrease-build-number process-sources" 
191
                      if( project.properties["increase-build-number"] == null ) {
192
                      	log.info("Don't increment build number use flag '-Dincrease-build-number' to increment it.")
193
                      } else {
194
	                      File file = new File(project.basedir,"buildNumber.properties")
195
	                      if( ! file.exists() ) {
196
                            log.info("Skip increment build number (buildNumber.property not present).")
197
                          } else {
198
	                        Properties props = new Properties()
199
	                        
200
	                        props.load(file.newDataInputStream())
201
	                        value = (props.getProperty("buildNumber") as int) + 1
202
	                        props.setProperty("buildNumber",value as String)
203
	                        props.store(file.newWriter(), null)
204
	                        log.info("Setting build number to " + value)
205
	                      }
206
                      }
207
                    ]]></source>
208
                  </configuration>
209
                </execution>
210

  
211
                <execution>
212
                  <id>build-package-info</id>
213
                  <phase>prepare-package</phase>
214
                  <goals>
215
                    <goal>execute</goal>
216
                  </goals>
217
                  <configuration>
218
                    <source><![CDATA[
219
                        if( project.properties["buildNumber"] == null) {
220
                          log.info("Skip build package.info (buildNumber.property not present).")
221
                          log.info("Skip build package.info index (buildNumber.property not present).")
222
                        } else {
223
                          package_info_file  = new File(project.basedir, "target/package.info")
224
                          log.info("Building package.info : " + package_info_file.getAbsolutePath())
225
                          Properties props = new Properties()
226
                          props.setProperty('code', project.artifactId)
227
                          props.setProperty('code-alias', project.properties["gvsig.package.info.codealias"])
228
                          props.setProperty('name', project.name)
229
                          props.setProperty('version', project.properties["gvsig.package.info.version"])
230
                          props.setProperty('description', project.description)
231
                          props.setProperty('owner', project.properties["gvsig.package.info.owner"])
232
                          props.setProperty('java-version', project.properties["gvsig.package.info.javaVM"])
233
                          props.setProperty('official', project.properties["gvsig.package.info.official"])
234
                          props.setProperty('type', "plugin")
235
                          props.setProperty('state', project.properties["gvsig.package.info.state"])
236
                          props.setProperty('operating-system', project.properties["gvsig.package.info.operatingSystem"])
237
                          props.setProperty('dependencies', project.properties["gvsig.package.info.dependencies"])
238
                          props.setProperty('sources-url', project.properties["gvsig.package.info.sourcesURL"])
239
                          props.setProperty('web-url', project.properties["gvsig.package.info.webURL"])
240
                          props.setProperty('architecture', project.properties["gvsig.package.info.architecture"])
241
                          props.setProperty('model-version', '1.0.1')
242
                          props.setProperty('categories', project.properties["gvsig.package.info.categories"])
243
                          props.setProperty('buildNumber', project.properties["buildNumber"])
244
                          props.setProperty('gvSIG-version', project.properties["gvsig.package.info.gvSIGVersion"])
245

  
246
                          props.store(package_info_file.newWriter(), null)
247

  
248
                          pkgname = "gvSIG-desktop-" + 
249
                            project.properties["gvsig.package.info.gvSIGVersion"] + "-" + 
250
                            project.artifactId + "-" + 
251
                            project.properties["gvsig.package.info.version"] + "-" + 
252
                            project.properties["buildNumber"] + "-" + 
253
                            project.properties["gvsig.package.info.state"] + "-" + 
254
                            project.properties["gvsig.package.info.operatingSystem"] + "-" + 
255
                            project.properties["gvsig.package.info.architecture"] + "-" + 
256
                            project.properties["gvsig.package.info.javaVM"]
257
                          package_info_file  = new File(project.basedir, "target/gvspki/"+project.artifactId+"/package.info")
258
                          log.info("Building package.info index " + package_info_file.getAbsolutePath())
259
                          package_info_file.getParentFile().mkdirs()
260
                          props.setProperty('download-url', 
261
                            project.properties["gvsig.package.info.poolURL"] + "/" +
262
                            project.artifactId + "/" +
263
                            pkgname + ".gvspki"
264
                          )
265
                          props.store(package_info_file.newWriter(), null)
266
                        }
267
                    ]]></source>
268
                  </configuration>
269
                </execution>
270

  
271
                <execution>
272
                  <id>build-package-index</id>
273
                  <phase>package</phase>
274
                  <goals>
275
                    <goal>execute</goal>
276
                  </goals>
277
                  <configuration>
278
                    <source><![CDATA[
279
                      ant = new AntBuilder()
280
                      if( project.properties["buildNumber"] == null) {
281
                        log.info("Skip building package index (buildNumber.property not present).")
282
                      } else {
283
                        pkgname = "gvSIG-desktop-" + 
284
                          project.properties["gvsig.package.info.gvSIGVersion"] + "-" + 
285
                          project.artifactId + "-" + 
286
                          project.properties["gvsig.package.info.version"] + "-" + 
287
                          project.properties["buildNumber"] + "-" + 
288
                          project.properties["gvsig.package.info.state"] + "-" + 
289
                          project.properties["gvsig.package.info.operatingSystem"] + "-" + 
290
                          project.properties["gvsig.package.info.architecture"] + "-" + 
291
                          project.properties["gvsig.package.info.javaVM"]
292

  
293
                        log.info("Building package index " + pkgname + ".gvspki")
294
                        package_index_source  = project.basedir.getAbsolutePath() + "/target/gvspki"
295
                        package_index_target  = project.basedir.getAbsolutePath() + "/target/" + pkgname + ".gvspki"
296
                        ant.zip(destfile: package_index_target, basedir: package_index_source)
297
                      }
298
                    ]]></source>
299
                  </configuration>
300
                </execution>
301

  
302
                <execution>
303
                  <id>install-plugin</id>
304
                  <phase>install</phase>
305
                  <goals>
306
                    <goal>execute</goal>
307
                  </goals>
308
                  <configuration>
309
                    <source><![CDATA[
310
                      if( project.properties["buildNumber"] == null) {
311
                        log.info("Skip install package (buildNumber.property not present).")
312
                      } else {                    
313
	                      ant = new AntBuilder()
314
	                      pkgname = "gvSIG-desktop-" + 
315
	                        project.properties["gvsig.package.info.gvSIGVersion"] + "-" + 
316
	                        project.artifactId + "-" + 
317
	                        project.properties["gvsig.package.info.version"] + "-" + 
318
	                        project.properties["buildNumber"] + "-" + 
319
	                        project.properties["gvsig.package.info.state"] + "-" + 
320
	                        project.properties["gvsig.package.info.operatingSystem"] + "-" + 
321
	                        project.properties["gvsig.package.info.architecture"] + "-" + 
322
	                        project.properties["gvsig.package.info.javaVM"]
323
	
324
	                      source = project.basedir.getAbsolutePath() + "/target/" + pkgname + ".gvspkg.zip"
325
	                      target = project.properties["gvsig.product.folder.path"] + "/gvSIG/extensiones/"
326
	
327
	                      log.info("Install plugin to " + target)
328
	                      ant.unzip(src: source, dest: target)
329
	
330
	                      target = new File(project.properties["gvsig.product.folder.path"] + 
331
	                        "/install/" + 
332
	                        project.artifactId + "/" +
333
	                        pkgname + ".gvspkg")
334
	                      target.getParentFile().mkdirs()
335
	
336
	                      log.info("Copy plugin package from " + source + " to " + target)
337
	                      ant.copy(file:source, tofile:target.getAbsolutePath())
338
	
339
	                      source  = project.basedir.getAbsolutePath() + "/target/" + pkgname + ".gvspki"
340
	                      target = project.properties["gvsig.product.folder.path"] + 
341
	                        "/install/" + 
342
	                        project.artifactId + "/" +
343
	                        pkgname + ".gvspki"
344
	                      log.info("Copy plugin package index from " + source + " to " + target)
345
	                      ant.copy(file:source, tofile:target)
346
					   }
347
                    ]]></source>
348
                  </configuration>
349
                </execution>
350

  
351
              </executions>
352
            </plugin>
353

  
354
            
355
        </plugins>
356
      </pluginManagement>
357
    
358
      <plugins>
359

  
360
            <plugin>
361
              <!-- load ".gvsig-devel.properties" -->
362
              <groupId>org.codehaus.mojo</groupId>
363
              <artifactId>properties-maven-plugin</artifactId>
364
              <configuration>
365
                  <files>
366
                      <!-- Define gvsig.product.folder.path in this property -->
367
                      <file>${user.home}/.gvsig-devel.properties</file>
368
                      <file>${env.HOME}/.gvsig-devel.properties</file>
369
                      <file>${project.basedir}/gvsig-devel.properties</file>
370
                      <file>buildNumber.properties</file>
371
                  </files>
372
                  <quiet>true</quiet>
373
              </configuration>
374
              <executions>
375
                  <execution>
376
                  	  <id>default</id>
377
                      <phase>prepare-package</phase>
378
                      <goals>
379
                          <goal>read-project-properties</goal>
380
                      </goals>
381
                  </execution>
382
                  <execution>
383
                  	<id>default-clean</id>
384
                    <phase>pre-clean</phase>
385
                    <goals>
386
                        <goal>read-project-properties</goal>
387
                    </goals>
388
                </execution>
389
              </executions>
390
            </plugin>
391

  
392

  
393
        </plugins>
394
    </build>
395

  
396

  
397
  <profiles>
398
      <profile>
399
        <id>gvsig-plugin</id>
400
        <activation>
401
          <file>
402
            <exists>buildNumber.properties</exists>
403
          </file>
404
        </activation>
405
        <build>
406
          <plugins>
407

  
408

  
409
            <plugin>
410
                <artifactId>maven-assembly-plugin</artifactId>
411
                <configuration>
412
                    <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
413
                    <appendAssemblyId>false</appendAssemblyId>
414
                </configuration>
415
                <executions>
416
                  <execution>
417
                    <id>gvsig-plugin-package</id>
418
                    <phase>package</phase>
419
                    <goals>
420
                        <goal>single</goal>
421
                    </goals>
422
                    <configuration>
423
                      <finalName>gvSIG-desktop-${gvsig.package.info.gvSIGVersion}-${project.artifactId}-${gvsig.package.info.version}-${buildNumber}-${gvsig.package.info.state}-${gvsig.package.info.operatingSystem}-${gvsig.package.info.architecture}-${gvsig.package.info.javaVM}.gvspkg</finalName>
424
                      <descriptors>
425
                        <descriptor>src/main/assembly/gvsig-plugin-package.xml</descriptor>
426
                      </descriptors>
427
                    </configuration>
428
                  </execution>
429
                </executions>
430
            </plugin>
431

  
432
            <plugin>
433
              <artifactId>maven-clean-plugin</artifactId>
434
              <configuration>
435
                <skip>false</skip>
436
                <failOnError>true</failOnError>
437
                <filesets>
438
                  <fileset>
439
                    <directory>${gvsig.product.folder.path}/gvSIG/extensiones/${project.artifactId}</directory>
440
                  </fileset>
441
                </filesets>
442
              </configuration>
443
              <executions>
444
                <execution>
445
                  <id>default-clean</id>
446
                  <phase>clean</phase>
447
                </execution>
448
              </executions>
449
            </plugin>
450

  
451

  
452
            <plugin>
453
              <groupId>org.codehaus.gmaven</groupId>
454
              <artifactId>gmaven-plugin</artifactId>
455
              <executions>
456

  
457
                <execution>
458
                  <id>increase-build-number</id>
459
                  <phase>process-sources</phase>
460
                  <goals>
461
                    <goal>execute</goal>
462
                  </goals>
463
                </execution>
464

  
465
                <execution>
466
                  <id>build-package-info</id>
467
                  <phase>prepare-package</phase>
468
                  <goals>
469
                    <goal>execute</goal>
470
                  </goals>
471
                </execution>
472

  
473
                <execution>
474
                  <id>build-package-index</id>
475
                  <phase>package</phase>
476
                  <goals>
477
                    <goal>execute</goal>
478
                  </goals>
479
                </execution>
480

  
481
                <execution>
482
                  <id>install-plugin</id>
483
                  <phase>install</phase>
484
                  <goals>
485
                    <goal>execute</goal>
486
                  </goals>
487
                </execution>
488

  
489
              </executions>
490
            </plugin>
491

  
492
          </plugins>
493
        </build>
494
      </profile>
495

  
496
  </profiles>
497

  
498 16
    <modules>
499 17
      <module>org.gvsig.app</module>
500 18
      <module>org.gvsig.coreplugin.app</module>

Also available in: Unified diff