Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / pom.xml @ 40523

History | View | Annotate | Download (20.5 KB)

1
<?xml version="1.0" encoding="UTF-8"?>
2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3
    <modelVersion>4.0.0</modelVersion>
4
    <artifactId>org.gvsig.desktop.plugin</artifactId>
5
    <packaging>pom</packaging>
6
    <name>${project.artifactId}</name>
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>
10
    <parent>
11
        <groupId>org.gvsig</groupId>
12
        <artifactId>org.gvsig.desktop</artifactId>
13
        <version>2.0.13-SNAPSHOT</version>
14
    </parent>
15

    
16
    <dependencyManagement>
17
        <dependencies>
18

    
19
          <dependency>
20
            <groupId>org.gvsig</groupId>
21
            <artifactId>org.gvsig.app.mainplugin</artifactId>
22
            <version>2.0.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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.13-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
      <plugins>
175

    
176
            <plugin>
177
              <!-- load ".gvsig-devel.properties" -->
178
              <groupId>org.codehaus.mojo</groupId>
179
              <artifactId>properties-maven-plugin</artifactId>
180
              <configuration>
181
                  <files>
182
                      <!-- Define gvsig.product.folder.path in this property -->
183
                      <file>${user.home}/.gvsig-devel.properties</file>
184
                      <file>${project.basedir}/gvsig-devel.properties</file>
185
                      <file>buildNumber.properties</file>
186
                  </files>
187
                  <quiet>true</quiet>
188
              </configuration>
189
              <executions>
190
                  <execution>
191
                            <id>default</id>
192
                      <phase>prepare-package</phase>
193
                      <goals>
194
                          <goal>read-project-properties</goal>
195
                      </goals>
196
                  </execution>
197
                  <execution>
198
                          <id>default-clean</id>
199
                    <phase>pre-clean</phase>
200
                    <goals>
201
                        <goal>read-project-properties</goal>
202
                    </goals>
203
                </execution>
204
              </executions>
205
            </plugin>
206

    
207

    
208
        </plugins>
209
    </build>
210

    
211

    
212
  <profiles>
213
      <profile>
214
        <id>gvsig-plugin</id>
215
        <activation>
216
          <file>
217
            <exists>buildNumber.properties</exists>
218
          </file>
219
        </activation>
220
        <build>
221
          <plugins>
222

    
223
            <plugin>
224
                <artifactId>maven-assembly-plugin</artifactId>
225
                <configuration>
226
                    <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
227
                    <appendAssemblyId>false</appendAssemblyId>
228
                </configuration>
229
                <executions>
230
                  <execution>
231
                    <id>gvsig-plugin-package</id>
232
                    <phase>package</phase>
233
                    <goals>
234
                        <goal>single</goal>
235
                    </goals>
236
                    <configuration>
237
                      <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>
238
                      <descriptors>
239
                        <descriptor>src/main/assembly/gvsig-plugin-package.xml</descriptor>
240
                      </descriptors>
241
                    </configuration>
242
                  </execution>
243
                </executions>
244
            </plugin>
245

    
246
            <plugin>
247
              <artifactId>maven-clean-plugin</artifactId>
248
              <configuration>
249
                <skip>false</skip>
250
                <failOnError>true</failOnError>
251
                <filesets>
252
                  <fileset>
253
                    <directory>${gvsig.product.folder.path}/gvSIG/extensiones/${project.artifactId}</directory>
254
                  </fileset>
255
                </filesets>
256
              </configuration>
257
              <executions>
258
                <execution>
259
                  <id>default-clean</id>
260
                  <phase>clean</phase>
261
                </execution>
262
              </executions>
263
            </plugin>
264

    
265
            <plugin>
266
              <groupId>org.codehaus.gmaven</groupId>
267
              <artifactId>gmaven-plugin</artifactId>
268
              <executions>
269

    
270
                <execution>
271
                  <id>release</id>
272
                  <phase>install</phase>
273
                  <goals>
274
                    <goal>execute</goal>
275
                  </goals>
276
                  <configuration>
277
                    <source><![CDATA[
278
                      // use "mvn -Drelease install" 
279
                      if( project.properties["release"] != null ) {
280
                        log.info("Increase build number.")
281
                        Properties props = new Properties()
282
                        File file = new File(project.basedir,"buildNumber.properties")
283
                        props.load(file.newDataInputStream())
284
                        value = (props.getProperty("buildNumber") as int) + 1
285
                        props.setProperty("buildNumber",value as String)
286
                        props.store(file.newWriter(), null)
287
                      }
288
                    ]]></source>
289
                  </configuration>
290
                </execution>
291

    
292
                <execution>
293
                  <id>build-package-info</id>
294
                  <phase>prepare-package</phase>
295
                  <goals>
296
                    <goal>execute</goal>
297
                  </goals>
298
                  <configuration>
299
                    <source><![CDATA[
300
                        if( project.properties["buildNumber"] == null) {
301
                          log.info("Skip build package.info (buildNumber.property not present).")
302
                          log.info("Skip build package.info index (buildNumber.property not present).")
303
                        } else {
304
                          package_info_file  = new File(project.basedir, "target/package.info")
305
                          log.info("Building package.info : " + package_info_file.getAbsolutePath())
306
                          Properties props = new Properties()
307
                          props.setProperty('code', project.artifactId)
308
                          props.setProperty('code-alias', project.properties["gvsig.package.info.codealias"])
309
                          props.setProperty('name', project.name)
310
                          props.setProperty('version', project.properties["gvsig.package.info.version"])
311
                          props.setProperty('description', project.description)
312
                          props.setProperty('owner', project.properties["gvsig.package.info.owner"])
313
                          props.setProperty('java-version', project.properties["gvsig.package.info.javaVM"])
314
                          props.setProperty('official', project.properties["gvsig.package.info.official"])
315
                          props.setProperty('type', "plugin")
316
                          props.setProperty('state', project.properties["gvsig.package.info.state"])
317
                          props.setProperty('operating-system', project.properties["gvsig.package.info.operatingSystem"])
318
                          props.setProperty('dependencies', project.properties["gvsig.package.info.dependencies"])
319
                          props.setProperty('sources-url', project.properties["gvsig.package.info.sourcesURL"])
320
                          props.setProperty('web-url', project.properties["gvsig.package.info.webURL"])
321
                          props.setProperty('architecture', project.properties["gvsig.package.info.architecture"])
322
                          props.setProperty('model-version', '1.0.1')
323
                          props.setProperty('categories', project.properties["gvsig.package.info.categories"])
324
                          props.setProperty('buildNumber', project.properties["buildNumber"])
325
                          props.setProperty('gvSIG-version', project.properties["gvsig.package.info.gvSIGVersion"])
326

    
327
                          props.store(package_info_file.newWriter(), null)
328

    
329
                          pkgname = "gvSIG-desktop-" + 
330
                            project.properties["gvsig.package.info.gvSIGVersion"] + "-" + 
331
                            project.artifactId + "-" + 
332
                            project.properties["gvsig.package.info.version"] + "-" + 
333
                            project.properties["buildNumber"] + "-" + 
334
                            project.properties["gvsig.package.info.state"] + "-" + 
335
                            project.properties["gvsig.package.info.operatingSystem"] + "-" + 
336
                            project.properties["gvsig.package.info.architecture"] + "-" + 
337
                            project.properties["gvsig.package.info.javaVM"]
338
                          package_info_file  = new File(project.basedir, "target/gvspki/"+project.artifactId+"/package.info")
339
                          log.info("Building package.info index " + package_info_file.getAbsolutePath())
340
                          package_info_file.getParentFile().mkdirs()
341
                          props.setProperty('download-url', 
342
                            project.properties["gvsig.package.info.poolURL"] + "/" +
343
                            project.artifactId + "/" +
344
                            pkgname + ".gvspki"
345
                          )
346
                          props.store(package_info_file.newWriter(), null)
347
                        }
348
                    ]]></source>
349
                  </configuration>
350
                </execution>
351

    
352
                <execution>
353
                  <id>build-package-index</id>
354
                  <phase>package</phase>
355
                  <goals>
356
                    <goal>execute</goal>
357
                  </goals>
358
                  <configuration>
359
                    <source><![CDATA[
360
                      ant = new AntBuilder()
361
                      if( project.properties["buildNumber"] == null) {
362
                        log.info("Skip building package index (buildNumber.property not present).")
363
                      } else {
364
                        pkgname = "gvSIG-desktop-" + 
365
                          project.properties["gvsig.package.info.gvSIGVersion"] + "-" + 
366
                          project.artifactId + "-" + 
367
                          project.properties["gvsig.package.info.version"] + "-" + 
368
                          project.properties["buildNumber"] + "-" + 
369
                          project.properties["gvsig.package.info.state"] + "-" + 
370
                          project.properties["gvsig.package.info.operatingSystem"] + "-" + 
371
                          project.properties["gvsig.package.info.architecture"] + "-" + 
372
                          project.properties["gvsig.package.info.javaVM"]
373

    
374
                        log.info("Building package index " + pkgname + ".gvspki")
375
                        package_index_source  = project.basedir.getAbsolutePath() + "/target/gvspki"
376
                        package_index_target  = project.basedir.getAbsolutePath() + "/target/" + pkgname + ".gvspki"
377
                        ant.zip(destfile: package_index_target, basedir: package_index_source)
378
                      }
379
                    ]]></source>
380
                  </configuration>
381
                </execution>
382

    
383
                <execution>
384
                  <id>install-plugin</id>
385
                  <phase>install</phase>
386
                  <goals>
387
                    <goal>execute</goal>
388
                  </goals>
389
                  <configuration>
390
                    <source><![CDATA[
391
                      ant = new AntBuilder()
392
                      pkgname = "gvSIG-desktop-" + 
393
                        project.properties["gvsig.package.info.gvSIGVersion"] + "-" + 
394
                        project.artifactId + "-" + 
395
                        project.properties["gvsig.package.info.version"] + "-" + 
396
                        project.properties["buildNumber"] + "-" + 
397
                        project.properties["gvsig.package.info.state"] + "-" + 
398
                        project.properties["gvsig.package.info.operatingSystem"] + "-" + 
399
                        project.properties["gvsig.package.info.architecture"] + "-" + 
400
                        project.properties["gvsig.package.info.javaVM"]
401

    
402
                      source = project.basedir.getAbsolutePath() + "/target/" + pkgname + ".gvspkg.zip"
403
                      target = project.properties["gvsig.product.folder.path"] + "/gvSIG/extensiones/"
404

    
405
                      log.info("Install plugin to " + target)
406
                      ant.unzip(src: source, dest: target)
407

    
408
                      target = new File(project.properties["gvsig.product.folder.path"] + 
409
                        "/install/" + 
410
                        project.artifactId + "/" +
411
                        pkgname + ".gvspkg")
412
                      target.getParentFile().mkdirs()
413

    
414
                      log.info("Copy plugin package from " + source + " to " + target)
415
                      ant.copy(file:source, tofile:target.getAbsolutePath())
416

    
417
                      source  = project.basedir.getAbsolutePath() + "/target/" + pkgname + ".gvspki"
418
                      target = project.properties["gvsig.product.folder.path"] + 
419
                        "/install/" + 
420
                        project.artifactId + "/" +
421
                        pkgname + ".gvspki"
422
                      log.info("Copy plugin package index from " + source + " to " + target)
423
                      ant.copy(file:source, tofile:target)
424

    
425
                    ]]></source>
426
                  </configuration>
427
                </execution>
428

    
429
              </executions>
430
            </plugin>
431

    
432
          </plugins>
433
        </build>
434
      </profile>
435

    
436
  </profiles>
437

    
438
    <modules>
439
      <module>org.gvsig.app</module>
440
      <module>org.gvsig.coreplugin.app</module>
441
      <module>org.gvsig.centerviewpoint.app</module>
442
      <module>org.gvsig.app.document.table.app</module>
443
      <module>org.gvsig.geometrymeasurement.app</module>
444
      <module>org.gvsig.datalocator.app</module>
445
      <module>org.gvsig.help.app</module>
446
      <module>org.gvsig.selectiontools.app</module>
447
      <module>org.gvsig.i18n.app</module>
448
      <module>org.gvsig.symbology.app</module>
449
      <module>org.gvsig.geodb.app</module>
450
      <module>org.gvsig.annotation.app</module>
451
      <module>org.gvsig.daltransform.app</module>
452
      <module>org.gvsig.exportto.app</module>
453
      <module>org.gvsig.editing.app</module>
454
      <module>org.gvsig.installer.app</module>
455
      <module>org.gvsig.newlayer.app</module>
456
      <module>org.gvsig.mkmvnproject.app</module>
457
    </modules>
458

    
459
</project>