From 6cfcccdb388eea1af2b53c208e382b3c0d5c9be4 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Wed, 2 Feb 2005 13:01:52 +0000 Subject: [PATCH] Use GPL-save command line invokation git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@277572 13f79535-47bb-0310-9956-ffa450edef68 --- .../tools/ant/taskdefs/compilers/Kjc.java | 33 ++++--------------- .../tools/ant/taskdefs/rmic/KaffeRmic.java | 26 ++++----------- 2 files changed, 12 insertions(+), 47 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/compilers/Kjc.java b/src/main/org/apache/tools/ant/taskdefs/compilers/Kjc.java index 9ac6d8c99..a99949408 100644 --- a/src/main/org/apache/tools/ant/taskdefs/compilers/Kjc.java +++ b/src/main/org/apache/tools/ant/taskdefs/compilers/Kjc.java @@ -1,5 +1,5 @@ /* - * Copyright 2001-2004 The Apache Software Foundation + * Copyright 2001-2005 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. @@ -17,9 +17,9 @@ package org.apache.tools.ant.taskdefs.compilers; -import java.lang.reflect.Method; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; +import org.apache.tools.ant.taskdefs.ExecuteJava; import org.apache.tools.ant.types.Commandline; import org.apache.tools.ant.types.Path; @@ -40,31 +40,10 @@ public class Kjc extends DefaultCompilerAdapter { public boolean execute() throws BuildException { attributes.log("Using kjc compiler", Project.MSG_VERBOSE); Commandline cmd = setupKjcCommand(); - - try { - Class c = Class.forName("at.dms.kjc.Main"); - - // Call the compile() method - Method compile = c.getMethod("compile", - new Class [] {String [].class}); - Boolean ok = - (Boolean) compile.invoke(null, - new Object[] {cmd.getArguments()}); - return ok.booleanValue(); - } catch (ClassNotFoundException ex) { - throw new BuildException("Cannot use kjc compiler, as it is not " - + "available. A common solution is to " - + "set the environment variable CLASSPATH " - + "to your kjc archive (kjc.jar).", - location); - } catch (Exception ex) { - if (ex instanceof BuildException) { - throw (BuildException) ex; - } else { - throw new BuildException("Error starting kjc compiler: ", - ex, location); - } - } + cmd.setExecutable("at.dms.kjc.Main"); + ExecuteJava ej = new ExecuteJava(); + ej.setJavaCommand(cmd); + return ej.fork(getJavac()) == 0; } /** diff --git a/src/main/org/apache/tools/ant/taskdefs/rmic/KaffeRmic.java b/src/main/org/apache/tools/ant/taskdefs/rmic/KaffeRmic.java index 173549f01..a2a3ec2d3 100644 --- a/src/main/org/apache/tools/ant/taskdefs/rmic/KaffeRmic.java +++ b/src/main/org/apache/tools/ant/taskdefs/rmic/KaffeRmic.java @@ -17,10 +17,9 @@ package org.apache.tools.ant.taskdefs.rmic; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; +import org.apache.tools.ant.taskdefs.ExecuteJava; import org.apache.tools.ant.types.Commandline; /** @@ -57,27 +56,14 @@ public class KaffeRmic extends DefaultRmicAdapter { getRmic().getLocation()); } + cmd.setExecutable(c.getName()); if (c.getName().equals(RMIC_CLASSNAME)) { cmd.createArgument().setValue("-verbose"); + getRmic().log(Commandline.describeCommand(cmd)); } - getRmic().log("Using: " + c.getName()); - getRmic().log(Commandline.describeCommand(cmd)); - - try { - Constructor cons = c.getConstructor(new Class[] {String[].class}); - Object rmic = cons.newInstance(new Object[] {cmd.getArguments()}); - Method doRmic = c.getMethod("run", (Class[]) null); - Boolean ok = (Boolean) doRmic.invoke(rmic, (Object[]) null); - - return ok.booleanValue(); - } catch (BuildException ex) { - //rethrow - throw ex; - } catch (Exception ex) { - //wrap - throw new BuildException("Error starting Kaffe rmic: ", - ex, getRmic().getLocation()); - } + ExecuteJava ej = new ExecuteJava(); + ej.setJavaCommand(cmd); + return ej.fork(getRmic()) == 0; } /**