# HG changeset patch # User ohair # Date 1253566495 25200 # Node ID 0d9209bdf36c1b6d8614d069f354055569d7c043 # Parent 3fcbbc0199a7706e2f62842f1c958937dc75a59b 6856630: Restructure jaxp/jaxws repositories Reviewed-by: darcy, tbell diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/.hgignore --- 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/ diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/README --- 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. + diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/build-defs.xml --- /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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/build-drop-template.xml --- /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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/build.properties --- /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 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} + +#------------------------------------------------------------ diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/build.xml --- /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 @@ + + + + + + + + + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/jaxp.properties --- /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} diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/make/Makefile --- 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 diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/make/build.properties --- 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 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 - -#------------------------------------------------------------ diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/make/build.xml --- 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ant.home = ${ant.home} - java.home = ${env.JAVA_HOME} - bootstrap.dir = ${bootstrap.dir} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +---------------------------------------+ - + Building JAXP Component + - +---------------------------------------+ - - - diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/make/jprt.properties --- 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 diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/make/tools/StripProperties/StripProperties.java --- 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 \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 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 properties to out. - * The format is that of Properties.store with the following modifications: - *
    - *
  • No header or date is written - *
  • Latin-1 characters are written as single bytes, not escape sequences - *
  • Line breaks are indicated by a single \n independent of platform - *
      - */ - 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' - }; -} diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/make/tools/StripProperties/StripPropertiesTask.java --- 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 mainOpts = new ArrayList(); - 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; -} diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/nbproject/findbugs.settings --- /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=| diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/nbproject/project.xml --- /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 @@ + + + org.netbeans.modules.ant.freeform + + + jaxp + + + + jaxp + + + + + . + UTF-8 + + + + + build + + + clean + + + clean + build + + + + + + build.xml + + + + + + + + + + + + + + + + diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/nbproject/sqe.properties --- /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 diff -r 3fcbbc0199a7 -r 0d9209bdf36c jaxp/patches/jaxp_src/README --- /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. +