6856630: Restructure jaxp/jaxws repositories
authorohair
Mon, 21 Sep 2009 13:54:55 -0700
changeset 3879 0d9209bdf36c
parent 3878 3fcbbc0199a7
child 3880 ca471d44b5df
6856630: Restructure jaxp/jaxws repositories Reviewed-by: darcy, tbell
jaxp/.hgignore
jaxp/README
jaxp/build-defs.xml
jaxp/build-drop-template.xml
jaxp/build.properties
jaxp/build.xml
jaxp/jaxp.properties
jaxp/make/Makefile
jaxp/make/build.properties
jaxp/make/build.xml
jaxp/make/jprt.properties
jaxp/make/tools/StripProperties/StripProperties.java
jaxp/make/tools/StripProperties/StripPropertiesTask.java
jaxp/nbproject/findbugs.settings
jaxp/nbproject/project.xml
jaxp/nbproject/sqe.properties
jaxp/patches/jaxp_src/README
--- a/jaxp/.hgignore	Thu Sep 17 13:46:50 2009 -0700
+++ b/jaxp/.hgignore	Mon Sep 21 13:54:55 2009 -0700
@@ -1,4 +1,5 @@
 ^build/
 ^dist/
+^drop/
 ^webrev/
 ^nbproject/private/
--- a/jaxp/README	Thu Sep 17 13:46:50 2009 -0700
+++ b/jaxp/README	Mon Sep 21 13:54:55 2009 -0700
@@ -1,14 +1,25 @@
 README:
-  This file should be located at the top of the jaxp Mercurial repository.
+  
+  This file should be located at the top of the Mercurial repository.
 
   See http://openjdk.java.net/ for more information about the OpenJDK.
 
   See ../README-builds.html for complete details on build machine requirements.
 
 Simple Build Instructions:
-
+  This repository can be loaded as a NetBeans project, built with ant, or
+  built with GNU make, e.g.
+    ant
+       -OR-
     cd make && gnumake
      
-  The files that will be imported into the jdk build will be in the "dist"
-  directory.
+  The built files that will be imported into the jdk build will be in the 
+  "dist" directory.
+  Help information is available by running "ant -projecthelp" or "make help".
 
+Drop Repository:
+  This repository builds sources from a created "drop" source directory.
+  These files will normally be copied from a shared directory area or
+  downloaded from a public website.
+  See the ant build script (build.xml) for more details.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/build-defs.xml	Mon Sep 21 13:54:55 2009 -0700
@@ -0,0 +1,117 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ This code is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License version 2 only, as
+ published by the Free Software Foundation.  Sun designates this
+ particular file as subject to the "Classpath" exception as provided
+ by Sun in the LICENSE file that accompanied this code.
+
+ This code is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ version 2 for more details (a copy is included in the LICENSE file that
+ accompanied this code).
+
+ You should have received a copy of the GNU General Public License version
+ 2 along with this work; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ CA 95054 USA or visit www.sun.com if you need additional information or
+ have any questions.
+-->
+
+<project name="jaxp_defs" default="all" basedir=".">
+
+    <!-- Specific build properties. -->
+    <property file="jaxp.properties"/>
+
+    <!-- Where generated xml files will stay. -->
+    <property name="xml.gen.dir" value="${build.dir}/xml_generated"/>
+    <property name="xml.template" value="build-drop-template.xml"/>
+
+    <!--  ############### -->
+    <!--  Begin Macrodefs -->
+
+    <!-- Copies template file, replaces @DROP@ pattern, and imports it. -->
+    <macrodef name="drop-import">
+        <attribute name="name"/>
+        <sequential>
+            <property name="xml.gen.@{name}" value="${xml.gen.dir}/build-drop-@{name}.xml"/>
+            <mkdir dir="${xml.gen.dir}"/>
+            <copy file="${xml.template}" tofile="${xml.gen.@{name}}"/>
+            <replace file="${xml.gen.@{name}}" token="@DROP@" value="@{name}"/>
+            <import file="${xml.gen.@{name}}"/>
+        </sequential>
+    </macrodef>
+
+    <!--  End of Macrodefs -->
+    <!--  ############### -->
+
+    <!-- Create xml file and import it for these drops. -->
+    <drop-import name="jaxp_src"/>
+    <!-- <drop-import name="jaxp_tests"/> -->
+
+
+    <!-- Special build area preparation. -->
+    <target name="-drop-build-prep" depends="init, -init-src-dirs">
+    </target>
+
+    <!-- Try to get drop sources, set property use.orig.src.dir if no drops. -->
+    <target name="-set-props"
+	    depends="init,
+                     jaxp_src-update">
+        <condition property="use.orig.src.dir">
+            <and>
+                <available file="${orig.src.dir}" type="dir"/>
+                <not>
+                    <and>
+                        <available file="${jaxp_src.src.dir}" type="dir"/>
+                    </and>
+                </not>
+            </and>
+        </condition>
+    </target>
+
+    <!-- Set up source to use orig.src.dir, if use.orig.src.dir defined. -->
+    <target name="-use-orig" depends="-set-props" if="use.orig.src.dir">
+        <property name="primary.src.dir" value="${orig.src.dir}"/>
+        <path id="src.dir.id">
+            <pathelement path="${primary.src.dir}"/>
+        </path>
+    </target>
+
+    <!-- Set up source to use drop.dir, if use.orig.src.dir not defined. -->
+    <target name="-use-drop" depends="-set-props" unless="use.orig.src.dir">
+        <property name="primary.src.dir" value="${jaxp_src.src.dir}"/>
+        <path id="src.dir.id">
+            <pathelement path="${primary.src.dir}"/>
+        </path>
+    </target>
+
+    <!-- Source directory selection. -->
+    <target name="-init-src-dirs"
+	    depends="init, -use-orig, -use-drop">
+        <echo message="Using primary.src.dir=${primary.src.dir}"/>
+        <pathconvert property="src.list.id" refid="src.dir.id"/>
+        <echo message="Using src.dir.id=${src.list.id}"/>
+    </target>
+
+    <!-- Create orig src.zip. -->
+    <target name="-orig-src-zip" depends="init, -set-props" if="use.orig.src.dir">
+        <zip file="${dist.src.zip}" basedir="${primary.src.dir}"/>
+    </target>
+
+    <!-- Create drop src.zip. -->
+    <target name="-drop-src-zip" depends="init, -set-props" unless="use.orig.src.dir">
+        <zip file="${dist.src.zip}" basedir="${primary.src.dir}"/>
+    </target>
+
+    <!-- Create src.zip. -->
+    <target name="-dist-src-zip" depends="init, -orig-src-zip, -drop-src-zip">
+    </target>
+    
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/build-drop-template.xml	Mon Sep 21 13:54:55 2009 -0700
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ This code is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License version 2 only, as
+ published by the Free Software Foundation.  Sun designates this
+ particular file as subject to the "Classpath" exception as provided
+ by Sun in the LICENSE file that accompanied this code.
+
+ This code is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ version 2 for more details (a copy is included in the LICENSE file that
+ accompanied this code).
+
+ You should have received a copy of the GNU General Public License version
+ 2 along with this work; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ CA 95054 USA or visit www.sun.com if you need additional information or
+ have any questions.
+-->
+
+<project name="@DROP@-drop" default="all" basedir=".">
+
+    <!-- Locations of master drop bundles. -->
+    <property name="@DROP@.master.bundle.copy"
+              value="${@DROP@.master.bundle.dir}/${@DROP@.bundle.name}"/>
+    <property name="@DROP@.master.bundle.url"
+              value="${@DROP@.master.bundle.url.base}/${@DROP@.bundle.name}"/>
+
+    <!-- Location where the copied bundle lands. -->
+    <property name="@DROP@.bundle.copy"
+              value="${drop.dir}/bundles/${@DROP@.bundle.name}"/>
+
+    <!-- Root of exploded area. -->
+    <property name="@DROP@.root.dir" value="${drop.dir}/@DROP@"/>
+    <property name="@DROP@.src.dir" value="${@DROP@.root.dir}/src"/>
+
+    <!-- To see if the drop areas are ready. (ignoring bundles) -->
+    <target name="-@DROP@-ready">
+        <condition property="@DROP@.ready">
+            <and>
+                <available file="${@DROP@.root.dir}" type="dir"/>
+                <available file="${@DROP@.root.dir}/PATCHED" type="file"/>
+            </and>
+        </condition>
+    </target>
+
+    <!-- Copy over bundles from some shared master area. -->
+    <condition property="@DROP@.master.bundle.copy.exists">
+        <available file="${@DROP@.master.bundle.copy}" type="file"/>
+    </condition>
+    <target name="-@DROP@-copy-bundle"
+	    depends="init, -@DROP@-ready"
+            if="@DROP@.master.bundle.copy.exists"
+            unless="@DROP@.ready">
+        <echo message="Copying from ${@DROP@.master.bundle.copy}"/>
+        <dirname property="@DROP@.bundle.dirname" file="${@DROP@.bundle.copy}"/>
+        <mkdir dir="${@DROP@.bundle.dirname}"/>
+        <delete file="${@DROP@.bundle.copy}.temp"/>
+        <delete file="${@DROP@.bundle.copy}"/>
+        <copy file="${@DROP@.master.bundle.copy}" tofile="${@DROP@.bundle.copy}.temp"/>
+        <move file="${@DROP@.bundle.copy}.temp" tofile="${@DROP@.bundle.copy}"/>
+        <property name="@DROP@.master.bundle.found" value="true"/>
+    </target>
+
+    <!-- Determine if the master url download should be used. -->
+    <target name="-@DROP@-url-should-be-used" unless="@DROP@.url.should.be.used">
+        <condition property="@DROP@.url.should.be.used">
+            <and>
+                <http url="${@DROP@.master.bundle.url.base}"/>
+                <not>
+                    <isset property="@DROP@.master.bundle.copy.exists"/>
+                </not>
+            </and>
+        </condition>
+    </target>
+
+    <!-- Download bundles from a url. -->
+    <target name="-@DROP@-url-bundle"
+	    depends="init, -@DROP@-ready, -@DROP@-url-should-be-used"
+            if="@DROP@.url.should.be.used"
+            unless="@DROP@.ready">
+        <echo message="Downloading from ${@DROP@.master.bundle.url}"/>
+        <dirname property="@DROP@.bundle.dirname" file="${@DROP@.bundle.copy}"/>
+        <mkdir dir="${@DROP@.bundle.dirname}"/>
+        <delete file="${@DROP@.bundle.copy}.temp"/>
+        <delete file="${@DROP@.bundle.copy}"/>
+        <get src="${@DROP@.master.bundle.url}" dest="${@DROP@.bundle.copy}.temp"/>
+        <move file="${@DROP@.bundle.copy}.temp" tofile="${@DROP@.bundle.copy}"/>
+        <property name="@DROP@.master.bundle.found" value="true"/>
+    </target>
+    
+    <!-- Fill in the drop zones, but just when needed. -->
+    <target name="@DROP@-update"
+            depends="init, 
+		     -@DROP@-copy-bundle,
+		     -@DROP@-url-bundle,
+                     -@DROP@-ready"
+            if="@DROP@.master.bundle.found"
+            unless="@DROP@.ready">
+        <delete dir="${@DROP@.root.dir}"/>
+        <delete dir="${@DROP@.root.dir}-temp"/>
+        <mkdir dir="${@DROP@.root.dir}-temp"/>
+        <unzip src="${@DROP@.bundle.copy}" dest="${@DROP@.root.dir}-temp"/>
+        <move file="${@DROP@.root.dir}-temp" tofile="${@DROP@.root.dir}"/>
+        <touch>
+            <fileset dir="${@DROP@.root.dir}"/>
+        </touch>
+        <condition property="patch.utility" value="gpatch" else="patch">
+            <os name="SunOS"/>
+        </condition>
+        <apply executable="${patch.utility}"
+		   dir="${@DROP@.root.dir}"
+	           parallel="false"
+	           failonerror="true"
+	           verbose="true">
+            <arg value="-l"/>
+            <arg value="-p0"/>
+            <arg value="-i"/>
+            <filelist dir="${patches.dir}/@DROP@" files="${@DROP@.patch.list}"/>
+        </apply>
+        <echo file="${@DROP@.root.dir}/PATCHED"
+	      message="Patches have been applied."/>
+    </target>
+
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/build.properties	Mon Sep 21 13:54:55 2009 -0700
@@ -0,0 +1,103 @@
+#
+# Copyright 2007-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+# Base locations where bundles are located
+slashjava=/java
+devtools=${slashjava}/devtools
+
+# This is the JDK used to build and run the bootstrap version of javac.
+# The bootstrap javac is used to compile both boostrap versions of the
+# other tools, and product versions of all the tools.
+# Override this path as needed, either on the command line or in 
+# one of the standard user build.properties files (see build.xml)
+javac.jar=${bootstrap.dir}/lib/javac.jar
+
+# options for the <javac> tasks used to compile the tools
+javac.source = 7
+javac.target = 7
+javac.debug = true
+javac.no.jdk.warnings = -XDignore.symbol.file=true
+# set the following to -version to verify the versions of javac being used
+javac.version.opt = 
+# in time, there should be no exceptions to -Xlint:all
+#javac.lint.opts = -Xlint:all,-unchecked,-deprecation,-fallthrough,-cast,-serial
+javac.lint.opts=
+
+# JVM memory size
+javac.memoryInitialSize = 256m
+javac.memoryMaximumSize = 512m
+
+#------------------------------------------------------------
+
+# Root of output directories
+output.dir=.
+
+# Built files
+build.dir=${output.dir}/build
+build.classes.dir=${build.dir}/classes
+
+# Distributed results
+dist.dir=${output.dir}/dist
+dist.lib.dir=${dist.dir}/lib
+dist.classes.jar=${dist.lib.dir}/classes.jar
+dist.src.zip=${dist.lib.dir}/src.zip
+
+# Where all drop sources live
+drop.dir=${output.dir}/drop
+
+# Where patches to drop bundle sources live
+patches.dir=patches
+
+# Original source area
+orig.dir=src
+orig.src.dir=${orig.dir}/share/classes
+
+# Sanity information
+sanity.info= Sanity Settings:${line.separator}\
+  ant.home=${ant.home}${line.separator}\
+  ant.version=${ant.version}${line.separator}\
+  ant.java.version=${ant.java.version}${line.separator}\
+  java.home=${java.home}${line.separator}\
+  java.version=${java.version}${line.separator}\
+  os.name=${os.name}${line.separator}\
+  os.arch=${os.arch}${line.separator}\
+  os.version=${os.version}${line.separator}\
+  bootstrap.dir=${bootstrap.dir}${line.separator}\
+  javac.jar=${javac.jar}${line.separator}\
+  javac.memoryInitialSize=${javac.memoryInitialSize}${line.separator}\
+  javac.memoryMaximumSize=${javac.memoryMaximumSize}${line.separator}\
+  javac.source=${javac.source}${line.separator}\
+  javac.debug=${javac.debug}${line.separator}\
+  javac.target=${javac.target}${line.separator}\
+  javac.version.opt=${javac.version.opt}${line.separator}\
+  javac.lint.opts=${javac.lint.opts}${line.separator}\
+  javac.no.jdk.warnings=${javac.no.jdk.warnings}${line.separator}\
+  output.dir=${output.dir}${line.separator}\
+  build.dir=${build.dir}${line.separator}\
+  dist.dir=${dist.dir}${line.separator}\
+  drop.dir=${drop.dir}${line.separator}\
+${line.separator}
+
+#------------------------------------------------------------
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/build.xml	Mon Sep 21 13:54:55 2009 -0700
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ This code is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License version 2 only, as
+ published by the Free Software Foundation.  Sun designates this
+ particular file as subject to the "Classpath" exception as provided
+ by Sun in the LICENSE file that accompanied this code.
+
+ This code is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ version 2 for more details (a copy is included in the LICENSE file that
+ accompanied this code).
+
+ You should have received a copy of the GNU General Public License version
+ 2 along with this work; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ CA 95054 USA or visit www.sun.com if you need additional information or
+ have any questions.
+-->
+
+<project name="jaxp" default="all" basedir=".">
+   
+    <!-- For 'ant -p' or 'ant -projecthelp' -->
+    
+    <description>
+    Ant build script for the ${ant.project.name} part of the jdk.
+
+    Input Properties: (see build.properties for the ant defaults)
+      bootstrap.dir        - dir with lib/javac.jar, added to javac bootclasspath
+      javac.debug          - true or false for debug classfiles
+      javac.target         - classfile version target
+      javac.source         - source version
+    </description>
+
+    <!-- Mac is special, need to downgrade these before build.properties. -->
+    <condition property="javac.source" value="1.5">
+        <os family="mac"/>
+    </condition>
+    <condition property="javac.target" value="1.5">
+        <os family="mac"/>
+    </condition>
+
+    <!-- Project build properties. -->
+    <property file="build.properties"/>
+
+    <!-- Get shared targets. -->
+    <import file="build-defs.xml"/>
+
+    <!-- Initialization of directories needed for build. -->
+    <target name="init">
+        <mkdir dir="${build.dir}"/>
+        <mkdir dir="${build.classes.dir}"/>
+        <mkdir dir="${dist.dir}"/>
+        <mkdir dir="${dist.lib.dir}"/>
+    </target>
+    
+    <!-- Sanity checks and settings -->
+    <target name="sanity"
+	    depends="-javac-jar-exists"
+            description="Display settings of configuration values">
+        <echo message="${sanity.info}"/>
+    </target>
+
+     <!-- Check for bootstrap javac.jar file, warn if missing. -->
+    <condition property="javac.jar.exists">
+        <available file="${javac.jar}" type="file"/>
+    </condition>
+    <target name="-javac-jar-exists"
+            unless="javac.jar.exists">
+        <echo message="WARNING: Cannot find ${javac.jar}"/>
+    </target>
+
+    <!-- Creation of distribution files to jdk build process. -->
+    <target name="dist"
+	    depends="init, -init-src-dirs, build, -dist-classes-jar, -dist-src-zip"
+            description="Create all built distribution files.">
+    </target>
+    <target name="-dist-classes-jar-uptodate"
+	    depends="init, -init-src-dirs">
+        <condition property="dist.classes.jar.uptodate">
+            <and>
+                <available file="${dist.classes.jar}" type="file"/>
+                <uptodate targetfile="${dist.classes.jar}">
+                    <srcfiles dir="${build.classes.dir}" includes="**"/>
+                </uptodate>
+            </and>
+        </condition>
+    </target>
+    <target name="-dist-classes-jar"
+	    depends="init, -init-src-dirs, -dist-classes-jar-uptodate"
+            unless="dist.classes.jar.uptodate">
+        <delete file="${dist.classes.jar}"/>
+        <jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/>
+    </target>
+
+    <target name="-build-prep"
+	    depends="init, -init-src-dirs, -drop-build-prep">
+    </target>
+
+    <!-- Build (compilation) of sources to class files. -->
+    <target name="build"
+	    depends="init, -init-src-dirs, -build-prep">
+        <javac fork="true"
+             destdir="${build.classes.dir}"
+             memoryInitialSize="${javac.memoryInitialSize}"
+             memoryMaximumSize="${javac.memoryMaximumSize}"
+             source="${javac.source}"
+	     debug="${javac.debug}"
+             target="${javac.target}">
+            <compilerarg value="-J-Xbootclasspath/p:${javac.jar}"/>
+            <compilerarg line="${javac.version.opt} ${javac.lint.opts} ${javac.no.jdk.warnings}"/>
+            <src refid="src.dir.id"/>
+        </javac>
+    </target>
+
+    <!-- Test. (FIXME: Need to know how to run tests.) -->
+    <target name="test"
+	    depends="init, -init-src-dirs, dist">
+        <echo message="FIXME: How do you run the tests"/>
+    </target>
+    
+    <!-- Populate source area if needed. -->
+    <target name="source"
+            depends="init, -init-src-dirs"
+            description="Populate all source file directories">
+    </target>
+
+    <!-- Clean up compiled files. -->
+    <target name="clean"
+            description="Delete all generated files">
+        <delete dir="${build.dir}"/>
+        <delete dir="${dist.dir}"/>
+    </target>
+
+    <!-- Clean up compiled files and all imported source files. -->
+    <target name="clobber"
+	    depends="clean"
+            description="Delete all generated files, including imported sources">
+        <delete dir="${drop.dir}"/>
+    </target>
+
+    <target name="-banner">
+        <echo message="+---------------------------------------+"/>
+        <echo message="+ Starting ant project ${ant.project.name} +"/>
+        <echo message="+---------------------------------------+"/>
+    </target>
+   
+    <!-- Do everything but test. -->
+    <target name="all"
+	    depends="-banner, sanity, dist"
+            description="Build everything.">
+        <echo message="+---------------------------------------+"/>
+        <echo message="+ Finishing ant project ${ant.project.name}"/>
+        <echo message="+---------------------------------------+"/>
+    </target>
+
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/jaxp.properties	Mon Sep 21 13:54:55 2009 -0700
@@ -0,0 +1,36 @@
+#
+# Copyright 2007-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+drops.master.copy.base=${devtools}/share/jdk7-drops
+drops.master.url.base=http://kenai.com/projects/jdk7-drops/downloads/download
+
+jaxp_src.bundle.name=jdk7-jaxp-2009_08_28.zip
+jaxp_src.master.bundle.dir=${drops.master.copy.base}
+#jaxp_src.bundle.url.base=https://jaxp.dev.java.net/files/documents/913/142147
+jaxp_src.master.bundle.url.base=${drops.master.url.base}
+
+jaxp_tests.bundle.name=jdk7-jaxp-tests-2009_08_28.zip
+jaxp_tests.master.bundle.dir=${drops.master.copy.base}
+jaxp_tests.master.bundle.url.base=${drops.master.url.base}
--- a/jaxp/make/Makefile	Thu Sep 17 13:46:50 2009 -0700
+++ b/jaxp/make/Makefile	Mon Sep 21 13:54:55 2009 -0700
@@ -23,7 +23,7 @@
 # have any questions.
 #
 
-# Makefile for jaxp: wrapper around Ant build.xml file
+# Makefile wrapper around Ant build.xml file
 
 #
 # On Solaris, the 'make' utility from Sun will not work with these makefiles.
@@ -41,38 +41,12 @@
   ANT_OPTIONS += -verbose
 endif
 
-ifdef JDK_VERSION
-  ANT_OPTIONS += -Djdk.version=$(JDK_VERSION)
-endif 
-
-ifdef FULL_VERSION
-  ANT_OPTIONS += -Dfull.version='$(FULL_VERSION)' # will contain spaces
-endif 
-
-ifdef MILESTONE
-  ANT_OPTIONS += -Dmilestone=$(MILESTONE)
-endif
-
-ifdef BUILD_NUMBER
-  ANT_OPTIONS += -Dbuild.number=$(BUILD_NUMBER)
-else
-  ifdef JDK_BUILD_NUMBER
-    ANT_OPTIONS += -Dbuild.number=$(JDK_BUILD_NUMBER)
-  endif
-endif
-
-ifeq ($(VARIANT), DBG)
-  ANT_OPTIONS += -Djavac.debug=true
-else
-  ifeq ($(VARIANT), OPT)
+ifeq ($(VARIANT), OPT)
+  ifneq ($(DEBUG_CLASSFILES), true)
     ANT_OPTIONS += -Djavac.debug=false
   endif
 endif
 
-ifeq ($(DEBUG_CLASSFILES), true)
-  ANT_OPTIONS += -Djavac.debug=true
-endif
-
 # Note: jdk/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN)
 # and the somewhat misnamed CLASS_VERSION (-target NN)
 ifdef TARGET_CLASS_VERSION
@@ -81,7 +55,7 @@
   ifdef JAVAC_TARGET_ARG
     ANT_OPTIONS += -Djavac.target=$(JAVAC_TARGET_ARG)
   endif
-endif 
+endif
 
 ifdef SOURCE_LANGUAGE_VERSION
   ANT_OPTIONS += -Djavac.source=$(SOURCE_LANGUAGE_VERSION)
@@ -91,24 +65,53 @@
   endif
 endif 
 
-ifdef ALT_BOOTDIR
-  ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR)
+# Figure out the platform we are using
+_SYSTEM_UNAME := $(shell uname)
+_PLATFORM_KIND = unix
+ifeq ($(_SYSTEM_UNAME), Windows_NT)
+  _PLATFORM_KIND = windows
+endif
+ifneq (,$(findstring CYGWIN,$(_SYSTEM_UNAME)))
+  _PLATFORM_KIND = windows
 endif
 
+# Where is /java in case we need it
+ifdef ALT_SLASH_JAVA
+  _SLASHJAVA = $(ALT_SLASH_JAVA)
+else
+  ifeq ($(_PLATFORM_KIND), windows)
+    _SLASHJAVA=J:/
+  else
+    _SLASHJAVA=/java
+  endif
+endif
+
+# Where is /java/devtools in case we need it
+ifdef ALT_JDK_DEVTOOLS_DIR
+  _DEVTOOLS = $(ALT_JDK_DEVTOOLS_DIR)
+else
+  _DEVTOOLS = $(_SLASHJAVA)/devtools
+endif
+
+# Add in path to devtools
+ANT_OPTIONS += -Ddevtools=$(_DEVTOOLS)
+
 ifdef ALT_OUTPUTDIR
   OUTPUTDIR = $(ALT_OUTPUTDIR)
-  ANT_OPTIONS += -Dbuild.dir=$(ALT_OUTPUTDIR)/build
-  ANT_OPTIONS += -Ddist.dir=$(ALT_OUTPUTDIR)/dist
+  ANT_OPTIONS += -Doutput.dir=$(ALT_OUTPUTDIR)
 else
   OUTPUTDIR = ..
 endif
 
 ifdef ALT_LANGTOOLS_DIST
+  ifdef ALT_BOOTDIR
+    ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR)
+  endif
   ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap
-endif
-
-ifdef FINDBUGS_HOME
-  ANT_OPTIONS += -Dfindbugs.home=$(FINDBUGS_HOME)
+else
+  ifdef ALT_JDK_IMPORT_PATH
+    ANT_JAVA_HOME = JAVA_HOME=$(ALT_JDK_IMPORT_PATH)
+  endif
 endif
 
 ifdef ANT_HOME
@@ -124,26 +127,67 @@
 endif
 
 # Default target and expected 'do everything' target
-all: build
-
-# Standard make clobber target
-clobber: clean
+default: all
 
 # All ant targets of interest
-ANT_TARGETS = build clean sanity # for now
+ANT_TARGETS = all source build dist clobber clean sanity
 
 # Create a make target for each
 $(ANT_TARGETS):
-	$(ANT_JAVA_HOME) $(ANT) -version
-	$(ANT_JAVA_HOME) $(ANT) $(ANT_OPTIONS) $@
+	cd .. && $(ANT_JAVA_HOME) $(ANT) -version
+	cd .. && $(ANT_JAVA_HOME) $(ANT) $(ANT_OPTIONS) $@
+
+# Help target
+define helpenvline
+@echo "    $1";echo "        $2"
+endef
+help:
+	@echo "----------------------------------------------------------"
+	@echo " "
+	@echo "Help information for this Makefile:"
+	@echo " "
+	@echo "  Targets (see ant project information for descriptions):"
+	@echo "    $(ANT_TARGETS)"
+	@echo " "
+	@echo "  Environment or command line variables (all optional):"
+	$(call helpenvline, ALT_BOOTDIR,\
+	       "JAVA_HOME to use when running ant")
+	$(call helpenvline, ALT_LANGTOOLS_DIST,\
+	       "path to langtools repository dist directory")
+	$(call helpenvline, ALT_OUTPUTDIR,\
+	       "path to root of output")
+	$(call helpenvline, DEBUG_CLASSFILES,\
+	       "if set makes sure ant property javac.debug is true")
+	$(call helpenvline, JAVAC_SOURCE_ARG,\
+	       "if SOURCE_LANGUAGE_VERSION not set uses this to set ant property javac.source")
+	$(call helpenvline, JAVAC_TARGET_ARG,\
+	       "if TARGET_CLASS_VERSION not set uses this to set ant property javac.target")
+	$(call helpenvline, SOURCE_LANGUAGE_VERSION,\
+	       "if set uses this to set ant property javac.source")
+	$(call helpenvline, QUIET,\
+	       "if set will pass -quiet to ant")
+	$(call helpenvline, TARGET_CLASS_VERSION,\
+	       "JAVA_HOME to use when running ant")
+	$(call helpenvline, VARIANT,\
+	       "if set to OPT means optimized build will set javac.debug to false")
+	$(call helpenvline, VERBOSE,\
+	       "if set will pass -verbose to ant")
+	@echo " "
+	@echo "----------------------------------------------------------"
+	@echo " "
+	@echo "Ant project file help information:"
+	@echo " "
+	@$(ANT_JAVA_HOME) cd .. && $(ANT) $(ANT_OPTIONS) -p
+	@echo " "
+	@echo "----------------------------------------------------------"
 
 # Targets for Sun's internal JPRT build system
 JPRT_ARCHIVE_BUNDLE=$(OUTPUTDIR)/jprt.zip
 jprt_build_product jprt_build_debug jprt_build_fastdebug: all
 	$(RM) $(JPRT_ARCHIVE_BUNDLE)
 	( cd $(OUTPUTDIR)/dist && \
-	  zip -q -r $(JPRT_ARCHIVE_BUNDLE) . )
+	   zip -q -r $(JPRT_ARCHIVE_BUNDLE) . )
 
 # Declare these phony (not filenames)
-.PHONY: $(ANT_TARGETS) all clobber \
+.PHONY: $(ANT_TARGETS) \
 	jprt_build_product jprt_build_debug jprt_build_fastdebug
--- a/jaxp/make/build.properties	Thu Sep 17 13:46:50 2009 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-#
-# Copyright 2007-2009 Sun Microsystems, Inc.  All Rights Reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Sun designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Sun in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-# CA 95054 USA or visit www.sun.com if you need additional information or
-# have any questions.
-#
-
-# This is the JDK used to build and run the bootstrap version of javac.
-# The bootstrap javac is used to compile both boostrap versions of the
-# other tools, and product versions of all the tools.
-# Override this path as needed, either on the command line or in 
-# one of the standard user build.properties files (see build.xml)
-
-# options for the <javac> tasks used to compile the tools
-javac.source = 7
-javac.target = 7
-javac.debug = true
-javac.no.jdk.warnings = -XDignore.symbol.file=true
-# set the following to -version to verify the versions of javac being used
-javac.version.opt = 
-# in time, there should be no exceptions to -Xlint:all
-javac.lint.opts = -Xlint:all,-unchecked,-deprecation,-fallthrough,-cast,-serial -Werror
-
-# JVM memory size
-javac.memoryInitialSize = 128m
-javac.memoryMaximumSize = 256m
-
-#------------------------------------------------------------
--- a/jaxp/make/build.xml	Thu Sep 17 13:46:50 2009 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Copyright 2007-2009 Sun Microsystems, Inc.  All Rights Reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- This code is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License version 2 only, as
- published by the Free Software Foundation.  Sun designates this
- particular file as subject to the "Classpath" exception as provided
- by Sun in the LICENSE file that accompanied this code.
-
- This code is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- version 2 for more details (a copy is included in the LICENSE file that
- accompanied this code).
-
- You should have received a copy of the GNU General Public License version
- 2 along with this work; if not, write to the Free Software Foundation,
- Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- CA 95054 USA or visit www.sun.com if you need additional information or
- have any questions.
--->
-
-<!--
- This is the main build file for the complete jaxp workspace.
- -->
-
-<project name="jaxp" default="all" basedir=".">
-
-    <!-- Convenient shorthands for standard locations within the workspace. -->
-    <property file="build.properties"/>
-    <property name="topdir" value=".."/>
-    <property name="build.dir" location="${topdir}/build"/>
-    <property name="build.classes.dir" location="${build.dir}/classes"/>
-    <property name="build.gensrc.dir" location="${build.dir}/gensrc"/>
-    <property name="build.toolclasses.dir" location="${build.dir}/toolclasses"/>
-    <property name="dist.dir" location="${topdir}/dist"/>
-    <property name="dist.lib.dir" location="${dist.dir}/lib"/>
-    <property name="make.dir" location="${topdir}/make"/>
-    <property name="make.tools.dir" location="${make.dir}/tools"/>
-    <property name="src.dir" location="${topdir}/src"/>
-    <property name="src.classes.dir" location="${src.dir}/share/classes"/>
-    <property environment="env"/>
-
-    <target name="build" depends="banner, build-classes, build-tools">
-	<mkdir dir="${dist.lib.dir}"/>
-	<jar file="${dist.lib.dir}/classes.jar" basedir="${build.classes.dir}"/>
-	<zip file="${dist.lib.dir}/src.zip" basedir="${src.classes.dir}"/>
-    </target>
-
-    <!-- Debug information -->
-    <target name="sanity"
-        description="display settings of configuration values">
-	<echo level="info">ant.home = ${ant.home}</echo>
-	<echo level="info">java.home = ${env.JAVA_HOME}</echo>
-	<echo level="info">bootstrap.dir = ${bootstrap.dir}</echo>
-    </target>
-
-    <target name="build-tools" depends="-defs-pstrip">
-        <mkdir dir="${build.dir}"/>
-        <mkdir dir="${build.classes.dir}"/>
-	    <pstrip srcdir="${src.classes.dir}"
-                    destdir="${build.classes.dir}"
-		    includes="**/*.properties"/>
-    </target>
-
-    <target name="-defs-pstrip">
-      <mkdir dir="${build.toolclasses.dir}"/>
-      <javac srcdir="${make.tools.dir}/StripProperties"
-		destdir="${build.toolclasses.dir}/"
-		classpath="${ant.home}/lib/ant.jar"/>
-      <taskdef name="pstrip"
-		 classname="StripPropertiesTask"
-		 classpath="${build.toolclasses.dir}/"/>
-    </target>
-
-    <target name="build-classes" depends="sanity">
-      <mkdir dir="${build.dir}"/>
-      <mkdir dir="${build.classes.dir}"/>
-      <javac fork="true"
-             srcdir="${src.classes.dir}"
-             destdir="${build.classes.dir}"
-             memoryInitialSize="${javac.memoryInitialSize}"
-             memoryMaximumSize="${javac.memoryMaximumSize}"
-	     source="${javac.source}"
-	     debug="${javac.debug}"
-             target="${javac.target}">
-         <compilerarg value="-J-Xbootclasspath/p:${bootstrap.dir}/lib/javac.jar"/>
-         <compilerarg line="${javac.version.opt}"/>
-      </javac>
-    </target>
-
-    <target name="clean" description="Delete all generated files">
-	<delete dir="${build.dir}"/>
-	<delete dir="${dist.dir}"/>
-    </target>
-
-    <target name="banner">
-      <echo>+---------------------------------------+</echo>
-      <echo>+    Building JAXP Component            +</echo>
-      <echo>+---------------------------------------+</echo>
-    </target>
-
-</project>
--- a/jaxp/make/jprt.properties	Thu Sep 17 13:46:50 2009 -0700
+++ b/jaxp/make/jprt.properties	Mon Sep 21 13:54:55 2009 -0700
@@ -34,8 +34,8 @@
 solaris_x64_5.10,\
 linux_i586_2.6,\
 linux_x64_2.6,\
-windows_i586,\
-windows_x64
+windows_i586_5.0,\
+windows_x64_5.2
 
 # The different build flavors we want
 jprt.build.flavors=product,fastdebug
@@ -49,7 +49,6 @@
 # Standard list of jprt test targets for this workspace
 jprt.test.targets=
 
-# Directories needed to build
-jprt.bundle.src.dirs=make src
+# Directories needing to exclude from source bundles
 jprt.bundle.exclude.src.dirs=build dist
 
--- a/jaxp/make/tools/StripProperties/StripProperties.java	Thu Sep 17 13:46:50 2009 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,329 +0,0 @@
-/*
- * Copyright 2001 Sun Microsystems, Inc.  All Rights Reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-import java.io.BufferedInputStream;
-import java.io.BufferedWriter;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * Reads a properties file from standard input and writes an equivalent
- * properties file without comments to standard output.
- */
-public class StripProperties {
-
-    public static void main(String[] args) {
-        StripProperties sp = new StripProperties();
-        boolean ok = sp.run(args);
-        if ( !ok ) {
-            System.exit(1);
-        }
-    }
-
-    static interface Log {
-        void info(String msg);
-        void verbose(String msg);
-        void error(String msg, Exception e);
-    }
-
-    private String propfiles[];
-    private String outfiles[] ;
-    private int stripCount = 0;
-    private boolean quiet = false;
-    private Log log;
-
-    public void setLog(Log log) {
-        this.log = log;
-    }
-
-    private boolean parseOptions(String args[]) {
-        boolean ok = true;
-        if ( stripCount > 0 ) {
-            String new_propfiles[] = new String[stripCount + args.length];
-            String new_outfiles[]  = new String[stripCount + args.length];
-            System.arraycopy(propfiles, 0, new_propfiles, 0, stripCount);
-            System.arraycopy(outfiles, 0, new_outfiles, 0, stripCount);
-            propfiles = new_propfiles;
-            outfiles  = new_outfiles;
-        } else {
-            propfiles = new String[args.length];
-            outfiles  = new String[args.length];
-        }
-
-        for ( int i = 0; i < args.length ; i++ ) {
-            if ( "-strip".equals(args[i]) && i+2 < args.length ) {
-                propfiles[stripCount] = args[++i];
-                outfiles[stripCount]    = args[++i];
-                stripCount++;
-            } else if ( "-optionsfile".equals(args[i]) && i+1 < args.length ) {
-                String filename = args[++i];
-                FileInputStream finput = null;
-                byte contents[] = null;
-                try {
-                    finput = new FileInputStream(filename);
-                    int byteCount = finput.available();
-                    if ( byteCount <= 0 ) {
-                        log.error("The -optionsfile file is empty", null);
-                        ok = false;
-                    } else {
-                        contents = new byte[byteCount];
-                        int bytesRead = finput.read(contents);
-                        if ( byteCount != bytesRead ) {
-                            log.error("Cannot read all of -optionsfile file", null);
-                            ok = false;
-                        }
-                    }
-                } catch ( IOException e ) {
-                    log.error("cannot open " + filename, e);
-                    ok = false;
-                }
-                if ( finput != null ) {
-                    try {
-                        finput.close();
-                    } catch ( IOException e ) {
-                        ok = false;
-                        log.error("cannot close " + filename, e);
-                    }
-                }
-                if ( ok = true && contents != null ) {
-                    String tokens[] = (new String(contents)).split("\\s+");
-                    if ( tokens.length > 0 ) {
-                        ok = parseOptions(tokens);
-                    }
-                }
-                if ( !ok ) {
-                    break;
-                }
-        } else if ( "-quiet".equals(args[i]) ) {
-                quiet = true;
-        } else {
-                log.error("argument error", null);
-                ok = false;
-        }
-        }
-        return ok;
-    }
-
-    private boolean stripFiles(String propertiesPath, String outputPath) {
-        boolean ok = true;
-        Properties prop = new Properties();
-        InputStream in = null;
-        try {
-                in = new BufferedInputStream(new FileInputStream(propertiesPath));
-                prop.load(in);
-        } catch ( FileNotFoundException e ) {
-                log.error("Cannot access file " + propertiesPath, e);
-                ok = false;
-        } catch ( IOException e ) {
-                log.error("IO exception processing file " + propertiesPath, e);
-                ok = false;
-        }
-        if ( in != null ) {
-                try {
-                    in.close();
-                } catch ( IOException e ) {
-                    log.error("IO exception closing file " + propertiesPath, e);
-                    ok = false;
-                }
-        }
-
-        OutputStream out = null;
-        try {
-                out = new FileOutputStream(outputPath);
-                storeProperties(prop, out);
-                out.flush();
-        } catch ( IOException e ) {
-                log.error("IO exception processing file " + outputPath, e);
-                e.printStackTrace();
-                ok = false;
-        }
-        if ( out != null ) {
-           try {
-                    out.close();
-           } catch ( IOException e ) {
-                    log.error("IO exception closing file " + outputPath, e);
-                    ok = false;
-           }
-        }
-        return ok;
-    }
-
-    /**
-     * Strip the properties filenames supplied, replacing their contents.
-     * @param args Names of properties files to process and replace contents
-     */
-    public boolean run(String args[]) {
-        if (log == null) {
-            log = new Log() {
-                public void error(String msg, Exception e) {
-                    System.err.println("ERROR: StripProperties: " + msg);
-                    if ( e != null ) {
-                        System.err.println("EXCEPTION: " + e.toString());
-                        e.printStackTrace();
-                    }
-                }
-                public void info(String msg) {
-                    System.out.println(msg);
-                }
-                public void verbose(String msg) {
-                    if (!quiet)
-                        System.out.println(msg);
-                }
-            };
-        }
-
-        boolean ok = true;
-        ok = parseOptions(args);
-        if ( ok && stripCount == 0 ) {
-                log.error("options parsed but no files to compile", null);
-                ok = false;
-        }
-        /* Need at least one file. */
-        if ( !ok ) {
-            //usage(log);
-        } else {
-            /* Process files */
-            for ( int i = 0; i < stripCount && ok ; i++ ) {
-                    ok = stripFiles(propfiles[i], outfiles[i]);
-            }
-        }
-        return ok;
-    }
-
-    // --- code below here is adapted from java.util.Properties ---
-
-    private static final String specialSaveChars = "=: \t\r\n\f#!";
-
-    /*
-     * Converts unicodes to encoded &#92;uxxxx
-     * and writes out any of the characters in specialSaveChars
-     * with a preceding slash
-     */
-    private static String saveConvert(String theString, boolean escapeSpace) {
-        int len = theString.length();
-        StringBuffer outBuffer = new StringBuffer(len*2);
-
-        for(int x=0; x<len; x++) {
-            char aChar = theString.charAt(x);
-            switch(aChar) {
-                case ' ':
-                    if (x == 0 || escapeSpace) {
-                        outBuffer.append('\\');
-                    }
-                    outBuffer.append(' ');
-                    break;
-                case '\\':
-                    outBuffer.append('\\');
-                    outBuffer.append('\\');
-                    break;
-                case '\t':
-                    outBuffer.append('\\');
-                    outBuffer.append('t');
-                    break;
-                case '\n':
-                    outBuffer.append('\\');
-                    outBuffer.append('n');
-                    break;
-                case '\r':
-                    outBuffer.append('\\');
-                    outBuffer.append('r');
-                    break;
-                case '\f':
-                    outBuffer.append('\\');
-                    outBuffer.append('f');
-                    break;
-                default:
-                    if ((aChar < 0x0020) || (aChar == 0x007e) || (aChar > 0x00ff)) {
-                        outBuffer.append('\\');
-                        outBuffer.append('u');
-                        outBuffer.append(toHex((aChar >> 12) & 0xF));
-                        outBuffer.append(toHex((aChar >>  8) & 0xF));
-                        outBuffer.append(toHex((aChar >>  4) & 0xF));
-                        outBuffer.append(toHex( aChar        & 0xF));
-                    } else {
-                        if (specialSaveChars.indexOf(aChar) != -1) {
-                            outBuffer.append('\\');
-                        }
-                        outBuffer.append(aChar);
-                    }
-            }
-        }
-        return outBuffer.toString();
-    }
-
-    /**
-     * Writes the content of <code>properties</code> to <code>out</code>.
-     * The format is that of Properties.store with the following modifications:
-     * <ul>
-     * <li>No header or date is written
-     * <li>Latin-1 characters are written as single bytes, not escape sequences
-     * <li>Line breaks are indicated by a single \n independent of platform
-     * <ul>
-     */
-    private static void storeProperties(Properties properties, OutputStream out)
-    throws IOException {
-        BufferedWriter awriter;
-        awriter = new BufferedWriter(new OutputStreamWriter(out, "8859_1"));
-        for (Enumeration e = properties.keys(); e.hasMoreElements();) {
-            String key = (String)e.nextElement();
-            String val = (String)properties.get(key);
-            key = saveConvert(key, true);
-
-            /* No need to escape embedded and trailing spaces for value, hence
-             * pass false to flag.
-             */
-            val = saveConvert(val, false);
-            writeln(awriter, key + "=" + val);
-        }
-        awriter.flush();
-    }
-
-    private static void writeln(BufferedWriter bw, String s) throws IOException {
-        bw.write(s);
-        bw.write("\n");
-    }
-
-    /**
-     * Convert a nibble to a hex character
-     * @param   nibble  the nibble to convert.
-     */
-    private static char toHex(int nibble) {
-        return hexDigit[(nibble & 0xF)];
-    }
-
-    /** A table of hex digits */
-    private static final char[] hexDigit = {
-        '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
-    };
-}
--- a/jaxp/make/tools/StripProperties/StripPropertiesTask.java	Thu Sep 17 13:46:50 2009 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
- * Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.DirectoryScanner;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.MatchingTask;
-
-public class StripPropertiesTask extends MatchingTask {
-    public void setSrcDir(File srcDir) {
-        this.srcDir = srcDir;
-    }
-
-    public void setDestDir(File destDir) {
-        this.destDir = destDir;
-    }
-
-    public void execute() {
-        StripProperties.Log log = new StripProperties.Log() {
-            public void error(String msg, Exception e) {
-                log(msg, Project.MSG_ERR);
-            }
-            public void info(String msg) {
-                log(msg, Project.MSG_INFO);
-            }
-            public void verbose(String msg) {
-                log(msg, Project.MSG_VERBOSE);
-            }
-        };
-        List<String> mainOpts = new ArrayList<String>();
-        int count = 0;
-        DirectoryScanner s = getDirectoryScanner(srcDir);
-        for (String path: s.getIncludedFiles()) {
-            if (path.endsWith(".properties")) {
-                File srcFile = new File(srcDir, path);
-                File destFile = new File(destDir, path);
-                // Arguably, the comparison in the next line should be ">", not ">="
-                // but that assumes the resolution of the last modified time is fine
-                // grained enough; in practice, it is better to use ">=".
-                if (destFile.exists() && destFile.lastModified() >= srcFile.lastModified())
-                    continue;
-                destFile.getParentFile().mkdirs();
-                mainOpts.add("-strip");
-                mainOpts.add(srcFile.getPath());
-                mainOpts.add(destFile.getPath());
-                count++;
-            }
-        }
-        if (mainOpts.size() > 0) {
-            log("Generating " + count + " resource files to " + destDir, Project.MSG_INFO);
-            StripProperties sp = new StripProperties();
-            sp.setLog(log);
-            boolean ok = sp.run((String[])mainOpts.toArray(new String[mainOpts.size()]));
-            if (!ok)
-                throw new BuildException("StripProperties failed.");
-        }
-    }
-
-    private File srcDir;
-    private File destDir;
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/nbproject/findbugs.settings	Mon Sep 21 13:54:55 2009 -0700
@@ -0,0 +1,72 @@
+#FindBugs User Preferences
+#Tue Jun 30 18:33:11 PDT 2009
+detectorAbnormalFinallyBlockReturn=AbnormalFinallyBlockReturn|false
+detectorAbstractClassEmptyMethods=AbstractClassEmptyMethods|false
+detectorAbstractOverriddenMethod=AbstractOverriddenMethod|false
+detectorArrayBasedCollections=ArrayBasedCollections|false
+detectorArrayWrappedCallByReference=ArrayWrappedCallByReference|false
+detectorBloatedAssignmentScope=BloatedAssignmentScope|false
+detectorBloatedSynchronizedBlock=BloatedSynchronizedBlock|false
+detectorClassEnvy=ClassEnvy|false
+detectorCollectStatistics=CollectStatistics|false
+detectorConfusingAutoboxedOverloading=ConfusingAutoboxedOverloading|false
+detectorConstantListIndex=ConstantListIndex|false
+detectorCopiedOverriddenMethod=CopiedOverriddenMethod|false
+detectorCustomBuiltXML=CustomBuiltXML|false
+detectorCyclomaticComplexity=CyclomaticComplexity|false
+detectorDateComparison=DateComparison|false
+detectorDeclaredRuntimeException=DeclaredRuntimeException|false
+detectorDeletingWhileIterating=DeletingWhileIterating|false
+detectorDubiousListCollection=DubiousListCollection|false
+detectorFieldCouldBeLocal=FieldCouldBeLocal|false
+detectorFinalParameters=FinalParameters|false
+detectorFloatingPointLoops=FloatingPointLoops|false
+detectorInefficientStringBuffering=InefficientStringBuffering|false
+detectorInheritanceTypeChecking=InheritanceTypeChecking|false
+detectorJDBCVendorReliance=JDBCVendorReliance|false
+detectorListIndexedIterating=ListIndexedIterating|false
+detectorLiteralStringComparison=LiteralStringComparison|false
+detectorLocalSynchronizedCollection=LocalSynchronizedCollection|false
+detectorLostExceptionStackTrace=LostExceptionStackTrace|false
+detectorManualArrayCopy=ManualArrayCopy|false
+detectorMethodReturnsConstant=MethodReturnsConstant|false
+detectorNeedlessAutoboxing=NeedlessAutoboxing|false
+detectorNeedlessCustomSerialization=NeedlessCustomSerialization|false
+detectorNeedlessInstanceRetrieval=NeedlessInstanceRetrieval|false
+detectorNeedlessMemberCollectionSynchronization=NeedlessMemberCollectionSynchronization|false
+detectorNonCollectionMethodUse=NonCollectionMethodUse|false
+detectorNonOwnedSynchronization=NonOwnedSynchronization|false
+detectorNonRecycleableTaglibs=NonRecycleableTaglibs|false
+detectorOrphanedDOMNode=OrphanedDOMNode|false
+detectorOverlyConcreteParameter=OverlyConcreteParameter|false
+detectorParallelLists=ParallelLists|false
+detectorPartiallyConstructedObjectAccess=PartiallyConstructedObjectAccess|false
+detectorPossibleIncompleteSerialization=PossibleIncompleteSerialization|false
+detectorPossibleMemoryBloat=PossibleMemoryBloat|false
+detectorPossiblyRedundantMethodCalls=PossiblyRedundantMethodCalls|false
+detectorSQLInLoop=SQLInLoop|false
+detectorSection508Compliance=Section508Compliance|false
+detectorSillynessPotPourri=SillynessPotPourri|false
+detectorSloppyClassReflection=SloppyClassReflection|false
+detectorSluggishGui=SluggishGui|false
+detectorSpoiledChildInterfaceImplementor=SpoiledChildInterfaceImplementor|false
+detectorSpuriousThreadStates=SpuriousThreadStates|false
+detectorStaticArrayCreatedInMethod=StaticArrayCreatedInMethod|false
+detectorStaticMethodInstanceInvocation=StaticMethodInstanceInvocation|false
+detectorSuspiciousComparatorReturnValues=SuspiciousComparatorReturnValues|false
+detectorSuspiciousJDKVersionUse=SuspiciousJDKVersionUse|false
+detectorSuspiciousWaitOnConcurrentObject=SuspiciousWaitOnConcurrentObject|false
+detectorSyncCollectionIterators=SyncCollectionIterators|false
+detectorTailRecursion=TailRecursion|false
+detectorUnnecessaryStoreBeforeReturn=UnnecessaryStoreBeforeReturn|false
+detectorUnrelatedCollectionContents=UnrelatedCollectionContents|false
+detectorUnrelatedReturnValues=UnrelatedReturnValues|false
+detectorUseAddAll=UseAddAll|false
+detectorUseCharacterParameterizedMethod=UseCharacterParameterizedMethod|false
+detectorUseEnumCollections=UseEnumCollections|false
+detectorUseSplit=UseSplit|false
+detectorUseToArray=UseToArray|false
+detector_threshold=2
+effort=default
+filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,I18N,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false
+filter_settings_neg=|
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/nbproject/project.xml	Mon Sep 21 13:54:55 2009 -0700
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.ant.freeform</type>
+    <configuration>
+        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
+            <name>jaxp</name>
+        </general-data>
+        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/2">
+            <!-- Do not use Project Properties customizer when editing this file manually. -->
+            <name>jaxp</name>
+            <properties/>
+            <folders>
+                <source-folder>
+                    <label>jaxp</label>
+                    <location>.</location>
+                    <encoding>UTF-8</encoding>
+                </source-folder>
+            </folders>
+            <ide-actions>
+                <action name="build">
+                    <target>build</target>
+                </action>
+                <action name="clean">
+                    <target>clean</target>
+                </action>
+                <action name="rebuild">
+                    <target>clean</target>
+                    <target>build</target>
+                </action>
+            </ide-actions>
+            <view>
+                <items>
+                    <source-file>
+                        <location>build.xml</location>
+                    </source-file>
+                </items>
+                <context-menu>
+                    <ide-action name="build"/>
+                    <ide-action name="rebuild"/>
+                    <ide-action name="clean"/>
+                </context-menu>
+            </view>
+            <subprojects/>
+        </general-data>
+        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/1"/>
+        <preferences xmlns="http://www.netbeans.org/ns/auxiliary-configuration-preferences/1">
+            <module name="org-netbeans-modules-editor-indent"/>
+        </preferences>
+    </configuration>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/nbproject/sqe.properties	Mon Sep 21 13:54:55 2009 -0700
@@ -0,0 +1,2 @@
+#Path to FindbugsSettingsFile (relative)
+findbugs.settings.file=findbugs.settings
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/patches/jaxp_src/README	Mon Sep 21 13:54:55 2009 -0700
@@ -0,0 +1,5 @@
+
+This directory will hold any patches that need to be applied to the drop files.
+
+The patch order is defined in the ant build script properties.
+