aboutsummaryrefslogtreecommitdiff
path: root/make
diff options
context:
space:
mode:
authorohair <none@none>2009-09-21 13:54:55 -0700
committerohair <none@none>2009-09-21 13:54:55 -0700
commit2e6403c316ce8f759bbb46270e56f0bc6ccbedd9 (patch)
treefcfa8de9de59e9a50bd19c6b2691954388524ed3 /make
parent494942944182895d5b6c95717dc4635599326803 (diff)
downloadjdk8u_jaxp-2e6403c316ce8f759bbb46270e56f0bc6ccbedd9.tar.gz
6856630: Restructure jaxp/jaxws repositories
Reviewed-by: darcy, tbell
Diffstat (limited to 'make')
-rw-r--r--make/Makefile138
-rw-r--r--make/build.properties46
-rw-r--r--make/build.xml107
-rw-r--r--make/jprt.properties7
-rw-r--r--make/tools/StripProperties/StripProperties.java329
-rw-r--r--make/tools/StripProperties/StripPropertiesTask.java87
6 files changed, 94 insertions, 620 deletions
diff --git a/make/Makefile b/make/Makefile
index 1e01fc8..74bd74b 100644
--- a/make/Makefile
+++ b/make/Makefile
@@ -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 @@ ifdef VERBOSE
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 @@ else
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 @@ else
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 @@ else
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 --git a/make/build.properties b/make/build.properties
deleted file mode 100644
index b47b032..0000000
--- a/make/build.properties
+++ /dev/null
@@ -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
-
-#------------------------------------------------------------
diff --git a/make/build.xml b/make/build.xml
deleted file mode 100644
index 63a78a1..0000000
--- a/make/build.xml
+++ /dev/null
@@ -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>
diff --git a/make/jprt.properties b/make/jprt.properties
index 22c6289..ae7b42f 100644
--- a/make/jprt.properties
+++ b/make/jprt.properties
@@ -34,8 +34,8 @@ solaris_i586_5.10,\
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 @@ jprt.solaris_x64_5.10.build.platform.match32=solaris_i586_5.10
# 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 --git a/make/tools/StripProperties/StripProperties.java b/make/tools/StripProperties/StripProperties.java
deleted file mode 100644
index 4a3943b..0000000
--- a/make/tools/StripProperties/StripProperties.java
+++ /dev/null
@@ -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'
- };
-}
diff --git a/make/tools/StripProperties/StripPropertiesTask.java b/make/tools/StripProperties/StripPropertiesTask.java
deleted file mode 100644
index 59a95ee..0000000
--- a/make/tools/StripProperties/StripPropertiesTask.java
+++ /dev/null
@@ -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;
-}