--- old/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/cmdline/Compile.java 2015-07-01 14:50:26.000000000 +0200 +++ /dev/null 2015-07-01 14:50:26.000000000 +0200 @@ -1,171 +0,0 @@ -/* - * reserved comment block - * DO NOT REMOVE OR ALTER! - */ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* - * $Id: Compile.java,v 1.2.4.1 2005/08/31 11:24:13 pvedula Exp $ - */ - -package com.sun.org.apache.xalan.internal.xsltc.cmdline; - -import com.sun.org.apache.xalan.internal.utils.FeatureManager; -import java.io.File; -import java.net.URL; -import java.util.Vector; - -import com.sun.org.apache.xalan.internal.xsltc.cmdline.getopt.GetOpt; -import com.sun.org.apache.xalan.internal.xsltc.cmdline.getopt.GetOptsException; -import com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC; -import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ErrorMsg; - -/** - * @author Jacek Ambroziak - * @author Santiago Pericas-Geertsen - * @author G. Todd Miller - * @author Morten Jorgensen - */ -public final class Compile { - - // Versioning numbers for the compiler -v option output - private static int VERSION_MAJOR = 1; - private static int VERSION_MINOR = 4; - private static int VERSION_DELTA = 0; - - - - // This variable should be set to false to prevent any methods in this - // class from calling System.exit(). As this is a command-line tool, - // calling System.exit() is normally OK, but we also want to allow for - // this class being used in other ways as well. - private static boolean _allowExit = true; - - - public static void printUsage() { - System.err.println("XSLTC version " + - VERSION_MAJOR + "." + VERSION_MINOR + - ((VERSION_DELTA > 0) ? ("." + VERSION_DELTA) : ("")) + "\n" + - new ErrorMsg(ErrorMsg.COMPILE_USAGE_STR)); - if (_allowExit) System.exit(-1); - } - - /** - * This method implements the command line compiler. See the USAGE_STRING - * constant for a description. It may make sense to move the command-line - * handling to a separate package (ie. make one xsltc.cmdline.Compiler - * class that contains this main() method and one xsltc.cmdline.Transform - * class that contains the DefaultRun stuff). - */ - public static void main(String[] args) { - try { - boolean inputIsURL = false; - boolean useStdIn = false; - boolean classNameSet = false; - final GetOpt getopt = new GetOpt(args, "o:d:j:p:uxhsinv"); - if (args.length < 1) printUsage(); - - final XSLTC xsltc = new XSLTC(true, new FeatureManager()); - xsltc.init(); - - int c; - while ((c = getopt.getNextOption()) != -1) { - switch(c) { - case 'i': - useStdIn = true; - break; - case 'o': - xsltc.setClassName(getopt.getOptionArg()); - classNameSet = true; - break; - case 'd': - xsltc.setDestDirectory(getopt.getOptionArg()); - break; - case 'p': - xsltc.setPackageName(getopt.getOptionArg()); - break; - case 'j': - xsltc.setJarFileName(getopt.getOptionArg()); - break; - case 'x': - xsltc.setDebug(true); - break; - case 'u': - inputIsURL = true; - break; - case 's': - _allowExit = false; - break; - case 'n': - xsltc.setTemplateInlining(true); // used to be 'false' - break; - case 'v': - // fall through to case h - case 'h': - default: - printUsage(); - break; - } - } - - boolean compileOK; - - if (useStdIn) { - if (!classNameSet) { - System.err.println(new ErrorMsg(ErrorMsg.COMPILE_STDIN_ERR)); - if (_allowExit) System.exit(-1); - } - compileOK = xsltc.compile(System.in, xsltc.getClassName()); - } - else { - // Generate a vector containg URLs for all stylesheets specified - final String[] stylesheetNames = getopt.getCmdArgs(); - final Vector stylesheetVector = new Vector(); - for (int i = 0; i < stylesheetNames.length; i++) { - final String name = stylesheetNames[i]; - URL url; - if (inputIsURL) - url = new URL(name); - else - url = (new File(name)).toURI().toURL(); - stylesheetVector.addElement(url); - } - compileOK = xsltc.compile(stylesheetVector); - } - - // Compile the stylesheet and output class/jar file(s) - if (compileOK) { - xsltc.printWarnings(); - if (xsltc.getJarFileName() != null) xsltc.outputToJar(); - if (_allowExit) System.exit(0); - } - else { - xsltc.printWarnings(); - xsltc.printErrors(); - if (_allowExit) System.exit(-1); - } - } - catch (GetOptsException ex) { - System.err.println(ex); - printUsage(); // exits with code '-1' - } - catch (Exception e) { - e.printStackTrace(); - if (_allowExit) System.exit(-1); - } - } - -}