Annotation of blocky/src/build.xml, revision 1.1

1.1     ! henrik      1: <?xml version="1.0"?>
        !             2: 
        !             3: <project default="all">
        !             4:        <taskdef resource="net/sf/antcontrib/antlib.xml" />
        !             5:        <taskdef name="fmpp" classname="fmpp.tools.AntTask" />
        !             6:        <taskdef name="fileinfo" className="org.digitalsoul.ant.FileInfo"/>
        !             7: 
        !             8:        <target depends="build" name="all" />
        !             9: 
        !            10:        <property file="build.properties" />
        !            11:        <property file="build.apps.properties" />
        !            12:        <property name="xpifilename" value="${project}" />
        !            13:        <property name="xpifilename.localized" value="${project}-localized" />
        !            14: 
        !            15:        <tstamp>
        !            16:                <format property="buildversion" pattern="yyyyMMddkkmm" locale="en" />
        !            17:                <format property="year" pattern="yyyy" locale="en" />
        !            18:        </tstamp>
        !            19: 
        !            20:        <target name="-init">
        !            21:                <propertyregex property="versionstrip" input="${version}" regexp="\." replace="" />
        !            22:                <filterset id="common.filters">
        !            23:                        <filtersfile file="build.properties" />
        !            24:                        <filtersfile file="build.apps.properties" />
        !            25:                        <filter token="version" value="${version}" />
        !            26:                        <filter token="versionstrip" value="${versionstrip}" />
        !            27:                </filterset>
        !            28:        </target>
        !            29: 
        !            30:        <target name="-zipxpi">
        !            31:                <zip destfile="${xpifile}.xpi" includes="chrome/**/*, defaults/**/*, searchplugins/**/*" basedir=".">
        !            32:                        <zipfileset file="license.txt" />
        !            33:                        <zipfileset file="chrome.manifest" />
        !            34:                        <zipfileset file="install.js" />
        !            35:                        <zipfileset file="install.rdf" />
        !            36:                </zip>
        !            37:                <delete dir="chrome" failonerror="false" />
        !            38:                <delete file="license.txt" />
        !            39:                <delete file="chrome.manifest" />
        !            40:                <delete file="install.js" />
        !            41:                <delete file="install.rdf" />
        !            42:                <echo level="info" message="${xpifile}.xpi is ready to install" />
        !            43:        </target>
        !            44: 
        !            45:        <target name="-copydir">
        !            46:                <echo level="info" message="Copying from ${param1}/${param2} to chrome/${param1}/${param2}" />
        !            47:                <fmpp sourceRoot="${param1}/${param2}" outputRoot="chrome/${param1}/${param2}" data="antProperties(), proj:antProject(), task:antTask()">
        !            48:                        <exclude name="**/*.bak" />
        !            49:                </fmpp>
        !            50:        </target>
        !            51: 
        !            52:        <target name="-clean">
        !            53:                <echo level="info" message="Cleaing up" />
        !            54:                <delete dir="chrome" failonerror="false" />
        !            55:                <delete file="chrome.manifest" />
        !            56:                <delete file="install.js" />
        !            57:                <delete file="install.rdf" />
        !            58:                <delete file="${xpifile}.xpi" />
        !            59:                <delete file="${xpifile}.jar" />
        !            60:        </target>
        !            61: 
        !            62:        <target name="clean">
        !            63:                <echo level="info" message="Cleaing up" />
        !            64:                <delete dir="chrome" failonerror="false" />
        !            65:                <delete file="${xpifilename}.xpi" />
        !            66:                <delete file="${xpifilename.localized}.xpi" />
        !            67:        </target>
        !            68: 
        !            69:        <target name="-zipjar">
        !            70:                <zip destfile="chrome/${project}.jar">
        !            71:                        <zipfileset dir="chrome" />
        !            72:                </zip>
        !            73:                <delete dir="chrome/content" />
        !            74:                <delete dir="chrome/locale" />
        !            75:                <delete dir="chrome/skin" />
        !            76:        </target>
        !            77: 
        !            78:        <target name="-buildinstall">
        !            79:                <fileinfo path="chrome/${project}.jar" rootProperty="jar" param="size" />
        !            80:                <var name="jarsize" value="${jar.size}" />
        !            81:                <fileinfo path="defaults/preferences/${project}.js" rootProperty="js" param="size" />
        !            82:                <var name="jssize" value="${js.size}" />
        !            83:                <for list="${localfiles}" param="local" trim="true">
        !            84:                        <sequential>
        !            85:                                <echo>Copying @{local}.in to @{local}</echo>
        !            86:                                <fmpp sourceFile="@{local}.in" outputFile="@{local}" data="antProperties(), proj:antProject(), task:antTask()" />
        !            87:                        </sequential>
        !            88:                </for>
        !            89:        </target>
        !            90: 
        !            91:        <target name="-buildupdate">
        !            92:                <exec executable="shash" outputproperty="sha256temp" failifexecutionfails="false">
        !            93:                        <arg line="--algorithm sha256 --binary"/>
        !            94:                        <arg file="${xpifilename}.xpi" />
        !            95:                </exec>
        !            96:                <propertyregex property="sha256" input="${sha256temp}" regexp="[\n|\r]\\?(.*?)\s.*" select="\1" />
        !            97:                <echo>Copying ${updatefile}.in to ${updatefiledir}${updatefile}</echo>
        !            98:                <fmpp sourceFile="${updatefile}.in" outputFile="${updatefiledir}${updatefile}" data="antProperties(), proj:antProject(), task:antTask()" />
        !            99:        </target>
        !           100: 
        !           101:        <target name="-build">
        !           102:                <antcall target="-clean" />
        !           103:                <antcall target="-copydir">
        !           104:                        <param name="param1" value="content" />
        !           105:                        <param name="param2" value="" />
        !           106:                </antcall>
        !           107:                <if>
        !           108:                        <and>
        !           109:                                <isset property="locales" />
        !           110:                                <not>
        !           111:                                        <equals arg1="${locales}" arg2="" />
        !           112:                                </not>
        !           113:                        </and>
        !           114:                        <then>
        !           115:                                <for list="${locales}" param="locale" trim="true">
        !           116:                                        <sequential>
        !           117:                                                <antcall target="-copydir">
        !           118:                                                        <param name="param1" value="locale" />
        !           119:                                                        <param name="param2" value="@{locale}" />
        !           120:                                                </antcall>
        !           121:                                        </sequential>
        !           122:                                </for>
        !           123:                        </then>
        !           124:                </if>
        !           125:                <if>
        !           126:                        <and>
        !           127:                                <isset property="skins" />
        !           128:                                <not>
        !           129:                                        <equals arg1="${skins}" arg2="" />
        !           130:                                </not>
        !           131:                        </and>
        !           132:                        <then>
        !           133:                                <antcall target="-copydir">
        !           134:                                        <param name="param1" value="skin" />
        !           135:                                        <param name="param2" value="" />
        !           136:                                </antcall>
        !           137:                        </then>
        !           138:                </if>
        !           139:                <antcall target="-zipjar" />
        !           140:                <antcall target="-buildinstall" />
        !           141:                <antcall target="-zipxpi" />
        !           142:                <if>
        !           143:                        <and>
        !           144:                                <isset property="dist" />
        !           145:                                <isset property="updatefile" />
        !           146:                                <not>
        !           147:                                        <equals arg1="${updatefile}" arg2="" />
        !           148:                                </not>
        !           149:                        </and>
        !           150:                        <then>
        !           151:                                <antcall target="-buildupdate" />
        !           152:                        </then>
        !           153:                </if>
        !           154:        </target>
        !           155: 
        !           156:        <target depends="-init" name="build" description="Build the extension">
        !           157:                <if>
        !           158:                        <not>
        !           159:                                <isset property="dist" />
        !           160:                        </not>
        !           161:                        <then>
        !           162:                                <var name="version" value="${version}.${buildversion}" />
        !           163:                        </then>
        !           164:                </if>
        !           165:                <echo>Using version: ${version}</echo>
        !           166:                <property name="xpifile" value="${xpifilename}" />
        !           167:                <echo>Using XPI file: ${xpifile}.xpi</echo>
        !           168:                <property name="xpilocale" value="${localesdefault}" />
        !           169:                <echo>Using locales: ${locales}</echo>
        !           170:                <antcall target="-build" />
        !           171:        </target>
        !           172: 
        !           173:        <target depends="-init" name="build-localized" description="Build the extension - localized">
        !           174:                <if>
        !           175:                        <not>
        !           176:                                <isset property="dist" />
        !           177:                        </not>
        !           178:                        <then>
        !           179:                                <var name="version" value="${version}.${buildversion}" />
        !           180:                        </then>
        !           181:                </if>
        !           182:                <echo>Using version: ${version}</echo>
        !           183:                <property name="xpifile" value="${xpifilename.localized}" />
        !           184:                <echo>Using XPI file: ${xpifile}.xpi</echo>
        !           185:                <var name="locales" value="${locales-localized}" />
        !           186:                <echo>Using locales: ${locales}</echo>
        !           187:                <antcall target="-build" />
        !           188:        </target>
        !           189: 
        !           190:        <target name="-testxpi">
        !           191:                <echo level="info" message="Testing" />
        !           192:                <exec executable="unzip">
        !           193:                        <arg value="-t" />
        !           194:                        <arg file="${xpifile}.xpi" />
        !           195:                </exec>
        !           196:                <unzip src="${xpifile}.xpi" dest="chrome">
        !           197:                        <patternset>
        !           198:                                <include name="**/${xpifilename}.jar" />
        !           199:                        </patternset>
        !           200:                </unzip>
        !           201:                <exec executable="unzip">
        !           202:                        <arg value="-t" />
        !           203:                        <arg file="chrome/chrome/${xpifilename}.jar" />
        !           204:                </exec>
        !           205:                <delete dir="chrome" failonerror="false" />
        !           206:        </target>
        !           207: 
        !           208:        <target depends="-init,build" name="test" description="Test the extension">
        !           209:                <antcall target="-testxpi" />
        !           210:                <for list="${locales}" param="locale" trim="true">
        !           211:                        <sequential>
        !           212:                                <echo>Comparing @{locale}</echo>
        !           213:                                <exec executable="perl">
        !           214:                                        <arg file="scripts/compare-locales.pl" />
        !           215:                                        <arg value="locale/en-US" />
        !           216:                                        <arg value="locale/@{locale}" />
        !           217:                                </exec>
        !           218:                        </sequential>
        !           219:                </for>
        !           220:        </target>
        !           221: 
        !           222:        <target depends="-init,build-localized" name="test-localized" description="Test the extension - localized">
        !           223:                <antcall target="-testxpi" />
        !           224:        </target>
        !           225: 
        !           226:        <target name="-dist">
        !           227:                <echo level="info" message="Making distribution" />
        !           228:                <copy file="${xpifile}.xpi" todir="${downloaddir}" />
        !           229:                <copy file="${xpifile}.xpi" tofile="${downloaddir}/${xpifile}-${versionstrip}.xpi" />
        !           230:                <echo level="info" message="${xpifile}.xpi and ${xpifile}-${versionstrip}.xpi are ready in ${downloaddir}" />
        !           231:        </target>
        !           232: 
        !           233:        <target depends="-init" name="dist" description="Distribute the extension">
        !           234:                <var name="dist" value="1" />
        !           235:                <property name="xpifile" value="${xpifilename}" />
        !           236:                <antcall target="build" />
        !           237:                <antcall target="-dist" />
        !           238:        </target>
        !           239: 
        !           240:        <target depends="-init" name="dist-localized" description="Distribute the extension - localized">
        !           241:                <var name="dist" value="1" />
        !           242:                <property name="xpifile" value="${xpifilename.localized}" />
        !           243:                <antcall target="build-localized" />
        !           244:                <antcall target="-dist" />
        !           245:        </target>
        !           246: 
        !           247:        <target depends="-init,build" name="install" description="Install the extension">
        !           248:                <antcall target="-install" />
        !           249:        </target>
        !           250: 
        !           251:        <target depends="-init" name="installonly" description="Install the extension">
        !           252:                <antcall target="-install" />
        !           253:        </target>
        !           254: 
        !           255:        <target name="-install" description="Install the extension">
        !           256:                <echo level="info" message="Installing" />
        !           257:                <if>
        !           258:                        <not>
        !           259:                                <isset property="xpifile" />
        !           260:                        </not>
        !           261:                        <then>
        !           262:                                <property name="xpifile" value="${project}" />
        !           263:                        </then>
        !           264:                </if>
        !           265:                <for list="${installdirs}" param="installdir" trim="true">
        !           266:                        <sequential>
        !           267:                                <available type="dir" file="@{installdir}" property="test" />
        !           268:                                <if>
        !           269:                                        <equals arg1="${test}" arg2="true" />
        !           270:                                        <then>
        !           271:                                                <var name="test" value="" unset="true" />
        !           272:                                                <available file="@{installdir}\extensions\${id}\chrome\${xpifile}.jar" property="test" />
        !           273:                                                <if>
        !           274:                                                        <equals arg1="${test}" arg2="true" />
        !           275:                                                        <then>
        !           276:                                                                <delete dir="@{installdir}\extensions\${id}" failonerror="false" />
        !           277:                                                                <var name="test" value="" unset="true" />
        !           278:                                                                <available file="@{installdir}\extensions\${id}\chrome\${xpifile}.jar" property="test" />
        !           279:                                                                <if>
        !           280:                                                                        <equals arg1="${test}" arg2="true" />
        !           281:                                                                        <then>
        !           282:                                                                                <input>Exit your client and press Enter to continue...</input>
        !           283:                                                                                <delete dir="@{installdir}\extensions\${id}" />
        !           284:                                                                        </then>
        !           285:                                                                </if>
        !           286:                                                                <unzip src="${xpifile}.xpi" dest="@{installdir}\extensions\${id}" />
        !           287:                                                                <echo>${name} will be updated on next start</echo>
        !           288:                                                        </then>
        !           289:                                                        <else>
        !           290:                                                                <copy file="${xpifile}.xpi" todir="@{installdir}\extensions" />
        !           291:                                                                <echo>${name} will be installed on next start</echo>
        !           292:                                                        </else>
        !           293:                                                </if>
        !           294:                                                <var name="test" value="" unset="true" />
        !           295:                                        </then>
        !           296:                                        <else>
        !           297:                                                <echo>@{installdir} doesn't exist</echo>
        !           298:                                        </else>
        !           299:                                </if>
        !           300:                        </sequential>
        !           301:                </for>
        !           302:        </target>
        !           303: </project>

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