Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.installer / pom.xml @ 40537

History | View | Annotate | Download (9.26 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

    
4
        <modelVersion>4.0.0</modelVersion>
5
        <groupId>org.gvsig</groupId>
6
        <artifactId>org.gvsig.desktop.installer</artifactId>
7
        <version>1.0.0</version>
8
        <packaging>pom</packaging>
9
        <name>${project.artifactId}</name>
10

    
11
  <build>
12
  
13
     <pluginManagement>
14
        <plugins>
15
        
16
          <plugin>
17
            <groupId>org.codehaus.gmaven</groupId>
18
            <artifactId>gmaven-plugin</artifactId>
19
            <version>1.4</version>
20
          </plugin>
21
          
22
          <plugin>
23
            <groupId>org.codehaus.mojo</groupId>
24
            <artifactId>properties-maven-plugin</artifactId>
25
            <version>1.0-alpha-2</version>
26
          </plugin>
27
                            
28
        </plugins>
29
     </pluginManagement>
30
  
31
      <plugins>
32
          <plugin>
33
              <groupId>org.codehaus.mojo</groupId>
34
              <artifactId>properties-maven-plugin</artifactId>
35
              <executions>
36
                  <execution>
37
                      <phase>install</phase>
38
                      <goals>
39
                          <goal>read-project-properties</goal>
40
                      </goals>
41
                      <configuration>
42
                          <files>
43
                                      <!-- Define gvsig.product.folder.path in this property -->
44
                                      <file>${user.home}/.gvsig-devel.properties</file>
45
                                      <file>${project.basedir}/gvsig-devel.properties</file>
46
                          </files>
47
                          <quiet>true</quiet>
48
                      </configuration>
49
                  </execution>
50
              </executions>
51
          </plugin>
52
          
53
          <plugin>
54
              <groupId>org.codehaus.gmaven</groupId>
55
              <artifactId>gmaven-plugin</artifactId>
56
                          <inherited>false</inherited>
57
              <executions>
58
                <execution>
59
                  <id>release</id>
60
                  <phase>install</phase>
61
                  <goals>
62
                    <goal>execute</goal>
63
                  </goals>
64
                  <configuration>
65
                    <source><![CDATA[
66
                      ant = new AntBuilder()
67
                                          log.info("For create windows launchers launch4j is requiered in the PATH. In linux link launch4j to launch4jc.")
68
                                          log.info("For create installer InstallJammer is required in the PATH.")
69

    
70
                      installation_folder = project.basedir.getAbsolutePath()+"/target/product/gvsig-desktop"
71
                      pool_folder = project.basedir.getAbsolutePath()+"/target/pool"
72
                      new File(installation_folder).mkdirs()
73
                      new File(pool_folder).mkdirs()
74
                      
75
                      gvsig_product_folder_path = project.properties["gvsig.product.folder.path"]
76
                      
77
                      ant.copy( todir: installation_folder ) {
78
                                                  fileset( dir: gvsig_product_folder_path )
79
                                          }
80
                                          ant.move( todir: pool_folder ) {
81
                                                    fileset( dir: installation_folder + "/install/" )
82
                                          }
83
                      new File(installation_folder,"install").mkdirs()
84
                      
85
                      gvsig_product_folder_path = installation_folder 
86
                      
87
                                          org_gvsig_andami_updater_jar = new FileNameFinder().getFileNames(gvsig_product_folder_path+"/lib",'org.gvsig.andami.updater-*.jar')[0]
88
                                          org_gvsig_andami_updater_jar = new File(org_gvsig_andami_updater_jar).getName()
89
                      
90
                      File file = new File(gvsig_product_folder_path + "/gvSIG/extensiones/org.gvsig.app.mainplugin/package.info")
91
                      log.info("Loading package.info - " + file.getAbsolutePath())
92
                      pakageinfo = new Properties()
93
                      pakageinfo.load(file.newDataInputStream())
94

    
95
                                          source = project.basedir.getAbsolutePath()+"/src/main/launch4j/gvsig-desktop.xml"
96
                                          target = project.basedir.getAbsolutePath()+"/target/gvsig-desktop.xml"
97
                                          s = new File(source).text
98
                                          s = s.replaceAll("@@gvsig.product.folder.path@@", gvsig_product_folder_path)
99
                                          s = s.replaceAll("@@org.gvsig.andami.updater.jar@@", org_gvsig_andami_updater_jar)
100
                                          s = s.replaceAll("@@version@@", pakageinfo.getProperty("version")+"."+pakageinfo.getProperty("buildNumber"))
101
                      new File(target).write(s)
102
                                          log.info("Created "+target)
103
                                          ant.exec( command:"launch4jc "+ target )
104
                                          log.info("Created gvsig-desktop.exe windows launcher.")
105

    
106
                                          source = project.basedir.getAbsolutePath()+"/src/main/launch4j/gvsig-desktop-devel.xml"
107
                                          target = project.basedir.getAbsolutePath()+"/target/gvsig-desktop-devel.xml"
108
                                          s = new File(source).text
109
                                          s = s.replaceAll("@@gvsig.product.folder.path@@", gvsig_product_folder_path)
110
                                          s = s.replaceAll("@@org.gvsig.andami.updater.jar@@", org_gvsig_andami_updater_jar)
111
                                          s = s.replaceAll("@@version@@", pakageinfo.getProperty("version")+"."+pakageinfo.getProperty("buildNumber"))
112
                      new File(target).write(s)
113
                                          log.info("Created "+target)
114
                                          ant.exec( command:"launch4jc "+ target )
115
                                          log.info("Created gvsig-desktop-devel.exe windows launcher")
116

    
117
                                          source = project.basedir.getAbsolutePath()+"/src/main/launch4j/gvsig-package-installer.xml"
118
                                          target = project.basedir.getAbsolutePath()+"/target/gvsig-package-installer.xml"
119
                                          s = new File(source).text
120
                                          s = s.replaceAll("@@gvsig.product.folder.path@@", gvsig_product_folder_path)
121
                                          s = s.replaceAll("@@org.gvsig.andami.updater.jar@@", org_gvsig_andami_updater_jar)
122
                                          s = s.replaceAll("@@version@@", pakageinfo.getProperty("version")+"."+pakageinfo.getProperty("buildNumber"))
123
                      new File(target).write(s)
124
                                          log.info("Created "+target)
125
                                          ant.exec( command:"launch4jc "+ target )
126
                                          log.info("Created gvsig-package-installer.exe windows launcher")
127

    
128
                                          jre_pkg_name = "gvSIG-desktop-2.0.0-jre_6_windows_i586-1.6.26-0-devel-win-x86-j1_6.gvspkg"
129
                                          url = "http://downloads.gvsig.org/download/gvsig-desktop/pool/jre_6_windows_i586/" + jre_pkg_name
130
                                          target = project.basedir.getAbsolutePath() + "/target/" + jre_pkg_name
131
                                          if(! new File(target).exists() ) {                                            
132
                              log.info("Downloading windows jre plugin")
133
                                                  ant.get(
134
                                                          src: url, 
135
                                                          dest: target
136
                                                  )
137
                                          } else {
138
                                                  log.info("Skip download of jre, it exist in local filesystem.")
139
                                          }
140
                                          source = project.basedir.getAbsolutePath() + "/target/" + jre_pkg_name
141
                      target = gvsig_product_folder_path + "/gvSIG/extensiones/"
142
                      log.info("Install plugin windows jre plugin to " + target)
143
                      ant.unzip(src: source, dest: target)
144
                                          
145
                                          log.info("Building zip installer...")
146
                      source  = project.basedir.getAbsolutePath()+"/target/product"
147
                      target  = project.basedir.getAbsolutePath() + 
148
                              "/target/gvSIG-desktop-" + 
149
                              pakageinfo.getProperty("version") + "-" + 
150
                              pakageinfo.getProperty("buildNumber") + "-" +
151
                              pakageinfo.getProperty("state") + "-all-x86-online.zip"
152
                      ant.zip(destfile: target, basedir: source)
153
                                          
154
                                          log.info("Building pool zip...")
155
                      source  = project.basedir.getAbsolutePath()+"/target/pool"
156
                      target  = project.basedir.getAbsolutePath() + 
157
                              "/target/gvSIG-desktop-" + 
158
                              pakageinfo.getProperty("version") + "-" + 
159
                              pakageinfo.getProperty("buildNumber") + "-" +
160
                              pakageinfo.getProperty("state") + "-all-x86-pool.zip"
161
                      ant.zip(destfile: target, basedir: source)
162
                                          
163
                      cmd = [ "installjammer" , 
164
                        "--output-dir", project.basedir.getAbsolutePath() + "/target",
165
                        "-DBaseDir", gvsig_product_folder_path,
166
                        "-DVersion", pakageinfo.getProperty("version"),
167
                        "-DInstallVersion", pakageinfo.getProperty("version"),
168
                        "-DDevelState", pakageinfo.getProperty("state"),
169
                        "-DBuildVersion", pakageinfo.getProperty("buildNumber"), 
170
                        "--build-for-release",
171
                        "--build-dir", project.basedir.getAbsolutePath() + "/target/installjammer", 
172
                        "--build-log-file", project.basedir.getAbsolutePath() + "/target/installjammer.log",
173
                        "--verbose",
174
                        "--build",
175
                                                project.basedir.getAbsolutePath() + "/src/main/installjammer/gvsig-standard-installer.mpi"
176
                                          ]
177
                      log.info("Launching InstallJammer - " + cmd.join(" ") )
178
                      ant.exec( command: cmd.join(" ") )
179
                    ]]></source>
180
                  </configuration>
181
                </execution>
182
              </executions>
183
          </plugin>
184
      </plugins>
185
  </build>
186
  <properties>
187
          <org.gvsig.andami.updater.jar>org.gvsig.andami.updater-2.0.10-SNAPSHOT.jar</org.gvsig.andami.updater.jar>
188
  </properties>
189

    
190
</project>