Statistics
| Revision:

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

History | View | Annotate | Download (9.16 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.d"
72
  new File(installation_folder).mkdirs()
73
  new File(pool_folder,"pool").mkdirs()
74

    
75
  gvsig_product_folder_path = project.properties["gvsig.product.folder.path"]
76

    
77

    
78
  log.info("Getting a local copy of product folder...")
79
  ant.copy( todir: installation_folder ) {
80
    fileset( dir: gvsig_product_folder_path )
81
  }
82
  gvsig_product_folder_path = installation_folder 
83

    
84

    
85
  log.info("Populate the pool folder...")
86
  ant.move( todir: pool_folder + "/pool" ) {
87
  fileset( dir: installation_folder + "/install/" )
88
  }
89
  new File(installation_folder,"install").mkdirs()
90

    
91
  log.info("Preparing basic package set (gvspks)...")
92
  gvspks_folder = new File(project.basedir,"target/gvspks")
93
  gvspks_folder.mkdirs()                    
94
  filenames = new FileNameFinder().getFileNames(pool_folder,"**/*.gvspkg")
95
  for( filename in filenames ) {
96
    file = new File(filename)
97
    ant.copy(file:filename, todir:gvspks_folder.getAbsolutePath())
98
  }            
99

    
100
  log.info("Finding andami updater jar...")
101
  org_gvsig_andami_updater_jar = new FileNameFinder().getFileNames(
102
    gvsig_product_folder_path+"/lib",
103
    'org.gvsig.andami.updater-*.jar'
104
  )[0]
105
  if( org_gvsig_andami_updater_jar == null ) {
106
    log.error("Can't find andami updater jar")
107
    assert false
108
  }
109
  org_gvsig_andami_updater_jar = new File(org_gvsig_andami_updater_jar).getName()
110
  log.info("Found andami updater :"+org_gvsig_andami_updater_jar)
111

    
112
  File file = new File(gvsig_product_folder_path + "/gvSIG/extensiones/org.gvsig.app.mainplugin/package.info")
113
  log.info("Loading package.info - " + file.getAbsolutePath())
114
  pakageinfo = new Properties()
115
  pakageinfo.load(file.newDataInputStream())
116

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

    
129
  log.info("Creating gvsig-desktop-devel.exe windows launcher...")
130
  source = project.basedir.getAbsolutePath()+"/src/main/launch4j/gvsig-desktop-devel.xml"
131
  target = project.basedir.getAbsolutePath()+"/target/gvsig-desktop-devel.xml"
132
  s = new File(source).text
133
  s = s.replaceAll("@@gvsig.product.folder.path@@", gvsig_product_folder_path)
134
  s = s.replaceAll("@@org.gvsig.andami.updater.jar@@", org_gvsig_andami_updater_jar)
135
  s = s.replaceAll("@@version@@", pakageinfo.getProperty("version")+"."+pakageinfo.getProperty("buildNumber"))
136
  new File(target).write(s)
137
  log.info("Created "+target)
138
  ant.exec( command:"launch4jc "+ target )
139
  log.info("Created gvsig-desktop-devel.exe windows launcher")
140

    
141
  log.info("Creating gvsig-package-installer.exe windows launcher...")
142
  source = project.basedir.getAbsolutePath()+"/src/main/launch4j/gvsig-package-installer.xml"
143
  target = project.basedir.getAbsolutePath()+"/target/gvsig-package-installer.xml"
144
  s = new File(source).text
145
  s = s.replaceAll("@@gvsig.product.folder.path@@", gvsig_product_folder_path)
146
  s = s.replaceAll("@@org.gvsig.andami.updater.jar@@", org_gvsig_andami_updater_jar)
147
  s = s.replaceAll("@@version@@", pakageinfo.getProperty("version")+"."+pakageinfo.getProperty("buildNumber"))
148
  new File(target).write(s)
149
  log.info("Created "+target)
150
  ant.exec( command:"launch4jc "+ target )
151
  log.info("Created gvsig-package-installer.exe windows launcher")
152

    
153
  jre_pkg_name = "gvSIG-desktop-2.0.0-jre_6_windows_i586-1.6.26-0-devel-win-x86-j1_6.gvspkg"
154
  url = "http://downloads.gvsig.org/download/gvsig-desktop/pool/jre_6_windows_i586/" + jre_pkg_name
155
  target = project.basedir.getAbsolutePath() + "/target/" + jre_pkg_name
156
  if(! new File(target).exists() ) {                                            
157
    log.info("Downloading windows jre plugin")
158
    ant.get(src: url, dest: target)
159
  } else {
160
    log.info("Skip download of jre, it exist in local filesystem.")
161
  }
162

    
163
  source = project.basedir.getAbsolutePath() + "/target/" + jre_pkg_name
164
  target = gvsig_product_folder_path + "/gvSIG/extensiones/"
165
  log.info("Installing plugin windows jre plugin to " + target + "...")
166
  ant.unzip(src: source, dest: target)
167
  log.info("jre installed.")
168

    
169
  log.info("Building zip installer...")
170
  source  = project.basedir.getAbsolutePath()+"/target/product"
171
  target  = project.basedir.getAbsolutePath() + 
172
    "/target/gvSIG-desktop-" + 
173
    pakageinfo.getProperty("version") + "-" + 
174
    pakageinfo.getProperty("buildNumber") + "-" +
175
    pakageinfo.getProperty("state") + "-all-x86-online.zip"
176
  ant.zip(destfile: target, basedir: source)
177

    
178
  log.info("Building pool zip...")
179
  source  = project.basedir.getAbsolutePath()+"/target/pool.d"
180
  target  = project.basedir.getAbsolutePath() + 
181
    "/target/gvSIG-desktop-" + 
182
    pakageinfo.getProperty("version") + "-" + 
183
    pakageinfo.getProperty("buildNumber") + "-" +
184
    pakageinfo.getProperty("state") + "-all-all-pool.zip"
185
  ant.zip(destfile: target, basedir: source)
186

    
187
  log.info("Building basic package-set (gvspks)...")
188
  source  = project.basedir.getAbsolutePath()+"/target/gvspks"
189
  target  = project.basedir.getAbsolutePath() + 
190
    "/target/gvSIG-desktop-" + 
191
    pakageinfo.getProperty("version") + "-" + 
192
    pakageinfo.getProperty("buildNumber") + "-" +
193
    pakageinfo.getProperty("state") + "-all-all.gvspks"
194
  ant.zip(destfile: target, basedir: source)
195

    
196

    
197
  cmd = [ "installjammer" , 
198
    "--output-dir", project.basedir.getAbsolutePath() + "/target",
199
    "-DBaseDir", gvsig_product_folder_path,
200
    "-DVersion", pakageinfo.getProperty("version"),
201
    "-DInstallVersion", pakageinfo.getProperty("version"),
202
    "-DDevelState", pakageinfo.getProperty("state"),
203
    "-DBuildVersion", pakageinfo.getProperty("buildNumber"), 
204
    "--build-for-release",
205
    "--build-dir", project.basedir.getAbsolutePath() + "/target/installjammer", 
206
    "--build-log-file", project.basedir.getAbsolutePath() + "/target/installjammer.log",
207
    "--verbose",
208
    "--build",
209
    project.basedir.getAbsolutePath() + "/src/main/installjammer/gvsig-standard-installer.mpi"
210
  ]
211
  log.info("Launching InstallJammer - " + cmd.join(" ") )
212
  ant.exec( command: cmd.join(" ") )
213

    
214
                    ]]></source>
215
                  </configuration>
216
                </execution>
217
              </executions>
218
          </plugin>
219
      </plugins>
220
  </build>
221

    
222
</project>