Annotation of needlesearch/build.xml, revision 1.22

1.10      eelco       1: <project name="NeedleSearch Toolbar" default="make-xpi" basedir=".">
1.1       eelco       2: 
1.13      eelco       3:       <property file="build.properties"/>
1.1       eelco       4:       
                      5:       <property name="app.name" value="NeedleSearch"/>
                      6: 
                      7:   <!-- Actions -->
                      8: 
                      9:     <!-- Label the build -->
                     10:       <target name="label-build" description="Label the build">
                     11: 
                     12:         <propertyfile
                     13:             file="build-info.${user.name}.properties"
                     14:             comment="Build information" >
                     15:           <entry  key="developer" value="${user.name}" />
                     16:           <entry  key="date" type="date" value="now"/>
                     17:           <entry  key="build-nr" type="int" default="0" operation="+"/>
                     18:         </propertyfile>
                     19: 
                     20:         <propertyfile
                     21:             file="developer.properties"
                     22:             comment="Build information" >
                     23:           <entry  key="developer" value="${user.name}" />
                     24:         </propertyfile>
                     25: 
                     26:         <loadfile property="build-info-string" srcFile="build-info.${user.name}.properties">
                     27:           <filterchain>
                     28:             <striplinebreaks/>
                     29:           </filterchain>
                     30:         </loadfile>
                     31: 
                     32:         <!-- add to the build history -->
                     33:         <concat append="yes" destfile="build-history.${user.name}.txt" >${build-info-string}</concat>
                     34: 
                     35:       </target>
                     36: 
                     37: 
1.21      eelco      38:     <target name="deploy-to-live" description="Deploy to live environment Mozilla ${deploy.location}" depends="jar">
                     39:         
                     40:         <echo message="Copy files from src tree to Mozilla ${deploy.location}"/>
                     41:         <copy todir="${deploy.location}">
                     42:             <fileset dir="${src.dir}/chrome/.">
                     43:               <include name="needlesearch.jar"/>
                     44:               <include name="NeedleSearchBookmarks.rdf"/>
                     45:             </fileset>      
1.1       eelco      46:         </copy>
1.21      eelco      47:         
                     48:       </target>
                     49:     
                     50:     <target name="create-install-all.js" description="Creating install.js">
                     51:         
                     52:         <delete file="${src.dir}/install.js"/>
                     53:         <copy file="${src.dir}/install-all.js" tofile="${src.dir}/install.js"/>
                     54:         <replace file="${src.dir}/install.js" token="@@version-number@@" value="&quot;${app.version}&quot;"/>
                     55:         <replace file="${src.dir}/install.js" token="@@entries@@">
                     56:         <replacevalue>          
                     57:             registerChrome(CONTENT | DELAYED_CHROME, getFolder(findDir, "content"));
                     58:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/en-US/needlesearch"));
                     59:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/de-AT/needlesearch"));
                     60:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/es-AR/needlesearch"));
                     61:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/fr/needlesearch"));
                     62:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/fi/needlesearch"));
                     63:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/nl/needlesearch"));
                     64:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/da/needlesearch"));
                     65:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/cy-GB/needlesearch"));
                     66:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/it/needlesearch"));
                     67:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/ru/needlesearch"));
                     68:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/zh-CN/needlesearch"));
                     69:             registerChrome(LOCALE | DELAYED_CHROME, getFolder(findDir, "locale/se/needlesearch"));
                     70:         </replacevalue>
                     71:         </replace>
                     72:         
                     73:         <replace file="${src.dir}/install.js" token="//@@profileentries@@">
                     74:         <replacevalue>          
                     75:             //Now install the profile folder
                     76:             setPackageFolder(findDir);
                     77:             var err = addDirectory("needlesearch");
                     78:                 if ( err == SUCCESS ) { 
                     79:                     registerChrome(CONTENT | PROFILE_CHROME, getFolder(findDir, &quot;profile&quot;));
                     80:                     err = performInstall();
                     81:                     if ( err != SUCCESS ) {
                     82:                         alert("performInstall() bailed");
                     83:                     }
                     84:                 } else { 
                     85:                     alert("Creating the profile directory: needlesearch failed. Are you logged in as root?\nLinux/Unix user: make sure that all files in the directory chrome/needlesearch/ have write permissions");
                     86:                 }
                     87:         </replacevalue>
                     88:         </replace>
                     89:         
                     90:         <replace file="${src.dir}/install.js" token="@@message@@" value="NeedleSearch Toolbar"/>
1.2       eelco      91:     </target>
                     92:     
1.21      eelco      93:     <target name="version" description="Replacing all version numbers">
                     94:         <replace file="${src.dir}/install.rdf" token="@@version-number@@" value="${app.version}"/>
                     95:         <replace file="${src.dir}/needlesearch/content/needlesearch/settings.xul" token="@@version-number@@" value="${app.version}"/>
                     96:         <replace file="${src.dir}/needlesearch/content/needlesearch/settingsDialog.xul" token="@@version-number@@" value="${app.version}"/>
                     97:         <replace file="${src.dir}/needlesearch/content/needlesearch/settingsOverlay.xul" token="@@version-number@@" value="${app.version}"/>
1.1       eelco      98:         
1.21      eelco      99:     </target>
                    100:     
                    101:     <target name="deversion" description="Replacing all version numbers for replacevalue">
                    102:         <replace file="${src.dir}/install.rdf" value="@@version-number@@" token="${app.version}"/>
                    103:         <replace file="${src.dir}/needlesearch/content/needlesearch/settings.xul" token="${app.version}" value="@@version-number@@"/>
                    104:         <replace file="${src.dir}/needlesearch/content/needlesearch/settingsDialog.xul" token="${app.version}" value="@@version-number@@"/>
                    105:         <replace file="${src.dir}/needlesearch/content/needlesearch/settingsOverlay.xul" token="${app.version}" value="@@version-number@@"/>
1.1       eelco     106:         
1.21      eelco     107:     </target>
                    108:     
1.22    ! eelco     109:        <target name="create-dirs" description="Creating chrome dir">
1.21      eelco     110:                <mkdir dir="./src/chrome"/>
1.22    ! eelco     111:                <mkdir dir="./bin"/>
1.8       eelco     112:        </target>
1.21      eelco     113:     
1.22    ! eelco     114:     <target name="jar" description="Make jar file" depends="create-dirs">
1.21      eelco     115:                <jar destfile="src/chrome/needlesearch.jar">
                    116:                        <fileset dir="./src/needlesearch">
                    117:                                          <include name="**/*.js"/>
                    118:                                          <include name="**/*.xul"/>
                    119:                                          <include name="**/*.dtd"/>
                    120:                                          <include name="**/*.rdf"/>
                    121:                                          <include name="**/*.properties"/>
                    122:                                          <include name="**/*.gif"/>
                    123:                                          <include name="**/*.png"/>
                    124:                                          <include name="**/*.css"/>                                      
                    125:                </fileset>              
                    126:         </jar>
1.15      eelco     127:        </target>
1.21      eelco     128:     
                    129:     <target name="make-target" description="Make XPI for version ${app.version}">
1.2       eelco     130:         <property file="build-info.${user.name}.properties"/>
                    131:         
1.21      eelco     132:         <!--echo message="copy install.js"/>
                    133:         <copy file="src/install-all.js" tofile="src/install.js"/-->
1.7       eelco     134: 
1.13      eelco     135:         <echo message="Packaging webapp ${app.name}-${app.version}-(${build-nr}).xpi"/>
                    136:         <zip destfile="bin/${app.name}-${app.version}-(${build-nr}).xpi">
1.21      eelco     137:                        <fileset dir="./src">
                    138:                                          <include name="install.*"/>
                    139:                                          <include name="chrome/needlesearch.jar"/>
                    140:                                          <include name="chrome/NeedleSearchBookmarks.rdf"/>
                    141:                                          
                    142:                                          <!--exclude name="needlesearch/locale/zh-CN/**/*.*"/-->
1.12      eelco     143:                                          <!--exclude name="needlesearch/locale/cy-GB/**/*.*"/-->
                    144:                                          <!--exclude name="needlesearch/locale/it/**/*.*"/-->
1.5       eelco     145:                </fileset>              
                    146:         </zip>
1.7       eelco     147: 
                    148:         <echo message="Cleaning up..."/>
1.18      eelco     149:         <!--delete file="${src.dir}/install.js"/-->
1.7       eelco     150: 
1.15      eelco     151:     </target>
1.21      eelco     152:     
                    153:     
1.15      eelco     154:     <target name="make-xpi" 
1.21      eelco     155:             description="Make XPI for version ${app.version}" 
                    156:             depends="label-build,version,jar,make-target,deversion"/>
1.5       eelco     157: 
1.3       eelco     158:     <target name="make-deinstaller" description="Make deinstaller for the toolbar">
                    159:         <property file="build-info.${user.name}.properties"/>
                    160:         
                    161:         <echo message="Packaging webapp deinstall-${app.name}.xpi"/>
1.13      eelco     162:         <jar destfile="bin/deinstall-${app.name}.xpi">
1.21      eelco     163:             <fileset dir="./deinstall-src">
                    164:                       <exclude name="needlesearch/**/NeedleSearchData.rdf"/>
                    165:                       <include name="install.js"/>
                    166:                       <include name="needlesearch/**/*.js"/>
                    167:                       <include name="needlesearch/**/*.xul"/>
                    168:                       <include name="needlesearch/**/*.dtd"/>
                    169:                       <include name="needlesearch/**/*.rdf"/>
                    170:                       <include name="needlesearch/**/*.properties"/>
                    171:                       <include name="needlesearch/**/*.gif"/>
                    172:                       <!--include name="needlesearch/**/*.png"/-->
                    173:             </fileset>      
1.2       eelco     174:         </jar>
1.4       eelco     175:       </target>
                    176: 
1.15      eelco     177:     <target name="make-iconpacks" description="Make iconpacks">
1.4       eelco     178:         
1.15      eelco     179:         <echo message="Packaging default iconpack"/>
                    180:         <delete file="./icon/install.js"/>
1.21      eelco     181:         <copy file="./icon/install-icons.js" tofile="./icon/install.js"/>
                    182:         <replace file="./icon/install.js" token="@@dirname@@" value="default"/>
1.15      eelco     183:         <zip destfile="bin/ns-icons-default.xpi">
1.21      eelco     184:             <fileset dir="./icon">
                    185:                       <include name="default/*.gif"/>
                    186:                       <include name="install.js"/>
                    187:             </fileset>      
1.15      eelco     188:         </zip>
                    189: 
                    190:         <echo message="Packaging modern iconpack"/>
                    191:         <delete file="./icon/install.js"/>
1.21      eelco     192:         <copy file="./icon/install-icons.js" tofile="./icon/install.js"/>
                    193:         <replace file="./icon/install.js" token="@@dirname@@" value="modern"/>
1.15      eelco     194:         <zip destfile="bin/ns-icons-modern.xpi">
1.21      eelco     195:             <fileset dir="./icon">
                    196:                       <include name="modern/*.gif"/>
                    197:                       <include name="install.js"/>
                    198:             </fileset>      
1.4       eelco     199:         </zip>
1.15      eelco     200:         
1.21      eelco     201:         <echo message="Packaging monochrome iconpack"/>
1.15      eelco     202:         <delete file="./icon/install.js"/>
1.21      eelco     203:         <copy file="./icon/install-icons.js" tofile="./icon/install.js"/>
                    204:         <replace file="./icon/install.js" token="@@dirname@@" value="monochrome"/>
                    205:         <zip destfile="bin/ns-icons-monochrome.xpi">
                    206:             <fileset dir="./icon">
                    207:                       <include name="monochrome/*.gif"/>
                    208:                       <include name="install.js"/>
                    209:             </fileset>      
1.17      eelco     210:         </zip>
1.15      eelco     211:         
1.1       eelco     212:       </target>
1.17      eelco     213:       
1.1       eelco     214: </project>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>