File:  [mozdev] / forecastfox / Attic / build.xml
Revision 1.12: download - view: text, annotated - select for diffs - revision graph
Fri May 27 04:28:01 2005 UTC (14 years, 8 months ago) by jstritar
Branches: MAIN
CVS tags: HEAD
Prepare for 0.7.8

<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is Forecastfox.
   -
   - The Initial Developer of the Original Code is
   - Jon Stritar <jstritar@MIT.EDU>.
   - Portions created by the Initial Developer are Copyright (C) 2005
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   - Jon Stritar <jstritar@MIT.EDU>
   - Richard Klein <richwklein@mchsi.com>
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the LGPL or the GPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->

<!-- project used to build xpi -->
<project name="forecastfox" default="dist">
  <property name="app.version"     value="0.7.8"/>
  <property name="app.guid"        value="{0538E3E3-7E9B-4d49-8831-A227C80A7AD3}"/>
  <property name="build.dir"       location="build"/>
  <property name="staging.dir"     location="staging"/>
  <property name="downloads.dir"   location="downloads"/>
  <property name="src.dir"         location="src"/>
  <property name="xpidl.dir"       location="xpidl"/>
  <property name="moz.dir"         location="c:\program files\mozilla\firefox\"/>
  
  <!-- create build directories -->
  <target name="init" description="Create build environment">
    <mkdir dir="${downloads.dir}"/>
    <mkdir dir="${staging.dir}"/>    
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${build.dir}/chrome"/>    
  </target>
  
  <!-- clean up build directories -->
  <target name="clean">
    <delete dir="${build.dir}"/>    
    <delete dir="${moz.dir}/base"/>
    <delete dir="${staging.dir}"/>
  </target>
  
  <!-- staging files -->
  <target name="staging" description="Copy files to staging and preprocess">
    
    <!-- replace version and locale strings -->
    <copy todir="${staging.dir}" overwrite="true">
      <fileset dir="${src.dir}">
        <exclude name="**/images/**"/>
      </fileset>
      <filterset begintoken="#" endtoken="#">
        <filter token="VERSION" value="${app.version}"/>
        <filter token="GUID" value="${app.guid}"/>
      </filterset>      
    </copy>
    
    <!-- copy binary files to staging -->
    <copy todir="${staging.dir}" overwrite="true">
      <fileset dir="${src.dir}">
        <include name="**/images/**"/>
      </fileset>  
    </copy>    
  </target>

  <!-- build interfaces -->
  <target name="xpt" description="Create interface definition files">
    
    <!-- copy interfaces to mozilla dir -->
    <unzip src="${xpidl.dir}/base.zip" dest="${moz.dir}"/>
    <copy todir="${moz.dir}/base">
      <fileset dir="${staging.dir}/components">
        <include name="*.idl"/>    
      </fileset>
    </copy>
    
    <!-- create interfaces -->
    <echo message="Building nsForecastfox.xpt"/>
    <exec dir="${moz.dir}/base" executable="${moz.dir}/base/xpidl.exe" failonerror="true">
      <arg line="-m typelib -w -v -I -o nsForecastfox.idl"/>
    </exec>
    <echo message="Building ffPing.xpt"/>    
    <exec dir="${moz.dir}/base" executable="${moz.dir}/base/xpidl.exe" failonerror="true">
      <arg line="-m typelib -w -v -I -o ffPing.idl"/>
    </exec>
    <echo message="Building ffProfiles.xpt"/>    
    <exec dir="${moz.dir}/base" executable="${moz.dir}/base/xpidl.exe" failonerror="true">
      <arg line="-m typelib -w -v -I -o ffProfiles.idl"/>
    </exec>
    <echo message="Building ffError.xpt"/>    
    <exec dir="${moz.dir}/base" executable="${moz.dir}/base/xpidl.exe" failonerror="true">
      <arg line="-m typelib -w -v -I -o ffError.idl"/>
    </exec> 
    <echo message="Building ffParser.xpt"/>    
    <exec dir="${moz.dir}/base" executable="${moz.dir}/base/xpidl.exe" failonerror="true">
      <arg line="-m typelib -w -v -I -o ffParser.idl"/>
    </exec>     
  </target>

  <!-- create distribute files -->
  <target name="build" description="Copy files from interface creation and staging">        
    <copy todir="${build.dir}/components">
      <fileset dir="${moz.dir}/base">
        <include name="nsForecastfox.xpt"/>  
        <include name="ffPing.xpt"/>
      	<include name="ffProfiles.xpt"/>
        <include name="ffError.xpt"/>
        <include name="ffParser.xpt"/>      
      </fileset>
    </copy>
    
    <copy todir="${build.dir}">
      <fileset dir="${staging.dir}">
        <exclude name="chrome/**"/>
        <exclude name="components/*.idl"/>
      </fileset>
    </copy>
  </target>
    
  <target name="dist" depends="clean, init, staging, xpt, build" description="Create distribution files">
    <zip destfile="${build.dir}/chrome/${ant.project.name}.jar" basedir="${staging.dir}/chrome" compress="false"/>    
	  <zip destfile="${downloads.dir}/${ant.project.name}-${app.version}.xpi" basedir="${build.dir}" compress="true"/>    

    <!-- cleanup when done -->
    <ant target="clean"/>
  </target>
 
</project>

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