pjs/java/webclient/build.xml

420 строки
14 KiB
XML

<?xml version="1.0"?>
<!--
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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 mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Ed Burns &gt;edburns@acm.org&lt;
-->
<project name="webclient" default="main" basedir=".">
<property name="Name" value="webclient"/>
<property name="name" value="webclient"/>
<property name="version" value="20030906"/>
<!-- ************ Per user local properties ******************************* -->
<property file="${user.home}/build.properties"/> <!-- User local -->
<property file="build.properties"/> <!-- Component local -->
<property file="../build.properties"/> <!-- java-supplement local -->
<property environment="myenv" />
<property name="objdir.native.path" value="${objdir}/java/webclient" />
<!-- ************ Compiler Defaults *************************************** -->
<!-- Should Java compilations set the 'debug' compiler option? -->
<property name="compile.debug" value="true"/>
<!-- Should Java compilations set the 'deprecation' compiler option? -->
<property name="compile.deprecation" value="false"/>
<!-- Should Java compilations set the 'optimize' compiler option? -->
<property name="compile.optimize" value="false"/>
<!-- ************ Where are we building into? ***************************** -->
<!-- The base directory for component sources -->
<property name="source.home" value="${basedir}/classes_spec"/>
<!-- Construct compile classpath -->
<path id="compile.classpath">
<pathelement location="${build.home}"/>
<pathelement location="${junit.jar}"/>
</path>
<target name="prepare">
<condition property="PATH_SEP" value=";">
<and>
<os family="windows" />
</and>
</condition>
<condition property="PATH_SEP" value=":">
<and>
<os family="unix" />
</and>
</condition>
<condition property="FILE_PATH_SEP" value="\">
<and>
<os family="windows" />
</and>
</condition>
<condition property="FILE_PATH_SEP" value="/">
<and>
<os family="unix" />
</and>
</condition>
</target>
<target name="main"
depends="prepare,compile.classes_spec,compile.binaries,create.webclient.scripts"/>
<target name="compile.binaries" depends="compile.src_share,compile.src_moz,compile.src_ie" />
<target name="compile.classes_spec">
<javac destdir="${build.home}"
debug="${compile.debug}"
source="${compile.source}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}">
<classpath refid="compile.classpath"/>
<src path="${source.home}"/>
<patternset>
<exclude name="**/Win32*.java" if="build.unix.classes"/>
<exclude name="**/Cocoa*.java" if="build.unix.classes"/>
</patternset>
<patternset>
<exclude name="**/Gtk*.java" if="build.win32.classes"/>
<exclude name="**/Cocoa*.java" if="build.win32.classes"/>
</patternset>
<patternset>
<exclude name="**/Gtk*.java" if="build.mac.classes"/>
<exclude name="**/Win32*.java" if="build.mac.classes"/>
</patternset>
<!-- PENDING(edburns): include additional patternsets for ICE,
HotJava, etc -->
<include name="org/mozilla/webclient/*"/>
<include name="org/mozilla/mcp/**/*.*"/>
<include name="org/mozilla/webclient/impl/wrapper_native/*"/>
<include name="org/mozilla/webclient/impl/*"/>
<exclude name="org/mozilla/webclient/test/**/*.*"/>
</javac>
<copy todir="${build.home}">
<fileset dir="${source.home}">
<include name="**/*.properties" />
</fileset>
</copy>
<mkdir dir="${build.home}/META-INF/services"/>
<echo file="${build.home}/META-INF/services/org.mozilla.webclient.WebclientFactory">org.mozilla.webclient.impl.WebclientFactoryImpl</echo>
<echo file="${build.home}/META-INF/services/org.mozilla.webclient.impl.WrapperFactory">org.mozilla.webclient.impl.wrapper_native.WrapperFactoryImpl</echo>
</target>
<target name="compile.src_share" depends="compile.javah.headers">
<exec os="SunOS" dir="${objdir.native.path}/src_share" failonerror="yes"
executable="gmake"/>
<exec os="Linux" dir="${objdir.native.path}/src_share" failonerror="yes"
executable="make"/>
<exec os="Windows 2000" dir="${objdir.native.path}/src_share" executable="make"
failonerror="yes"/>
<exec os="Mac OS X" dir="${objdir.native.path}/src_share" executable="make"
failonerror="yes">
</exec>
</target>
<target name="compile.javah.headers" depends="compile.classes_spec,compile.javah.canvas.headers">
<javah destdir="${objdir.native.path}/src_share"
class="org.mozilla.webclient.impl.wrapper_native.BookmarksImpl,org.mozilla.webclient.impl.wrapper_native.ProfileManagerImpl,org.mozilla.webclient.impl.wrapper_native.PreferencesImpl,org.mozilla.webclient.impl.wrapper_native.CurrentPageImpl,org.mozilla.webclient.impl.wrapper_native.HistoryImpl,org.mozilla.webclient.impl.wrapper_native.WrapperFactoryImpl,org.mozilla.webclient.impl.wrapper_native.NavigationImpl,org.mozilla.webclient.impl.wrapper_native.RDFEnumeration,org.mozilla.webclient.impl.wrapper_native.RDFTreeNode,org.mozilla.webclient.impl.wrapper_native.ISupportsPeer,org.mozilla.webclient.impl.wrapper_native.WindowControlImpl,org.mozilla.webclient.impl.wrapper_native.NativeEventThread,org.mozilla.webclient.impl.wrapper_native.EventRegistrationImpl,org.mozilla.webclient.impl.wrapper_native.NativeInputStream">
<classpath refid="compile.classpath"/>
</javah>
</target>
<target name="compile.javah.canvas.headers"
depends="compile.unix.canvas.headers,compile.win32.canvas.headers,compile.mac.canvas.headers"/>
<target name="compile.unix.canvas.headers" if="build.unix.classes">
<mkdir dir="${objdir.native.path}/src_moz/gtk" />
<javah destdir="${objdir.native.path}/src_moz/gtk"
class="org.mozilla.webclient.impl.wrapper_native.GtkBrowserControlCanvas">
<classpath refid="compile.classpath"/>
</javah>
</target>
<target name="compile.win32.canvas.headers" if="build.win32.classes">
<mkdir dir="${objdir.native.path}/src_moz/win32" />
<javah destdir="${objdir.native.path}/src_moz/win32"
class="org.mozilla.webclient.impl.wrapper_native.Win32BrowserControlCanvas">
<classpath refid="compile.classpath"/>
</javah>
</target>
<target name="compile.mac.canvas.headers" if="build.mac.classes">
<mkdir dir="${objdir.native.path}/src_moz/cocoa" />
<javah destdir="${objdir.native.path}/src_moz/cocoa"
class="org.mozilla.webclient.impl.wrapper_native.CocoaBrowserControlCanvas,org.mozilla.webclient.impl.wrapper_native.CocoaAppKitThreadDelegatingNativeEventThread">
<classpath refid="compile.classpath"/>
</javah>
</target>
<target name="compile.src_moz" depends="compile.src_share">
<exec os="SunOS" dir="${objdir.native.path}/src_moz" executable="gmake"
failonerror="yes">
</exec>
<exec os="Linux" dir="${objdir.native.path}/src_moz" executable="make"
failonerror="yes">
</exec>
<exec os="Mac OS X" dir="${objdir.native.path}/src_moz" executable="make"
failonerror="yes">
</exec>
<exec os="Windows 2000" dir="${objdir.native.path}/src_moz" executable="make"
failonerror="yes"/>
</target>
<target name="compile.src_ie" depends="compile.src_share">
<!-- PENDING(edburns): re-enable IE support
<exec os="Windows 2000" dir="${objdir.native.path}/src_ie" executable="make"
failonerror="yes"/>
-->
</target>
<target name="create.webclient.scripts"
depends="create.win32.webclient.scripts,create.unix.webclient.scripts"/>
<target name="create.win32.webclient.scripts"
if="build.win32.classes">
<condition property="debug.options" value="${debug.jvm.args}">
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</condition>
<condition property="debug.options" value="">
<not>
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</not>
</condition>
<echo file="${objdir.native.path}/src_moz/runem.bat">set CLASSPATH=${build.home};%CLASSPATH%
set PATH=%PATH%;${build.home}\..\bin;${build.home}\..\bin\components;${myenv.MOZ_JDKHOME}\jre\bin
${myenv.MOZ_JDKHOME}/bin/java ${debug.options} org.mozilla.webclient.test.EmbeddedMozillaImpl ${build.home}\..\bin %1%
</echo>
</target>
<target name="create.unix.webclient.scripts"
if="build.unix.classes">
<condition property="debug.options" value="${debug.jvm.args}">
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</condition>
<condition property="debug.options" value="">
<not>
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</not>
</condition>
<echo file="${objdir.native.path}/src_moz/runem">export CLASSPATH=${build.home}:$CLASSPATH
export LD_LIBRARY_PATH=${build.home}/../bin:${build.home}/../bin/components:$LD_LIBRARY_PATH:;${myenv.MOZ_JDKHOME}/jre/bin
${myenv.MOZ_JDKHOME}/bin/java ${debug.options} org.mozilla.webclient.test.EmbeddedMozillaImpl ${build.home}/../bin $*
</echo>
<chmod perm="755" file="${objdir.native.path}/src_moz/runem"/>
</target>
<target name="create.mac.webclient.scripts"
if="build.mac.classes">
<condition property="debug.options" value="${debug.jvm.args}">
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</condition>
<condition property="debug.options" value="">
<not>
<equals arg1="${myenv.MOZ_DEBUG}" arg2="1"/>
</not>
</condition>
<echo file="${objdir.native.path}/src_moz/runem">export CLASSPATH=${build.home}:$CLASSPATH
export LD_LIBRARY_PATH=${build.home}/../bin:${build.home}/../bin/components:$LD_LIBRARY_PATH:;${myenv.MOZ_JDKHOME}/jre/bin
${myenv.MOZ_JDKHOME}/bin/java ${debug.options} org.mozilla.webclient.test.EmbeddedMozillaImpl ${build.home}/../bin $*
</echo>
<chmod perm="755" file="${objdir.native.path}/src_moz/runem"/>
</target>
<target name="clean.classes_spec">
<delete dir="${build.home}/org/mozilla/webclient"/>
</target>
<target name="clean.test">
<ant antfile="build-tests.xml" target="clean"/>
</target>
<target name="clean" depends="clean.classes_spec">
<ant antfile="build-tests.xml" target="clean"/>
<delete>
<fileset dir="${objdir.native.path}/src_moz">
<include name="**/*BrowserControlCanvas.h"/>
<exclude name="motif/MotifBrowserControlCanvas.h"/>
</fileset>
</delete>
<delete >
<fileset dir="${objdir.native.path}/src_share">
<include name="*.h"/>
<exclude name="bal_util.h"/>
<exclude name="jni_util_export.h"/>
<exclude name="jni_util.h"/>
</fileset>
</delete>
<delete >
<fileset dir="${objdir.native.path}/src_moz">
<include name="*.ilk"/>
</fileset>
</delete>
<delete >
<fileset dir="${objdir.native.path}/src_ie">
<include name="*.ilk"/>
</fileset>
</delete>
<exec os="SunOS" dir="${objdir.native.path}/src_moz" executable="gmake"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Linux" dir="${objdir.native.path}/src_moz" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Windows 2000" dir="${objdir.native.path}/src_moz" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Mac OS X" dir="${objdir.native.path}/src_moz" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Windows 2000" dir="${objdir.native.path}/src_ie" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="SunOS" dir="${objdir.native.path}/src_share" executable="gmake"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Linux" dir="${objdir.native.path}/src_share" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Windows 2000" dir="${objdir.native.path}/src_share" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
<exec os="Mac OS X" dir="${objdir.native.path}/src_share" executable="make"
failonerror="yes">
<arg line="clobber_all"/>
</exec>
</target>
<target name="test" depends="main"
description="compile everything and Run unit tests">
<antcall target="run.test" />
</target>
<target name="run.test" depends="prepare" description="Run unit tests">
<ant antfile="build-tests.xml" target="run.test"/>
</target>
<target name="run.cardemo" depends="prepare" description="Run unit tests">
<ant antfile="build-tests.xml" target="run.cardemo"/>
</target>
<target name="run.test.browser" depends="prepare" description="Run the test browser">
<ant antfile="build-tests.xml" target="run.test.browser"/>
</target>
<target name="compile.test" description="compile unit tests">
<ant antfile="build-tests.xml" target="compile.test"/>
</target>
</project>