A plugins/netbeans

A plugins/netbeans/.cvsignore
A plugins/netbeans/build.xml
A plugins/netbeans/manifest.mf
A plugins/netbeans/nbproject/.cvsignore
A plugins/netbeans/nbproject/build-impl.xml
A plugins/netbeans/nbproject/genfiles.properties
A plugins/netbeans/nbproject/project.properties
A plugins/netbeans/nbproject/project.xml
A plugins/netbeans/pluglet.properties
A plugins/release/build.xml
A plugins/examples/EmptyMainClass/EmptyMainClass.java
A plugins/examples/index.html
A plugins/examples/simple/src/main/java/simple/SimplePluglet.java
A plugins/examples/simple/src/main/web/index.html
M plugins/build.xml
M plugins/mozilla/nppluglet.cpp

- Towards a binar distribution of pluglets


git-svn-id: svn://10.0.0.236/trunk@221999 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
edburns%acm.org
2007-03-17 01:32:24 +00:00
parent b28e1b25a8
commit 7fb2ac6fa2
14 changed files with 1503 additions and 0 deletions

View File

@@ -64,6 +64,8 @@
<target name="prepare">
<mkdir dir="${build.home}"/>
<condition property="PATH_SEP" value=";">
<and>
<os family="windows" />

View File

@@ -0,0 +1,6 @@
public class EmptyMainClass {
public static void main(String args[]) {
}
}

View File

@@ -0,0 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Pluglet Examples</title>
</head>
<body>
<h1>Pluglet Examples</h1>
<ul>
<li><p><a href="simple/src/main/web/index.html">Simple Pluglet</a>
</p></li>
</ul>
<hr>
<!-- Created: Fri Mar 16 14:12:07 Eastern Standard Time 2007 -->
<!-- hhmts start -->
Last modified: Fri Mar 16 14:13:01 Eastern Standard Time 2007
<!-- hhmts end -->
</body>
</html>

View File

@@ -0,0 +1,255 @@
/*
* 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 mozilla.org code.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Sun are
* Copyright (C) 1999 Sun Microsystems, Inc. All
* Rights Reserved.
*
* Contributor(s):
*/
package simple;
import java.awt.Button;
import java.awt.Frame;
import java.awt.List;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.print.PrinterJob;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.mozilla.pluglet.Pluglet;
import org.mozilla.pluglet.PlugletFactory;
import org.mozilla.pluglet.PlugletStreamListener;
import org.mozilla.pluglet.mozilla.PlugletManager;
import org.mozilla.pluglet.mozilla.PlugletPeer;
import org.mozilla.pluglet.mozilla.PlugletStreamInfo;
import org.mozilla.pluglet.mozilla.PlugletTagInfo;
import org.mozilla.pluglet.mozilla.PlugletTagInfo2;
public class SimplePluglet implements PlugletFactory {
public SimplePluglet() {
org.mozilla.util.DebugPluglet.print("--test.test()\n");
}
/**
* Creates a new pluglet instance, based on a MIME type. This
* allows different impelementations to be created depending on
* the specified MIME type.
*/
public Pluglet createPluglet(String mimeType) {
org.mozilla.util.DebugPluglet.print("--test.createPlugletInstance\n");
return new SimplePlugletInstance();
}
/**
* Initializes the pluglet and will be called before any new instances are
* created.
*/
public void initialize(String plugletPath, PlugletManager manager) {
org.mozilla.util.DebugPluglet.print("--test.initialize(" +
plugletPath + ")\n");
}
/**
* Called when the browser is done with the pluglet factory, or when
* the pluglet is disabled by the user.
*/
public void shutdown() {
org.mozilla.util.DebugPluglet.print("--test.shutdown\n");
}
}
class SimplePlugletInstance implements Pluglet {
Panel panel;
Button button;
List list;
PlugletPeer peer;
public SimplePlugletInstance() {
org.mozilla.util.DebugPluglet.print("--SimplePlugletInstance.SimplePlugletInstance() \n");
panel = new Panel();
button = new Button("Press me :)");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int t = list.getSelectedIndex();
t++;
if (t >= list.getItemCount()) {
t = 0;
}
list.select(t);
}
}
);
panel.add(button);
list = new List(4,false);
list.add("Pluglet");
list.add("not");
list.add("bad");
list.select(0);
panel.add(list);
}
/**
* Initializes a newly created pluglet instance, passing to it the pluglet
* instance peer which it should use for all communication back to the browser.
*
* @param peer the corresponding pluglet instance peer
*/
public void initialize(PlugletPeer peer) {
this.peer = peer;
org.mozilla.util.DebugPluglet.print("--SimplePlugletInstance.initialize\n");
peer.showStatus("Hello world");
org.mozilla.util.DebugPluglet.print("--SimplePlugletInstance.initialize "+peer.getMIMEType());
/*
try {
OutputStreamWriter out = new OutputStreamWriter(peer.newStream("text/plain","_new"));
String msg = "Hello, world";
out.write(msg,0,msg.length());
out.flush();
out.close();
} catch (Exception e) {
;
}
*/
}
/**
* Called to instruct the pluglet instance to start. This will be called after
* the pluglet is first created and initialized, and may be called after the
* pluglet is stopped (via the Stop method) if the pluglet instance is returned
* to in the browser window's history.
*/
public void start() {
org.mozilla.util.DebugPluglet.print("--SimplePlugletInstance.start\n");
}
/**
* Called to instruct the pluglet instance to stop, thereby suspending its state.
* This method will be called whenever the browser window goes on to display
* another page and the page containing the pluglet goes into the window's history
* list.
*/
public void stop() {
org.mozilla.util.DebugPluglet.print("--SimplePlugletInstance.stop\n");
}
/**
* Called to instruct the pluglet instance to destroy itself. This is called when
* it become no longer possible to return to the pluglet instance, either because
* the browser window's history list of pages is being trimmed, or because the
* window containing this page in the history is being closed.
*/
public void destroy() {
org.mozilla.util.DebugPluglet.print("--SimplePlugletInstance.destroy\n");
}
/**
* Called to tell the pluglet that the initial src/data stream is
* ready.
*
* @result PlugletStreamListener
*/
public PlugletStreamListener newStream() {
org.mozilla.util.DebugPluglet.print("--SimplePlugletInstance.newStream\n");
return new TestStreamListener();
}
/**
* Called when the window containing the pluglet instance changes.
*
* @param frame the pluglet panel
*/
public void setWindow(Frame frame) {
org.mozilla.util.DebugPluglet.print("--Test...SetWindow "+frame+"\n");
if(frame == null) {
return;
}
PlugletTagInfo info = peer.getTagInfo();
if (info instanceof PlugletTagInfo2) {
PlugletTagInfo2 info2 = (PlugletTagInfo2)info;
frame.setSize(info2.getWidth(),info2.getHeight());
org.mozilla.util.DebugPluglet.print("--SimplePlugletInstance.SetWindow width "+info2.getWidth()+ " height "+info2.getHeight()+"\n");
org.mozilla.util.DebugPluglet.print("--Test...SetWindow "+frame+"\n");
}
frame.add(panel);
frame.pack();
frame.show();
}
/**
* Called to instruct the pluglet instance to print itself to a printer.
*
* @param print printer information.
*/
public void print(PrinterJob printerJob) {
}
protected void finalize() {
org.mozilla.util.DebugPluglet.print("--SimplePlugletInstance.finalize()\n");
}
}
class TestStreamListener implements PlugletStreamListener {
public TestStreamListener() {
org.mozilla.util.DebugPluglet.print("--TestStreamListener.TestStreamListener()\n");
}
/**
* Notify the observer that the URL has started to load. This method is
* called only once, at the beginning of a URL load.<BR><BR>
*/
public void onStartBinding(PlugletStreamInfo streamInfo) {
org.mozilla.util.DebugPluglet.print("--TestStreamListener.onStartBinding ");
org.mozilla.util.DebugPluglet.print("length "+streamInfo.getLength());
org.mozilla.util.DebugPluglet.print(" contenet type "+ streamInfo.getContentType());
org.mozilla.util.DebugPluglet.print(" url "+ streamInfo.getURL());
org.mozilla.util.DebugPluglet.print(" seekable "+ streamInfo.isSeekable());
}
/**
* Notify the client that data is available in the input stream. This
* method is called whenver data is written into the input stream by the
* networking library...<BR><BR>
*
* @param input The input stream containing the data. This stream can
* be either a blocking or non-blocking stream.
* @param length The amount of data that was just pushed into the stream.
*/
public void onDataAvailable(PlugletStreamInfo plugletInfo, InputStream input,int length) {
try{
org.mozilla.util.DebugPluglet.print("--TestStreamListener.onDataAvailable ");
org.mozilla.util.DebugPluglet.print("--length "+input.available()+"\n");
String cur = null;
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(input));
while (null != (cur = bufferedReader.readLine())) {
org.mozilla.util.DebugPluglet.print(cur);
}
} catch(Exception e) {
;
}
}
public void onFileAvailable(PlugletStreamInfo plugletInfo, String fileName) {
org.mozilla.util.DebugPluglet.print("--TestStreamListener.onFileAvailable\n");
org.mozilla.util.DebugPluglet.print(" fileName" + fileName);
}
/**
* Notify the observer that the URL has finished loading.
*/
public void onStopBinding(PlugletStreamInfo plugletInfo,int status) {
org.mozilla.util.DebugPluglet.print("--TestStreamListener.onStopBinding\n");
}
public int getStreamType() {
org.mozilla.util.DebugPluglet.print("--TestStreamListener.getStreamType\n");
return 1; //:)
}
}

View File

@@ -0,0 +1,7 @@
<html>
<head><title>TestPluglet that loads its source file</title><head>
<body>
<EMBED type="application/x-simple-pluglet" name="test"
src="index.html" width=400 height=200>
</body>
</html>

View File

@@ -53,6 +53,10 @@
#include "npAPInsIInputStreamShim.h"
#include "prlog.h"
static PRLogModuleInfo* log = NULL;
// service manager which will give the access to all public browser services
// we will use memory service as an illustration
nsIServiceManager * gServiceManager = NULL;
@@ -97,6 +101,11 @@ NPError NS_PluginInitialize()
// this is probably a good place to get the service manager
// note that Mozilla will add reference, so do not forget to release
nsISupports * sm = NULL;
log = PR_NewLogModule("nppluglet");
PR_LOG(log, PR_LOG_DEBUG,
("nppluglet NS_PluginInitialize\n"));
NPN_GetValue(NULL, NPNVserviceManager, &sm);

View File

@@ -0,0 +1,260 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- You may freely edit this file. See commented blocks below for -->
<!-- some examples of how to customize the build. -->
<!-- (If you delete it and reopen the project it will be recreated.) -->
<project name="pluglet" default="default" basedir=".">
<description>Builds, tests, and runs the project pluglet.</description>
<import file="nbproject/build-impl.xml"/>
<!--
There exist several targets which are by default empty and which can be
used for execution of your tasks. These targets are usually executed
before and after some main targets. They are:
-pre-init: called before initialization of project properties
-post-init: called after initialization of project properties
-pre-compile: called before javac compilation
-post-compile: called after javac compilation
-pre-compile-single: called before javac compilation of single file
-post-compile-single: called after javac compilation of single file
-pre-compile-test: called before javac compilation of JUnit tests
-post-compile-test: called after javac compilation of JUnit tests
-pre-compile-test-single: called before javac compilation of single JUnit test
-post-compile-test-single: called after javac compilation of single JUunit test
-pre-jar: called before JAR building
-post-jar: called after JAR building
-post-clean: called after cleaning build products
(Targets beginning with '-' are not intended to be called on their own.)
Example of inserting an obfuscator after compilation could look like this:
<target name="-post-compile">
<obfuscate>
<fileset dir="${build.classes.dir}"/>
</obfuscate>
</target>
For list of available properties check the imported
nbproject/build-impl.xml file.
Another way to customize the build is by overriding existing main targets.
The targets of interest are:
-init-macrodef-javac: defines macro for javac compilation
-init-macrodef-junit: defines macro for junit execution
-init-macrodef-debug: defines macro for class debugging
-init-macrodef-java: defines macro for class execution
-do-jar-with-manifest: JAR building (if you are using a manifest)
-do-jar-without-manifest: JAR building (if you are not using a manifest)
run: execution of project
-javadoc-build: Javadoc generation
test-report: JUnit report generation
An example of overriding the target for project execution could look like this:
<target name="run" depends="pluglet-impl.jar">
<exec dir="bin" executable="launcher.exe">
<arg file="${dist.jar}"/>
</exec>
</target>
Notice that the overridden target depends on the jar target and not only on
the compile target as the regular run target does. Again, for a list of available
properties which you can use, check the target you are overriding in the
nbproject/build-impl.xml file.
-->
<property environment="myenv" />
<target name="-pre-init">
<condition property="so.prefix" value="">
<and>
<os family="windows" />
</and>
</condition>
<condition property="so.prefix" value="lib">
<and>
<os family="unix" />
</and>
</condition>
<condition property="so.extension" value="dll">
<and>
<os family="windows" />
</and>
</condition>
<condition property="so.extension" value="so">
<and>
<os family="unix" />
</and>
</condition>
<condition property="platform" value="win32">
<and>
<os family="windows" />
</and>
</condition>
<condition property="platform" value="unix">
<and>
<os family="unix" />
</and>
</condition>
<condition property="platform" value="mac">
<and>
<os family="mac" />
</and>
</condition>
<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>
<property file="pluglet.properties" />
<condition property="preconditions.met">
<and>
<available file="${browser.bin.dir}/${so.prefix}xpcom.${so.extension}" />
</and>
</condition>
<uptodate property="do.copy.binaries">
<srcfiles dir="${basedir}/../bin" includes="**/*.*" />
<mapper type="identity" to="${browser.bin.dir}/**/*.*" />
</uptodate>
<fail unless="preconditions.met">
Conditions for compilation have not been met.
Have you verified that the property browser.bin.dir has been set
to the binary directory of the host browser in the webclient.properties
file? The current value of this property is:
${browser.bin.dir} and this directory must contain the file
${so.prefix}xpcom.${so.extension}.
</fail>
</target>
<target name="edburns">
<echo message="edburns path: ${myenv.Path}" />
</target>
<target name="-post-init">
<antcall target="copy.binaries" />
</target>
<target name="copy.binaries" if="do.copy.binaries">
<copy todir="${browser.bin.dir}">
<fileset dir="${basedir}/../bin" />
</copy>
</target>
<target name="-post-clean">
<delete>
<fileset dir="${browser.bin.dir}"
includes="${bin.artifacts.pattern}"/>
</delete>
</target>
<target name="run" depends="-init-check,-post-init">
<exec os="SunOS" dir="${browser.bin.dir}" executable="firefox"
failonerror="yes">
<arg value="file://${basedir}/../examples/index.html" />
</exec>
<exec os="Linux" dir="${browser.bin.dir}" executable="firefox"
failonerror="yes">
<arg value="file://${basedir}/../examples/index.html" />
</exec>
<exec os="Mac OS X" dir="${browser.bin.dir}" executable="firefox"
failonerror="yes">
<arg value="file://${basedir}/../examples/index.html" />
</exec>
<!--
<exec os="Windows 2000" dir="${browser.bin.dir}"
executable="${browser.bin.dir}/firefox.exe"
newenvironment="true"
failonerror="yes">
-->
<exec os="Windows 2000" dir="${browser.bin.dir}"
executable="${browser.bin.dir}/firefox.exe"
failonerror="yes">
<env key="PATH"
path="${myenv.Path}:${browser.bin.dir}:${browser.bin.dir}/components"
/>
<env key="Path"
path="${myenv.Path}:${browser.bin.dir}:${browser.bin.dir}/components"
/>
<env key="path"
path="${myenv.Path}:${browser.bin.dir}:${browser.bin.dir}/components"
/>
<env key="CLASSPATH"
path="${run.classpath}"
/>
<env key="NSPR_LOG_MODULES"
value="sync,nppluglet:5,pluglets:5"
/>
<env key="NSPR_LOG_FILE"
value="${basedir}/${build.dir}/logfile.txt"
/>
<arg value="file://${basedir}/../examples/index.html" />
</exec>
<exec os="Windows XP" dir="${browser.bin.dir}" executable="firefox"
failonerror="yes">
<arg value="file://${basedir}/../examples/index.html" />
</exec>
</target>
<target name="-post-compile">
<echo message="${build.classes.dir}" />
<jar jarfile="${build.dir}/SimplePluglet.jar">
<manifest>
<attribute name="MIMEDescription" value="application/x-simple-pluglet"/>
<attribute name="Pluglet-Class" value="simple.SimplePluglet"/>
</manifest>
<fileset dir="${build.classes.dir}">
<include name="simple/**/*.*" />
</fileset>
</jar>
<delete>
<fileset dir="${build.classes.dir}">
<include name="simple/**/*.*" />
</fileset>
</delete>
<copy todir="${browser.bin.dir}/plugins"
file="${build.dir}/SimplePluglet.jar" />
</target>
<target name="-do-jar-with-manifest" />
<target name="-do-jar-without-manifest" />
</project>

View File

@@ -0,0 +1,3 @@
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build

View File

@@ -0,0 +1,538 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
*** GENERATED FROM project.xml - DO NOT EDIT ***
*** EDIT ../build.xml INSTEAD ***
For the purpose of easier reading the script
is divided into following sections:
- initialization
- compilation
- jar
- execution
- debugging
- javadoc
- junit compilation
- junit execution
- junit debugging
- applet
- cleanup
-->
<project name="pluglet-impl" default="default" basedir=".." xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:j2seproject2="http://www.netbeans.org/ns/j2se-project/2" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:jaxws="http://www.netbeans.org/ns/jax-ws/1">
<target name="default" depends="test,jar,javadoc" description="Build and test whole project."/>
<!--
======================
INITIALIZATION SECTION
======================
-->
<target name="-pre-init">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="-init-private" depends="-pre-init">
<property file="nbproject/private/private.properties"/>
</target>
<target name="-init-user" depends="-pre-init,-init-private">
<property file="${user.properties.file}"/>
<!-- The two properties below are usually overridden -->
<!-- by the active platform. Just a fallback. -->
<property name="default.javac.source" value="1.4"/>
<property name="default.javac.target" value="1.4"/>
</target>
<target name="-init-project" depends="-pre-init,-init-private,-init-user">
<property file="nbproject/project.properties"/>
</target>
<target name="-do-init" depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property">
<available file="${manifest.file}" property="manifest.available"/>
<condition property="manifest.available+main.class">
<and>
<isset property="manifest.available"/>
<isset property="main.class"/>
<not>
<equals arg1="${main.class}" arg2="" trim="true"/>
</not>
</and>
</condition>
<condition property="manifest.available+main.class+mkdist.available">
<and>
<istrue value="${manifest.available+main.class}"/>
<isset property="libs.CopyLibs.classpath"/>
</and>
</condition>
<condition property="have.tests">
<or/>
</condition>
<condition property="have.sources">
<or>
<available file="${src.EmptyMainClass.dir}"/>
<available file="${src.java.dir}"/>
</or>
</condition>
<condition property="netbeans.home+have.tests">
<and>
<isset property="netbeans.home"/>
<isset property="have.tests"/>
</and>
</condition>
<condition property="no.javadoc.preview">
<isfalse value="${javadoc.preview}"/>
</condition>
<property name="run.jvmargs" value=""/>
<property name="javac.compilerargs" value=""/>
<property name="work.dir" value="${basedir}"/>
<condition property="no.deps">
<and>
<istrue value="${no.dependencies}"/>
</and>
</condition>
<property name="javac.debug" value="true"/>
<property name="javadoc.preview" value="true"/>
</target>
<target name="-post-init">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="-init-check" depends="-pre-init,-init-private,-init-user,-init-project,-do-init">
<fail unless="src.EmptyMainClass.dir">Must set src.EmptyMainClass.dir</fail>
<fail unless="src.java.dir">Must set src.java.dir</fail>
<fail unless="build.dir">Must set build.dir</fail>
<fail unless="dist.dir">Must set dist.dir</fail>
<fail unless="build.classes.dir">Must set build.classes.dir</fail>
<fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
<fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
<fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
<fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
<fail unless="dist.jar">Must set dist.jar</fail>
</target>
<target name="-init-macrodef-property">
<macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
<attribute name="name"/>
<attribute name="value"/>
<sequential>
<property name="@{name}" value="${@{value}}"/>
</sequential>
</macrodef>
</target>
<target name="-init-macrodef-javac">
<macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute name="srcdir" default="${src.EmptyMainClass.dir}:${src.java.dir}"/>
<attribute name="destdir" default="${build.classes.dir}"/>
<attribute name="classpath" default="${javac.classpath}"/>
<attribute name="debug" default="${javac.debug}"/>
<element name="customize" optional="true"/>
<sequential>
<javac srcdir="@{srcdir}" destdir="@{destdir}" debug="@{debug}" deprecation="${javac.deprecation}" source="${javac.source}" target="${javac.target}" includeantruntime="false">
<classpath>
<path path="@{classpath}"/>
</classpath>
<compilerarg line="${javac.compilerargs}"/>
<customize/>
</javac>
</sequential>
</macrodef>
</target>
<target name="-init-macrodef-junit">
<macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute name="includes" default="**/*Test.java"/>
<sequential>
<junit showoutput="true" fork="true" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed">
<batchtest todir="${build.test.results.dir}"/>
<classpath>
<path path="${run.test.classpath}"/>
</classpath>
<syspropertyset>
<propertyref prefix="test-sys-prop."/>
<mapper type="glob" from="test-sys-prop.*" to="*"/>
</syspropertyset>
<formatter type="brief" usefile="false"/>
<formatter type="xml"/>
<jvmarg line="${run.jvmargs}"/>
</junit>
</sequential>
</macrodef>
</target>
<target name="-init-macrodef-nbjpda">
<macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
<attribute name="name" default="${main.class}"/>
<attribute name="classpath" default="${debug.classpath}"/>
<attribute name="stopclassname" default=""/>
<sequential>
<nbjpdastart transport="dt_socket" addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}">
<classpath>
<path path="@{classpath}"/>
</classpath>
</nbjpdastart>
</sequential>
</macrodef>
<macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
<attribute name="dir" default="${build.classes.dir}"/>
<sequential>
<nbjpdareload>
<fileset includes="${fix.includes}*.class" dir="@{dir}"/>
</nbjpdareload>
</sequential>
</macrodef>
</target>
<target name="-init-macrodef-debug">
<macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute name="classname" default="${main.class}"/>
<attribute name="classpath" default="${debug.classpath}"/>
<element name="customize" optional="true"/>
<sequential>
<java fork="true" classname="@{classname}" dir="${work.dir}">
<jvmarg value="-Xdebug"/>
<jvmarg value="-Xnoagent"/>
<jvmarg value="-Djava.compiler=none"/>
<jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
<jvmarg line="${run.jvmargs}"/>
<classpath>
<path path="@{classpath}"/>
</classpath>
<syspropertyset>
<propertyref prefix="run-sys-prop."/>
<mapper type="glob" from="run-sys-prop.*" to="*"/>
</syspropertyset>
<customize/>
</java>
</sequential>
</macrodef>
</target>
<target name="-init-macrodef-java">
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
<attribute name="classname" default="${main.class}"/>
<element name="customize" optional="true"/>
<sequential>
<java fork="true" classname="@{classname}" dir="${work.dir}">
<jvmarg line="${run.jvmargs}"/>
<classpath>
<path path="${run.classpath}"/>
</classpath>
<syspropertyset>
<propertyref prefix="run-sys-prop."/>
<mapper type="glob" from="run-sys-prop.*" to="*"/>
</syspropertyset>
<customize/>
</java>
</sequential>
</macrodef>
</target>
<target name="-init-presetdef-jar">
<presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
<jar jarfile="${dist.jar}" compress="${jar.compress}">
<j2seproject1:fileset dir="${build.classes.dir}"/>
</jar>
</presetdef>
</target>
<target name="init" depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar"/>
<!--
===================
COMPILATION SECTION
===================
-->
<target name="deps-jar" depends="init" unless="no.deps"/>
<target name="-pre-pre-compile" depends="init,deps-jar">
<mkdir dir="${build.classes.dir}"/>
</target>
<target name="-pre-compile">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="-do-compile" depends="init,deps-jar,-pre-pre-compile,-pre-compile" if="have.sources">
<j2seproject3:javac/>
<copy todir="${build.classes.dir}">
<fileset dir="${src.EmptyMainClass.dir}" excludes="${build.classes.excludes}"/>
<fileset dir="${src.java.dir}" excludes="${build.classes.excludes}"/>
</copy>
</target>
<target name="-post-compile">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="compile" depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project."/>
<target name="-pre-compile-single">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="-do-compile-single" depends="init,deps-jar,-pre-pre-compile">
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
<j2seproject3:javac>
<customize>
<patternset includes="${javac.includes}"/>
</customize>
</j2seproject3:javac>
</target>
<target name="-post-compile-single">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="compile-single" depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single"/>
<!--
====================
JAR BUILDING SECTION
====================
-->
<target name="-pre-pre-jar" depends="init">
<dirname property="dist.jar.dir" file="${dist.jar}"/>
<mkdir dir="${dist.jar.dir}"/>
</target>
<target name="-pre-jar">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="-do-jar-without-manifest" depends="init,compile,-pre-pre-jar,-pre-jar" unless="manifest.available">
<j2seproject1:jar/>
</target>
<target name="-do-jar-with-manifest" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" unless="manifest.available+main.class">
<j2seproject1:jar manifest="${manifest.file}"/>
</target>
<target name="-do-jar-with-mainclass" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" unless="manifest.available+main.class+mkdist.available">
<j2seproject1:jar manifest="${manifest.file}">
<j2seproject1:manifest>
<j2seproject1:attribute name="Main-Class" value="${main.class}"/>
</j2seproject1:manifest>
</j2seproject1:jar>
<echo>To run this application from the command line without Ant, try:</echo>
<property name="build.classes.dir.resolved" location="${build.classes.dir}"/>
<property name="dist.jar.resolved" location="${dist.jar}"/>
<pathconvert property="run.classpath.with.dist.jar">
<path path="${run.classpath}"/>
<map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
</pathconvert>
<echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
</target>
<target name="-do-jar-with-libraries" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available">
<property name="build.classes.dir.resolved" location="${build.classes.dir}"/>
<pathconvert property="run.classpath.without.build.classes.dir">
<path path="${run.classpath}"/>
<map from="${build.classes.dir.resolved}" to=""/>
</pathconvert>
<pathconvert property="jar.classpath" pathsep=" ">
<path path="${run.classpath.without.build.classes.dir}"/>
<chainedmapper>
<flattenmapper/>
<globmapper from="*" to="lib/*"/>
</chainedmapper>
</pathconvert>
<taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" name="copylibs" classpath="${libs.CopyLibs.classpath}"/>
<copylibs manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}" jarfile="${dist.jar}" compress="${jar.compress}">
<fileset dir="${build.classes.dir}"/>
<manifest>
<attribute name="Main-Class" value="${main.class}"/>
<attribute name="Class-Path" value="${jar.classpath}"/>
</manifest>
</copylibs>
<echo>To run this application from the command line without Ant, try:</echo>
<property name="dist.jar.resolved" location="${dist.jar}"/>
<echo>java -jar "${dist.jar.resolved}"</echo>
</target>
<target name="-post-jar">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="jar" depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR."/>
<!--
=================
EXECUTION SECTION
=================
-->
<target name="run" depends="init,compile" description="Run a main class.">
<j2seproject1:java>
<customize>
<arg line="${application.args}"/>
</customize>
</j2seproject1:java>
</target>
<target name="run-single" depends="init,compile-single">
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
<j2seproject1:java classname="${run.class}"/>
</target>
<!--
=================
DEBUGGING SECTION
=================
-->
<target name="-debug-start-debugger" if="netbeans.home" depends="init">
<j2seproject1:nbjpdastart name="${debug.class}"/>
</target>
<target name="-debug-start-debuggee" depends="init,compile">
<j2seproject3:debug>
<customize>
<arg line="${application.args}"/>
</customize>
</j2seproject3:debug>
</target>
<target name="debug" if="netbeans.home" depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE."/>
<target name="-debug-start-debugger-stepinto" if="netbeans.home" depends="init">
<j2seproject1:nbjpdastart stopclassname="${main.class}"/>
</target>
<target name="debug-stepinto" if="netbeans.home" depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee"/>
<target name="-debug-start-debuggee-single" if="netbeans.home" depends="init,compile-single">
<fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
<j2seproject3:debug classname="${debug.class}"/>
</target>
<target name="debug-single" if="netbeans.home" depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single"/>
<target name="-pre-debug-fix" depends="init">
<fail unless="fix.includes">Must set fix.includes</fail>
<property name="javac.includes" value="${fix.includes}.java"/>
</target>
<target name="-do-debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,compile-single">
<j2seproject1:nbjpdareload/>
</target>
<target name="debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix"/>
<!--
===============
JAVADOC SECTION
===============
-->
<target name="-javadoc-build" depends="init">
<mkdir dir="${dist.javadoc.dir}"/>
<javadoc destdir="${dist.javadoc.dir}" source="${javac.source}" notree="${javadoc.notree}" use="${javadoc.use}" nonavbar="${javadoc.nonavbar}" noindex="${javadoc.noindex}" splitindex="${javadoc.splitindex}" author="${javadoc.author}" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}" private="${javadoc.private}" additionalparam="${javadoc.additionalparam}" failonerror="true" useexternalfile="true">
<classpath>
<path path="${javac.classpath}"/>
</classpath>
<sourcepath>
<pathelement location="${src.EmptyMainClass.dir}"/>
<pathelement location="${src.java.dir}"/>
</sourcepath>
<packageset dir="${src.EmptyMainClass.dir}" includes="*/**"/>
<packageset dir="${src.java.dir}" includes="*/**"/>
<fileset dir="${src.EmptyMainClass.dir}" includes="*.java"/>
<fileset dir="${src.java.dir}" includes="*.java"/>
</javadoc>
</target>
<target name="-javadoc-browse" if="netbeans.home" unless="no.javadoc.preview" depends="init,-javadoc-build">
<nbbrowse file="${dist.javadoc.dir}/index.html"/>
</target>
<target name="javadoc" depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc."/>
<!--
=========================
JUNIT COMPILATION SECTION
=========================
-->
<target name="-pre-pre-compile-test" if="have.tests" depends="init,compile">
<mkdir dir="${build.test.classes.dir}"/>
</target>
<target name="-pre-compile-test">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="-do-compile-test" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test">
<j2seproject3:javac srcdir="" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}"/>
<copy todir="${build.test.classes.dir}"/>
</target>
<target name="-post-compile-test">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="compile-test" depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test"/>
<target name="-pre-compile-test-single">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="-do-compile-test-single" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single">
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
<j2seproject3:javac srcdir="" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}">
<customize>
<patternset includes="${javac.includes}"/>
</customize>
</j2seproject3:javac>
<copy todir="${build.test.classes.dir}"/>
</target>
<target name="-post-compile-test-single">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="compile-test-single" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single"/>
<!--
=======================
JUNIT EXECUTION SECTION
=======================
-->
<target name="-pre-test-run" if="have.tests" depends="init">
<mkdir dir="${build.test.results.dir}"/>
</target>
<target name="-do-test-run" if="have.tests" depends="init,compile-test,-pre-test-run">
<j2seproject3:junit/>
</target>
<target name="-post-test-run" if="have.tests" depends="init,compile-test,-pre-test-run,-do-test-run">
<fail if="tests.failed">Some tests failed; see details above.</fail>
</target>
<target name="test-report" if="have.tests" depends="init"/>
<target name="-test-browse" if="netbeans.home+have.tests" depends="init"/>
<target name="test" depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests."/>
<target name="-pre-test-run-single" if="have.tests" depends="init">
<mkdir dir="${build.test.results.dir}"/>
</target>
<target name="-do-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single">
<fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
<j2seproject3:junit includes="${test.includes}"/>
</target>
<target name="-post-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single">
<fail if="tests.failed">Some tests failed; see details above.</fail>
</target>
<target name="test-single" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test."/>
<!--
=======================
JUNIT DEBUGGING SECTION
=======================
-->
<target name="-debug-start-debuggee-test" if="have.tests" depends="init,compile-test">
<fail unless="test.class">Must select one file in the IDE or set test.class</fail>
<j2seproject3:debug classname="junit.textui.TestRunner" classpath="${debug.test.classpath}">
<customize>
<arg line="${test.class}"/>
</customize>
</j2seproject3:debug>
</target>
<target name="-debug-start-debugger-test" if="netbeans.home+have.tests" depends="init,compile-test">
<j2seproject1:nbjpdastart name="${test.class}" classpath="${debug.test.classpath}"/>
</target>
<target name="debug-test" depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test"/>
<target name="-do-debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,compile-test-single">
<j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
</target>
<target name="debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix-test"/>
<!--
=========================
APPLET EXECUTION SECTION
=========================
-->
<target name="run-applet" depends="init,compile-single">
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
<j2seproject1:java classname="sun.applet.AppletViewer">
<customize>
<arg value="${applet.url}"/>
</customize>
</j2seproject1:java>
</target>
<!--
=========================
APPLET DEBUGGING SECTION
=========================
-->
<target name="-debug-start-debuggee-applet" if="netbeans.home" depends="init,compile-single">
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
<j2seproject3:debug classname="sun.applet.AppletViewer">
<customize>
<arg value="${applet.url}"/>
</customize>
</j2seproject3:debug>
</target>
<target name="debug-applet" if="netbeans.home" depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet"/>
<!--
===============
CLEANUP SECTION
===============
-->
<target name="deps-clean" depends="init" unless="no.deps"/>
<target name="-do-clean" depends="init">
<delete dir="${build.dir}"/>
<delete dir="${dist.dir}"/>
</target>
<target name="-post-clean">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
</target>
<target name="clean" depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products."/>
</project>

View File

@@ -0,0 +1,8 @@
build.xml.data.CRC32=8df37aff
build.xml.script.CRC32=4cc13411
build.xml.stylesheet.CRC32=240b97a2
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=59b0de98
nbproject/build-impl.xml.script.CRC32=5b6a971b
nbproject/build-impl.xml.stylesheet.CRC32=20b9345e

View File

@@ -0,0 +1,61 @@
application.args=
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned:
build.dir=build
build.generated.dir=${build.dir}/generated
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
debug.classpath=\
${run.classpath}
debug.test.classpath=\
${run.test.classpath}
# This directory is removed when the project is cleaned:
dist.dir=dist
dist.jar=${dist.dir}/pluglet.jar
dist.javadoc.dir=${dist.dir}/javadoc
file.reference.examples-EmptyMainClass=../examples/EmptyMainClass
file.reference.main-java=../examples/simple/src/main/java
file.reference.pluglet-1_1_a1.jar=../lib/pluglet-1_1_a1.jar
jar.compress=false
javac.classpath=\
${file.reference.pluglet-1_1_a1.jar}:\
${libs.JMF.classpath}
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
javac.source=1.5
javac.target=1.5
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}:\
${libs.junit.classpath}
javadoc.additionalparam=
javadoc.author=false
javadoc.encoding=
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=
main.class=EmptyMainClass
manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF
platform.active=default_platform
run.classpath=\
${javac.classpath}:\
${build.classes.dir}
# Space-separated list of JVM arguments used when running the project
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
# or test-sys-prop.name=value to set system properties for unit tests):
run.jvmargs=
run.test.classpath=\
${javac.test.classpath}:\
${build.test.classes.dir}
src.EmptyMainClass.dir=${file.reference.examples-EmptyMainClass}
src.java.dir=${file.reference.main-java}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
<name>pluglet</name>
<minimum-ant-version>1.6.5</minimum-ant-version>
<source-roots>
<root id="src.EmptyMainClass.dir" name="EmptyMainClass"/>
<root id="src.java.dir" name="SimplePluglet"/>
</source-roots>
<test-roots/>
</data>
</configuration>
</project>

View File

@@ -0,0 +1,5 @@
bin.artifacts.pattern=${so.prefix}plugletjni.${so.extension},components/${so.prefix}pluglet.${so.extension},components/pluglet.xpt,plugins/np${so.prefix}pluglet.${so.extension},plugins/SimplePluglet.jar
#debug.jvm.args=-Xdebug -Xrunjdwp:transport=dt_shmem,address=jdbconn,server=y,suspend=y
#Make this point to the bin directory of your XULRUNNER installation
browser.bin.dir=C:\\Projects\\chaff\\pluglet-1-1-alpha-1\\ff1509

View File

@@ -0,0 +1,310 @@
<?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="pluglet" default="release" basedir=".">
<property name="Name" value="pluglet"/>
<property name="name" value="pluglet"/>
<property name="major.version" value="1" />
<property name="minor.version" value="1" />
<property name="release.version" value="a1" />
<property name="release.version.full" value="alpha_1" />
<property name="version"
value="${major.version}_${minor.version}_${release.version}"/>
<property name="full.version" value="${major.version}_${minor.version}_${release.version.full}"/>
<!-- ************ 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 file="../../build.properties"/> <!-- java-supplement local -->
<property environment="myenv" />
<property name="dist.home" value="${objdir}/${name}" />
<property name="dist.javadocs" value="${dist.home}/javadocs" />
<property name="source.home" value="${basedir}/.." />
<property name="moz.dist" value="${objdir}/dist" />
<property name="dist.classes" value="${moz.dist}/classes" />
<property name="javadoc.private" value="false"/>
<property name="javadoc.protected" value="true"/>
<property name="dist.jar" value="${dist.home}/lib/${name}-${version}.jar"/>
<target name="release">
<antcall target="prepare" />
<antcall target="uptodate" />
<antcall target="compile.all" />
<antcall target="build.dist.jar" />
<antcall target="copy.binaries" />
<antcall target="copy.test.src" />
<antcall target="copy.core.src" />
<antcall target="copy.build.support" />
<antcall target="build.javadocs" />
<antcall target="build.zip" />
</target>
<target name="build.zip">
<condition property="platform" value="win32">
<and>
<os family="windows" />
</and>
</condition>
<condition property="platform" value="linux">
<and>
<os family="unix" />
</and>
</condition>
<zip destfile="${objdir}/${name}_${version}_${platform}.zip"
basedir="${dist.home}" />
</target>
<target name="clean">
<delete file="${objdir}/${name}_${version}_${platform}.zip" />
<delete dir="${dist.home}" />
</target>
<target name="prepare">
<mkdir dir="${dist.home}" />
<mkdir dir="${dist.home}/lib" />
<mkdir dir="${dist.home}/bin" />
<mkdir dir="${dist.home}/javadocs" />
<mkdir dir="${dist.home}/test" />
<mkdir dir="${dist.home}/src" />
<condition property="so.prefix" value="">
<and>
<os family="windows" />
</and>
</condition>
<condition property="so.prefix" value="lib">
<and>
<os family="unix" />
</and>
</condition>
<condition property="so.extension" value="dll">
<and>
<os family="windows" />
</and>
</condition>
<condition property="so.extension" value="so">
<and>
<os family="unix" />
</and>
</condition>
<condition property="platform" value="win32">
<and>
<os family="windows" />
</and>
</condition>
<condition property="platform" value="linux">
<and>
<os family="unix" />
</and>
</condition>
</target>
<target name="uptodate">
<uptodate property="core.java.classes.uptodate"
targetfile="${dist.jar}">
<srcfiles dir="${dist.classes}" />
</uptodate>
<echo message="java classes up to date: ${core.java.classes.uptodate}" />
<uptodate property="javadocs.uptodate"
targetfile="${dist.javadocs}/index.html" >
<srcfiles dir= "${source.home}">
<include name="**/plugins/classes/**/*.java" />
</srcfiles>
</uptodate>
<echo message="javadoc up to date: ${javadocs.uptodate}" />
</target>
<target name="build.dist.jar">
<jar jarfile="${dist.jar}" >
<manifest>
<attribute name="Specification-Title" value="${Name}"/>
<attribute name="Specification-Version" value="1.1"/>
<attribute name="Implementation-Title" value="'${name}': ${Name}"/>
<attribute name="Implementation-Version" value="${version}"/>
<attribute name="Implementation-Vendor" value="mozilla.org"/>
<attribute name="Implementation-Vendor-Id" value="org.mozilla"/>
<attribute name="Extension-Name" value="org.mozilla.pluglet"/>
</manifest>
<fileset dir="${dist.classes}"
excludes="**/test/**" />
</jar>
</target>
<target name="compile.all" unless="core.java.classes.uptodate"
depends="uptodate">
<ant inheritAll="false" dir="${source.home}" />
</target>
<target name="copy.binaries" depends="prepare">
<copy todir="${dist.home}/bin"
file="${objdir}/java/plugins/jni/${so.prefix}${name}jni.${so.extension}" />
<copy todir="${dist.home}/bin/components"
file="${objdir}/java/plugins/src/${so.prefix}${name}.${so.extension}" />
<copy todir="${dist.home}/bin/components"
file="${objdir}/java/plugins/src/_xpidlgen/pluglet.xpt" />
<copy todir="${dist.home}/bin/plugins"
file="${objdir}/java/plugins/mozilla/${so.prefix}np${name}.${so.extension}" />
</target>
<target name="copy.test.src" depends="prepare">
<!-- Populate the netbeans Test Packages -->
<copy todir="${dist.home}/test/automated/src/main/java">
<fileset dir="${source.home}/webclient/test/automated/src/classes">
<exclude name="**/*Bookmark*.java" />
<exclude name="**/*Preferences*.java" />
<exclude name="**/*Profile*.java" />
</fileset>
<fileset dir="${basedir}/mcp-test/src/test/java">
<include name="**/*.java" />
</fileset>
</copy>
<copy todir="${dist.home}/test/automated/src/main/resources">
<fileset dir="${source.home}/webclient/test/automated/src/test">
<exclude name="*basic*/" />
</fileset>
</copy>
<!-- Populate the netbeans Source Packages -->
<copy todir="${dist.home}/test/manual/src/main/java">
<fileset dir="${source.home}/webclient/test/manual/src/classes" />
<fileset dir="${basedir}/mcp-test/src/main/java">
<include name="**/*.java" />
</fileset>
</copy>
</target>
<target name="copy.core.src" depends="prepare">
<!-- Populate the netbeans Source Package with the core
webclient sources -->
<copy todir="${dist.home}/src/main/java" includeEmptyDirs="false">
<fileset dir="${source.home}/webclient/classes_spec">
<exclude name="**/test/*" />
<exclude name="**/test_nonnative/*" />
<exclude name="**/wrapper_nonnative/*" />
<exclude name="**/*.html" />
<exclude name="**/*ICE*.*" />
</fileset>
<fileset dir="${source.home}/util/classes">
<exclude name="**/*.html" />
</fileset>
<fileset dir="${source.home}/dom/classes">
<exclude name="**/*.html" />
</fileset>
</copy>
</target>
<target name="copy.build.support" depends="prepare">
<copy todir="${dist.home}/netbeans">
<fileset dir="${basedir}/netbeans" />
</copy>
<copy todir="${dist.home}/non-ide">
<fileset dir="${basedir}/non-ide" />
</copy>
<copy file="${mozdocdir}/webclient/release-notes/${full.version}.html" todir="${dist.home}" />
<copy file="${mozdocdir}/webclient/release-notes/${full.version}-detail.html" todir="${dist.home}" />
</target>
<target name="build.javadocs" depends="prepare,uptodate"
unless="javadocs.uptodate"
description="Create the JavaDoc API documentation">
<copy todir="${dist.javadocs}">
<fileset dir="${source.home}/webclient/classes_spec">
<include name="**/*.jpg" />
<include name="**/*.jpeg" />
<include name="**/*.gif" />
<include name="**/*.html" />
</fileset>
</copy>
<javadoc packagenames="org.mozilla.*"
destdir="${dist.javadocs}"
Overview="${source.home}/webclient/classes_spec/org/mozilla/webclient/overview.html"
stylesheetfile="javadoc.css"
private="${javadoc.private}"
protected="${javadoc.protected}"
windowtitle="${Name} (${version})"
doctitle="${Name} (${version})"
bottom="Copyright &#169; 2002-2007 Mozilla.org All Rights Reserved.">
<fileset dir="${source.home}">
<include name="**/*.java"/>
<exclude name="**/impl/**/*.java" />
<exclude name="**/*ICE*.java" />
<exclude name="**/cardemo/**/*.java" />
<exclude name="**/wrapper_nonnative/**/*.java" />
<exclude name="**/*Impl.java" />
<exclude name="**/test*/**/*.java" />
<exclude name="plugins/**/*.*" />
<exclude name="xpcom/**/*.*" />
<exclude name="dom/blackconnect/**/*.*" />
<exclude name="pluggable-jvm/**/*.*" />
<exclude name="**/*Bookmark*.java" />
<exclude name="**/*Preferences*.java" />
<exclude name="**/PrefChangedCallback.java" />
<exclude name="**/*Profile*.java" />
<exclude name="**/WebclientFactory.java" />
<exclude name="**/ImplObject.java" />
<exclude name="**/WCKeyEvent.java" />
<exclude name="**/WCMouseEvent.java" />
<exclude name="util/**/*.java" />
<exclude name="dom/**/*.java" />
</fileset>
<classpath location="${dist.jar}"/>
</javadoc>
</target>
</project>