One-Step Build Documentation

advertisement
Documentation for One-Step Build –’07-’08 MGX Team
Softwares used: Launch4j, Inno Setup Installer, SvnAnt.
Open source control used: Subversion
Launch4j – Launch4j is a cross-platform tool for wrapping Java applications distributed
as jars in lightweight Windows native executables. For more information on Launch4j
updates refer
http://launch4j.sourceforge.net/
Inno Setup Installer - Inno Setup is a free installer for Windows programs. The Inno
Setup has a setup compiler that produces .iss script files (Inno configuration file) that
should be edited to set application files. For more information on Inno Setup updates
refer http://www.jrsoftware.org/isinfo.php
SvnAnt – SvnAnt is an ant task that provides an interface to Subversion revision control
system.
Refer the link below for more information on latest updates if any:
http://subclipse.tigris.org/svnant.html
How it works?
The one step build file has ant targets providing the functionality of Subversion check
out, check in, and commit. It has ant targets to create jar file and also to convert jar to exe
file using Launch4j which is used by Inno Setup Installer to create a setup wizard (exe).
In the build.properties users are given the option of editing their SVN username, SVN
password, and the directory to which checkout, checkins and commit needs to occur.
Pre-requisites:
1. Install Launch4J in C:\Program Files\Launch4
Note: If install in different path change path at line 16 in build.xml.
2. Install the Inno Setup in C:\Program Files\Inno Setup
Note: If install in different path change path at line 81 in build.xml.
3. Copy Launch4j configuration xml (MGXlaunch4j.xml) in working folder.
4. Copy Inno Setup script file (MGXInnosetup.iss) into working folder.
5. Use svnant version 1.1.0-Rc2
Note:
a. Set svnant.classpath to c:\????\svnant-1.1.0-Rc2\lib
b. Edit build.properties, add svn username and password.
Run Ant:
1. Run ant in working folder.
2. Output files MGXSetup.exe, MGX.exe and MGX.jar created in working folder and
\bin folder (to update SVN).
3. Double click Setup and follow wizard.
4. Copy the MGXSetup.exe to MGX website Setup folder.
Brief Description Of Ant Target Snippets
The required jar files for Launch4j are in "launch4j.dir" which points to the
absolute location of “C:\Program Files\Launch4”. See below
<property name="launch4j.dir" location="C:\Program Files\launch4j" />
<taskdef name="launch4j"
classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" />
The “lib.dir” is specified in the build.properties from where the required jars files for
SvnAnt are put into classpath. Set the SvnAnt jar files into local java classpath to run
commandline Ant. (Set svnant.classpath to c:\????\svnant-1.1.0-Rc2\lib).
<! -- path to the svnant libraries. -->
<path id="svnant.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<! -- load the svn task -->
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
classpathref="svnant.classpath" />
<! -- Copy the Greenhouse folder into greenhouse folder delete existing jar and exe
files-->
<target name="copy" depends="compile">
<echo message="Copies all phenotype images"/>
<copy todir="Greenhouse">
<fileset dir="Greenhouse"/>
</copy>
<delete file="MGX.jar"/>
<delete file="MGX.exe"/>
<delete file="MGXsetup.exe"/>
<delete file="bin/MGX.jar"/>
<delete file="bin/MGX.exe"/>
<delete file="bin/MGXsetup.exe"/>
</target>
The Launch4j target creates below the .exe file using the Launch4j configuration file
(MGXLaunch4j.xml) and copied to \bin directory.
<! -- Creating EXE with launch4j tool -->
<target name="exe" depends="jarfile" description="Launch4j build">
<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" />
<launch4j configFile="MGXLaunch4j.xml" />
<copy file="MGX.exe" todir="./bin"/>
</target>
The InnoSetup target: - depends on the .exe produced from launch4j and is specified in
InnoSetup configuration file(MgxInnosetup.iss) which is given as the argument value
and setup exe (MGXsetup.exe)is copied to bin folder.
<! -- Creating windows setup exe file to install mgx.exe -->
<target name="runInnoSetup" depends="exe" description="run Inno script">
<exec executable="C:\Program Files\Inno Setup 5\iscc.exe ">
<arg value="MgxInnosetup.iss"/>
</exec>
<copy file="MGXsetup.exe" todir="./bin"/>
</target>
Important points to note:
1) Make sure updated version of SvnAnt is used. Refer the site–
http://subclipse.tigris.org/svnant.html. For at present it is 1.1.0-Rc2
2) Svn task attribute - javahl should always be set to false.
3) Set the SvnAnt jar files into local java classpath to run commandline Ant. (Set
svnant.classpath to c:\????\svnant-1.1.0-Rc2\lib).
4) (One step) build.xml, build.properties, MgxInnosetup.iss, MGXLaunch4j.xml exists in
the
Open source control –Subversion. For reference it’s also provided below.
5) The one step build has been tested successfully and verified.
Shortcomings:
a) Updating website with the latest build version for all latest builds at present is
manual and not automated.
b) For SVN commit, the SvnAnt target requires that the previous file version to exist
in the SVN to upload a newer/changed version.
Script Files:
Following are the actual script files used in the development:
Onestepbuild
Brief Description: - The laucnh4j and InnoSetup should be put in
correct absolute location. The ant targets “exe” should have the
correct launch4j script file and “runInnoSetup” should have correct
Innosetup configuration file. These script files can be edited by the
Users to meet their setup.
The user can use the given configuration file or generate a new one using
Launch4j software. The jar file (MGX.jar) is to be converted to .exe file
(MGX.exe) is specified using <jar></jar> and <outfile></outfile>.
One can also specify whether jre to be bundled or not using <path></path>.
The required version info could be provided in <versionInfo></versionInfo>.
Similarly new Inno scripts can be created by using InnoSetup software. The .iss
scripts created using Inno Script Wizard used could be edited as per the user
to run according to one’s System Setup. See Documentation for getting more help
on creating/setting up Inno scripts.
build.xml -MGX
<project name="Molecular Genetics Explorer" default="run">
<!--modified - Jinny.S ,MGXTeam '07-'08-->
<!--modified - Sada , MGX Team '07-'08-->
<!-- svn,launch4j,build version Number,InnoSetup -->
<!--Prereq
install launch4j, Innosetup and Svnant
setup svnant.classpath = c:?????\svnant\????\lib
Add svn username and password in build.properties file -->
<path id="project.classpath">
<pathelement location="MGX.jar" />
</path>
<!-- all other properties are in build.properties -->
<property file="build.properties" />
<property name="launch4j.dir" location="C:\Program Files\launch4j" />
<taskdef name="launch4j"
classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" />
<! -- path to the svnant libraries. -->
<path id="svnant.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<!-- load the svn task -->
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
classpathref="svnant.classpath" />
<!-- Checking out the bin folder from the svn -->
<target name="svn-checkout" description="Checkout specified project from SVN to local file
system">
<svn javahl="false" username="${svnant.repository.user}"
password="${svnant.repository.passwd}">
<!--the absolute path to check out from SVN could be specified here or
using build.properties as <checkout url="${svnant.url}" destPath="${src_latest}" />-->
<checkout url="svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/MolGenExp/bin"
destPath="./bin" />
</svn>
</target>
<!-- Compile the source -->
<!--target name="compile" depends="svn-checkout" description="Compiles the code"-->
<target name="compile" description="Compiles the code">
<javac srcdir="src/" destdir="bin/"/>
</target>
<!-- Copy the Greenhouse folder into greenhouse folder
delete existing jar and exe files-->
<target name="copy" depends="compile">
<echo message="Copies all phenotype images"/>
<copy todir="Greenhouse">
<fileset dir="Greenhouse"/>
</copy>
<delete file="MGX.jar"/>
<delete file="MGX.exe"/>
<delete file="MGXsetup.exe"/>
<delete file="bin/MGX.jar"/>
<delete file="bin/MGX.exe"/>
<delete file="bin/MGXsetup.exe"/>
</target>
<!--Building jar file -->
<target name="jarfile" depends="copy" description="makes jar file">
<echo message="Build MGX.jar"/>
<jar destfile="bin/MGX.jar">
<manifest>
<attribute name="Main-Class" value="molGenExp.MolGenExp"/>
<attribute name="Implementation-Version"
value="${version.number}-b${build. number}"/>
</manifest>
<fileset dir="bin/"/>
</jar>
<copy file="bin/MGX.jar" todir="."/>
</target>
<!-- Creating EXE with launch4j tool -->
<target name="exe" depends="jarfile" description="Launch4j build">
<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" />
<launch4j configFile="MGXLaunch4j.xml" />
<copy file="MGX.exe" todir="./bin"/>
</target>
<!-- Creating windows setup exe file to install mgx.exe -->
<target name="runInnoSetup" depends="exe" description="run Inno script">
<exec executable="C:\Program Files\Inno Setup 5\iscc.exe ">
<arg value="MgxInnosetup.iss"/>
</exec>
<copy file="MGXsetup.exe" todir="./bin"/>
</target>
<!-- Committing the files into svn -->
<target name="svn-commit" depends= "runInnoSetup" description="Commit changes made from
local file system to SVN">
<svn username="${svnant.repository.user}" password="${svnant.repository.passwd}">
<commit dir="./bin" message="${svn_message}" />
</svn>
</target>
<!-- Running MGX.jar -->
<!--target name="run" depends="svn-commit" description="run MGX"-->
<target name="run" depends= "runInnoSetup" description="run MGX">
<echo message="run MGX.jar executable"/>
<java jar="MGX.jar" fork="true"/>
</target>
</project>
MGXLaunch4j.xml:<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>.\MGX.jar</jar>
<outfile>.\MGX.exe</outfile>
<errTitle></errTitle>
<cmdLine></cmdLine>
<chdir>.</chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<customProcName>false</customProcName>
<stayAlive>false</stayAlive>
<icon>.\icon.ico</icon>
<jre>
<path></path>
<minVersion>1.4.2</minVersion>
<maxVersion></maxVersion>
<dontUsePrivateJres>false</dontUsePrivateJres>
<initialHeapSize>16</initialHeapSize>
<maxHeapSize>256</maxHeapSize>
</jre>
<versionInfo>
<fileVersion>1.4.0.0</fileVersion>
<txtFileVersion>1.4.0.0</txtFileVersion>
<fileDescription>MGX</fileDescription>
<copyright>MGX Team 2007-2008</copyright>
<productVersion>1.4.0.0</productVersion>
<txtProductVersion>1.4.0.0</txtProductVersion>
<productName>Molecular Genetics Explorer</productName>
<companyName>University of Massachusetts - Boston</companyName>
<internalName>MGX</internalName>
<originalFilename>MGX.exe</originalFilename>
</versionInfo>
</launch4jConfig>
Species Editor –build.xml
<project name="SpeciesEditor" default="run">
<!--modified - Jinny.S ,MGXTeam '07-'08-->
<!--modified - Sada , MGX Team '07-'08-->
<!-- svn,launch4j,build version Number,InnoSetup -->
<!--Prereq
install launch4j, Innosetup and Svnant
setup svnant.classpath = c:?????\svnant\????\lib
Add svn username and password in build.properties file -->
<path id="project.classpath">
<pathelement location="SpeciesEditor.jar" />
</path>
<!-- all other properties are in build.properties -->
<property file="build.properties" />
<property name="launch4j.dir" location="C:\Program Files\launch4j" />
<taskdef name="launch4j"
classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" />
<! -- path to the svnant libraries. -->
<path id="svnant.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<!-- load the svn task -->
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
classpathref="svnant.classpath" />
<!-- Checking out the bin folder from the svn -->
<target name="svn-checkout" description="Checkout specified project from SVN to local file
system">
<svn javahl="false" username="${svnant.repository.user}"
password="${svnant.repository.passwd}">
<!--the absolute path to check out from SVN could be specified here or
using build.properties as <checkout url="${svnant.url}" destPath="${src_latest}" />-->
<checkout url="svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/SpeciesEditor/bin"
destPath="./bin" />
</svn>
</target>
<!-- Compile the source -->
<!--target name="compile" depends="svn-checkout" description="Compiles the code"-->
<target name="compile" description="Compiles the code">
<javac srcdir="src/" destdir="bin/"/>
</target>
<target name="copy" depends="compile">
<delete file="SpeciesEditor.jar"/>
<delete file="SpeciesEditor.exe"/>
<delete file="SpeciesEditorSetup.exe"/>
<delete file="bin/SpeciesEditor.jar"/>
<delete file="bin/SpeciesEditor.exe"/>
<delete file="bin/SpeciesEditorSetup.exe"/>
</target>
<!--Building jar file -->
<target name="jarfile" depends="copy" description="makes jar file">
<echo message="Build SpeciesEditor.jar"/>
<jar destfile="bin/SpeciesEditor.jar">
<manifest>
<attribute name="Main-Class" value="ui.SpeciesEditor"/>
</manifest>
<fileset dir="bin/"/>
</jar>
<copy file="bin/SpeciesEditor.jar" todir="."/>
</target>
<!-- Creating EXE with launch4j tool -->
<target name="exe" depends="jarfile" description="Launch4j build">
<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" />
<launch4j configFile="SpeciesEditorLaunch4j.xml" />
<copy file="SpeciesEditor.exe" todir="./bin"/>
</target>
<!-- Creating windows setup exe file to install SpeciesEditor.exe -->
<target name="runInnoSetup" depends="exe" description="run Inno script">
<exec executable="C:\Program Files\Inno Setup 5\iscc.exe ">
<arg value=" SpeciesEditor.iss"/>
</exec>
<copy file="SpeciesEditorSetup.exe" todir="./bin"/>
</target>
<!-- Committing the files into svn -->
<target name="svn-commit" depends= "runInnoSetup" description="Commit changes made from
local file system to SVN">
<svn username="${svnant.repository.user}" password="${svnant.repository.passwd}">
<commit dir="./bin" message="${svn_message}" />
</svn>
</target>
<!-- Running SpeciesEditor.jar -->
<!--target name="run" depends="svn-commit" description="run SE"-->
<target name="run" depends= "runInnoSetup" description="run Species Editor">
<echo message="run SpeciesEditor.jar executable"/>
<java jar="SpeciesEditor.jar" fork="true"/>
</target>
</project>
SpeciesEditorLaunch4j.xml
<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>.\SpeciesEditor.jar</jar>
<outfile>.\SpeciesEditor.exe</outfile>
<errTitle>JRE not found !</errTitle>
<cmdLine></cmdLine>
<chdir>.</chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<customProcName>false</customProcName>
<stayAlive>false</stayAlive>
<icon>.\se_logo.ico</icon>
<jre>
<path>.\java\jre\bin</path>
<minVersion>1.4.2</minVersion>
<maxVersion></maxVersion>
<dontUsePrivateJres>false</dontUsePrivateJres>
<initialHeapSize>16</initialHeapSize>
<maxHeapSize>256</maxHeapSize>
</jre>
<versionInfo>
<fileVersion>1.0.0.0</fileVersion>
<txtFileVersion>1.0.0.0</txtFileVersion>
<fileDescription>Species Editor</fileDescription>
<copyright>MGX Team 2007-2008</copyright>
<productVersion>1.0.0.0</productVersion>
<txtProductVersion>1.0.0.0</txtProductVersion>
<productName>Species Editor</productName>
<companyName>University of Massachusetts - Boston</companyName>
<internalName>Species Editor</internalName>
<originalFilename>SpeciesEditor.exe</originalFilename>
</versionInfo>
</launch4jConfig>
Protex – build.xml
<project name="Protex" default="run">
<!--modified - Jinny.S ,MGXTeam '07-'08-->
<!--modified - Sada , MGX Team '07-'08-->
<!-- svn,launch4j,build version Number,InnoSetup -->
<!--Prereq
install launch4j, Innosetup and Svnant
setup svnant.classpath = c:?????\svnant\????\lib
Add svn username and password in build.properties file -->
<path id="project.classpath">
<pathelement location="Protex.jar" />
</path>
<!-- all other properties are in build.properties -->
<property file="build.properties" />
<property name="launch4j.dir" location="C:\Program Files\launch4j" />
<taskdef name="launch4j"
classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" />
<! -- path to the svnant libraries. -->
<path id="svnant.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<!-- load the svn task -->
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
classpathref="svnant.classpath" />
<!-- Checking out the bin folder from the svn -->
<target name="svn-checkout" description="Checkout specified project from SVN to local file
system">
<svn javahl="false" username="${svnant.repository.user}"
password="${svnant.repository.passwd}">
<!--the absolute path to check out from SVN could be specified here or
using build.properties as <checkout url="${svnant.url}" destPath="${src_latest}" />-->
<checkout url="svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/NewProtex/bin"
destPath="./bin" />
</svn>
</target>
<!-- Compile the source -->
<!--target name="compile" depends="svn-checkout" description="Compiles the code"-->
<target name="compile" description="Compiles the code">
<javac srcdir="src/" destdir="bin/"/>
</target>
<target name="copy" depends="compile">
<delete file="Protex.jar"/>
<delete file="Protex.exe"/>
<delete file="ProtexSetup.exe"/>
<delete file="bin/Protex.jar"/>
<delete file="bin/Protex.exe"/>
<delete file="bin/ProtexSetup.exe"/>
</target>
<!--Building jar file -->
<target name="jarfile" depends="copy" description="makes jar file">
<echo message="Build Protex.jar"/>
<jar destfile="bin/Protex.jar">
<manifest>
<attribute name="Main-Class" value="protex.Protex"/>
</manifest>
<fileset dir="bin/"/>
</jar>
<copy file="bin/Protex.jar" todir="."/>
</target>
<!-- Creating EXE with launch4j tool -->
<target name="exe" depends="jarfile" description="Launch4j build">
<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask"
classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" />
<launch4j configFile="ProtexLaunch4j.xml" />
<copy file="Protex.exe" todir="./bin"/>
</target>
<!-- Creating windows setup exe file to install Protex.exe -->
<target name="runInnoSetup" depends="exe" description="run Inno script">
<exec executable="C:\Program Files\Inno Setup 5\iscc.exe ">
<arg value="Protex.iss"/>
</exec>
<copy file="ProtexSetup.exe" todir="./bin"/>
</target>
<!-- Committing the files into svn -->
<target name="svn-commit" depends= "runInnoSetup" description="Commit changes made from
local file system to SVN">
<svn username="${svnant.repository.user}" password="${svnant.repository.passwd}">
<commit dir="./bin" message="${svn_message}" />
</svn>
</target>
<!-- Running Protex.jar -->
<!--target name="run" depends="svn-commit" description="run Protex"-->
<target name="run" depends= "runInnoSetup" description="run Protex">
<echo message="run Protex.jar executable"/>
<java jar="Protex.jar" fork="true"/>
</target>
</project>
ProtexLaunch4j.xml
<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>.\Protex.jar</jar>
<outfile>.\Protex.exe</outfile>
<errTitle>JRE not found !</errTitle>
<cmdLine></cmdLine>
<chdir>.</chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<customProcName>false</customProcName>
<stayAlive>false</stayAlive>
<icon>.\icon.ico</icon>
<jre>
<path>.\java\jre\bin</path>
<minVersion>1.4.2</minVersion>
<maxVersion></maxVersion>
<dontUsePrivateJres>false</dontUsePrivateJres>
<initialHeapSize>16</initialHeapSize>
<maxHeapSize>256</maxHeapSize>
</jre>
<versionInfo>
<fileVersion>3.0.2.0</fileVersion>
<txtFileVersion>3.0.2.0</txtFileVersion>
<fileDescription>Protein Investigator</fileDescription>
<copyright>MGX Team 2007-2008</copyright>
<productVersion>3.0.2.0</productVersion>
<txtProductVersion>3.0.2.0</txtProductVersion>
<productName>Species Editor</productName>
<companyName>University of Massachusetts - Boston</companyName>
<internalName>Protein Investigator</internalName>
<originalFilename>Protex.exe</originalFilename>
</versionInfo>
</launch4jConfig>
Build.properties -MGX
#
#
#
#
#
#
#
#
---------------------------------------------------------------------@ author Jinny S '07-'08-MGX Team
build.properties
The svnant version used here is 1.1.0-RC2
The required libraries for "svnant" task is in "lib" folder.
This properties file could be modified as per users' requirements in checking out,
updating and committing changes to Subversion files.
----------------------------------------------------------------------
lib.dir=lib
#SVN url
svnant.base.url=svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/MolGenExp/bin
#Here, Specify the folder which you want to check out from SVN.
svnant.url=${svnant.base.url}
#Specify the folder in local, to which files are to be copied from SVN.
#src_latest=c:/cs682/bin
#Specify the folder which is to be uploaded to SVN.
#svnant.commitDir=C:/cs682/bin
svn_message= ${svnant.repository.user}
#Specify your own SVN username and password below.
svnant.repository.user= usernm
svnant.repository.passwd=paswd
-----------------------------------------------------------------------#Build Version
-----------------------------------------------------------------------# version number for the latest jar.
version.number = 2.1
build.properties – species editor
#
#
#
#
---------------------------------------------------------------------@ author Jinny S '07-'08-MGX Team
build.properties
The svnant version used here is 1.1.0-RC2
#
#
#
#
The required libraries for "svnant" task is in "lib" folder.
This properties file could be modified as per users' requirements in checking out,
updating and committing changes to Subversion files.
----------------------------------------------------------------------
lib.dir=lib
#SVN url
svnant.base.url=svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/SpeciesEditor/bin
#Here, Specify the folder which you want to check out from SVN.
svnant.url=${svnant.base.url}
#Specify the folder in local, to which files are to be copied from SVN.
#src_latest=c:/cs682/bin
#Specify the folder which is to be uploaded to SVN.
#svnant.commitDir=C:/cs682/bin
svn_message= ${svnant.repository.user}
#Specify your own SVN username and password below.
svnant.repository.user= usernm
svnant.repository.passwd=paswd
Build.properties - Protex
#
#
#
#
#
#
#
#
---------------------------------------------------------------------@ author Jinny S '07-'08-MGX Team
build.properties
The svnant version used here is 1.1.0-RC2
The required libraries for "svnant" task is in "lib" folder.
This properties file could be modified as per users' requirements in checking out,
updating and committing changes to Subversion files.
----------------------------------------------------------------------
lib.dir=lib
#SVN url
svnant.base.url=svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/NewProtex/bin
#Here, Specify the folder which you want to check out from SVN.
svnant.url=${svnant.base.url}
#Specify the folder in local, to which files are to be copied from SVN.
#src_latest=c:/cs682/bin
#Specify the folder which is to be uploaded to SVN.
#svnant.commitDir=C:/cs682/bin
svn_message= ${svnant.repository.user}
#Specify your own SVN username and password below.
svnant.repository.user= usernm
svnant.repository.passwd=paswd
Single Downloadable InnoSetup script file MGX.iss
#define MyAppName1 "MGX"
#define MyAppName2 "Species Editor"
#define MyAppName3 "Protein Investigator"
#define MyAppVerName "MGX ( ie. MGX 1.4.0, Species Editor 1.0 & Protein
Investigator 3.0.2 )"
#define MyAppPublisher "University of Massachusetts Boston"
#define MyAppURL "http://www.cs.umb.edu"
#define MyAppExeName1 "MGX.exe"
#define MyAppExeName2 "SpeciesEditor.exe"
#define MyAppExeName3 "Protex.exe"
[Setup]
PrivilegesRequired=none
AppName={#MyAppName1}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName1}
DefaultGroupName={#MyAppName1}
LicenseFile=C:\Documents and Settings\Administrator\My Documents\MGX20072008.rtf
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription:
"{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}";
GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
;Default Protein Investigator files.
Source: "C:\Documents and Settings\Administrator\My
Documents\TreeSpecies.histlist"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Documents and Settings\Administrator\My
Documents\species1.histlist"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Documents and Settings\Administrator\My
Documents\species2.histlist"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Documents and Settings\Administrator\My
Documents\species3.histlist"; DestDir: "{app}"; Flags: ignoreversion
;PI files
Source: "C:\NewProtex\Protex.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\NewProtex\protex.jpg"; DestDir: "{app}"; Flags: ignoreversion
;MGX files
Source: "C:\MGX\MolGenExp\MGX.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\MGX\MolGenExp\Greenhouse\*"; DestDir: "{app}\Greenhouse"; Flags:
ignoreversion recursesubdirs createallsubdirs
Source: "C:\MGX\MolGenExp\mgx_logo.gif"; DestDir: "{app}"; Flags: ignoreversion
;Species Editor files
Source: "C:\SpeciesEditor\SpeciesEditor.exe"; DestDir: "{app}"; Flags:
ignoreversion
Source: "C:\SpeciesEditor\Species\*"; DestDir: "{app}\Species"; Flags:
ignoreversion recursesubdirs createallsubdirs
Source: "C:\SpeciesEditor\se_logo.gif"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
;MGX
Name: "{group}\{#MyAppName1}"; Filename: "{app}\{#MyAppExeName1}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName1}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName1}"; Filename: "{app}\{#MyAppExeName1}";
Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName1}";
Filename: "{app}\{#MyAppExeName1}"; Tasks: quicklaunchicon
;Species Editor
Name: "{group}\{#MyAppName2}"; Filename: "{app}\{#MyAppExeName2}"
Name: "{commondesktop}\{#MyAppName2}"; Filename: "{app}\{#MyAppExeName2}";
Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName2}";
Filename: "{app}\{#MyAppExeName2}"; Tasks: quicklaunchicon
;Protein Investigator
Name: "{group}\{#MyAppName3}"; Filename: "{app}\{#MyAppExeName3}"
Name: "{commondesktop}\{#MyAppName3}"; Filename: "{app}\{#MyAppExeName3}";
Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName3}";
Filename: "{app}\{#MyAppExeName3}"; Tasks: quicklaunchicon
[Run]
;MGX
Filename: "{app}\{#MyAppExeName1}"; Description:
"{cm:LaunchProgram,{#MyAppName1}}"; Flags: nowait postinstall skipifsilent
;Species Editor
Filename: "{app}\{#MyAppExeName2}"; Description:
"{cm:LaunchProgram,{#MyAppName2}}"; Flags: nowait postinstall skipifsilent
;Protein Investigator
Filename: "{app}\{#MyAppExeName3}"; Description:
"{cm:LaunchProgram,{#MyAppName3}}"; Flags: nowait postinstall skipifsilent
Download