[jbpm-commits] JBoss JBPM SVN: r5871 - in projects/bbq/projects: bbq-core/java/org/bbq and 3 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Sat Oct 31 14:18:43 EDT 2009
Author: tom.baeyens at jboss.com
Date: 2009-10-31 14:18:42 -0400 (Sat, 31 Oct 2009)
New Revision: 5871
Modified:
projects/bbq/projects/bbq-core/bin/bbq.bat
projects/bbq/projects/bbq-core/java/org/bbq/Bbq.java
projects/bbq/projects/bbq-core/java/org/bbq/commands/ClassPath.java
projects/bbq/projects/bbq-core/java/org/bbq/commands/Javac.java
projects/bbq/projects/bbq-core/java/org/bbq/system/Os.java
projects/bbq/projects/bbq-core/java/org/bbq/system/Path.java
projects/bbq/projects/bbq-test-project/build/Build.java
Log:
backup commit
Modified: projects/bbq/projects/bbq-core/bin/bbq.bat
===================================================================
--- projects/bbq/projects/bbq-core/bin/bbq.bat 2009-10-31 14:32:09 UTC (rev 5870)
+++ projects/bbq/projects/bbq-core/bin/bbq.bat 2009-10-31 18:18:42 UTC (rev 5871)
@@ -1,2 +1,3 @@
-echo using java %JAVA_HOME%
-"%JAVA_HOME%\bin\java" -cp %~dp0..\build\gen\classes org.bbq.Bbq %*
+ at echo off
+echo using jdk %JAVA_HOME%
+"%JAVA_HOME%\bin\java" -cp %~dp0..\gen\classes org.bbq.Bbq %*
Modified: projects/bbq/projects/bbq-core/java/org/bbq/Bbq.java
===================================================================
--- projects/bbq/projects/bbq-core/java/org/bbq/Bbq.java 2009-10-31 14:32:09 UTC (rev 5870)
+++ projects/bbq/projects/bbq-core/java/org/bbq/Bbq.java 2009-10-31 18:18:42 UTC (rev 5871)
@@ -23,12 +23,14 @@
import java.io.File;
import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Properties;
import org.bbq.commands.Javac;
import org.bbq.system.Console;
+import org.bbq.system.Path;
/**
@@ -40,6 +42,8 @@
public static void main(String[] args) {
// initialize default properties
+ properties.setProperty("javac.src.dir", "java");
+ properties.setProperty("javac.dest.dir", "gen/classes");
properties.setProperty("build.src.dir", "build");
properties.setProperty("build.classes.dir", "gen/build-classes");
properties.setProperty("local.repo.dir", System.getProperty("user.home")+"/.bbq");
@@ -48,7 +52,7 @@
String buildSrcDir = properties.getProperty("build.src.dir");
String buildClassesDir = properties.getProperty("build.classes.dir");
- String buildClassPath = System.getProperty("java.class.path");
+ String buildClassPath = Path.absolute(System.getProperty("java.class.path"));
File buildSrcFile = new File(buildSrcDir);
if (!buildSrcFile.exists()) {
@@ -59,7 +63,7 @@
Console.log("no build source dir: "+buildSrcFile.getAbsolutePath()+" is a file");
return;
}
-
+
new Javac()
.srcDir(buildSrcDir)
.destDir(buildClassesDir)
@@ -70,12 +74,24 @@
URL[] urls = {new File(buildClassesDir).toURL()};
ClassLoader classLoader = new URLClassLoader(urls , Bbq.class.getClassLoader());
Class<?> buildClass = Class.forName("Build", true, classLoader);
- for (String operation: args) {
- Method method = buildClass.getDeclaredMethod(operation);
- Object result = method.invoke(null, (Object[])null);
- if (result!=null) {
- Console.log("result of "+operation+": "+result);
+ // if the user specified build operations as arguments
+ if (args!=null && args.length>0) {
+ for (String operation: args) {
+ Method method = buildClass.getDeclaredMethod(operation);
+ Object result = method.invoke(null, (Object[])null);
+ if (result!=null) {
+ Console.log("result of "+operation+": "+result);
+ }
}
+ } else { // means user didn't pass build operations
+ Console.log("available build operations:");
+ for (Method method: buildClass.getDeclaredMethods()) {
+ if ( Modifier.isStatic(method.getModifiers())
+ && (method.getParameterTypes().length==0)
+ ) {
+ Console.log(" "+method.getName());
+ }
+ }
}
} catch (Exception e) {
e.printStackTrace();
Modified: projects/bbq/projects/bbq-core/java/org/bbq/commands/ClassPath.java
===================================================================
--- projects/bbq/projects/bbq-core/java/org/bbq/commands/ClassPath.java 2009-10-31 14:32:09 UTC (rev 5870)
+++ projects/bbq/projects/bbq-core/java/org/bbq/commands/ClassPath.java 2009-10-31 18:18:42 UTC (rev 5871)
@@ -25,6 +25,7 @@
import java.util.List;
import java.util.StringTokenizer;
+import org.bbq.system.Console;
import org.bbq.system.Repository;
@@ -43,7 +44,8 @@
public ClassPath add(String path) {
StringTokenizer tokenizer = new StringTokenizer(path, ";");
while (tokenizer.hasMoreTokens()) {
- elements.add(tokenizer.nextToken());
+ String nextPathElement = tokenizer.nextToken();
+ elements.add(nextPathElement);
}
return this;
}
@@ -66,7 +68,7 @@
stringBuilder.append(elements.get(i));
stringBuilder.append(separator);
}
- stringBuilder.append(elements.size()-1);
+ stringBuilder.append(elements.get(elements.size()-1));
return stringBuilder.toString();
}
}
Modified: projects/bbq/projects/bbq-core/java/org/bbq/commands/Javac.java
===================================================================
--- projects/bbq/projects/bbq-core/java/org/bbq/commands/Javac.java 2009-10-31 14:32:09 UTC (rev 5870)
+++ projects/bbq/projects/bbq-core/java/org/bbq/commands/Javac.java 2009-10-31 18:18:42 UTC (rev 5871)
@@ -24,6 +24,7 @@
import java.util.ArrayList;
import java.util.List;
+import org.bbq.Bbq;
import org.bbq.system.FileList;
import org.bbq.system.FileScan;
import org.bbq.system.Os;
@@ -36,7 +37,7 @@
FileList sourceFiles = new FileList();
boolean verbose;
- String destDir = "gen/classes";
+ String destDir = Bbq.properties.getProperty("javac.dest.dir");
ClassPath classPath = new ClassPath();
public Javac srcDir(String srcDir) {
@@ -44,7 +45,11 @@
.filterEnd(".java")
.execute();
- this.sourceFiles.add( sourceFiles );
+ if (this.sourceFiles==null) {
+ this.sourceFiles = sourceFiles;
+ } else {
+ this.sourceFiles.add( sourceFiles );
+ }
return this;
}
@@ -76,6 +81,11 @@
}
public void execute() {
+ if (sourceFiles==null) {
+ String defaultJavacSourceDir = Bbq.properties.getProperty("javac.src.dir");
+ srcDir(defaultJavacSourceDir);
+ }
+
// create the destination directory
new MkDir(destDir)
.execute();
Modified: projects/bbq/projects/bbq-core/java/org/bbq/system/Os.java
===================================================================
--- projects/bbq/projects/bbq-core/java/org/bbq/system/Os.java 2009-10-31 14:32:09 UTC (rev 5870)
+++ projects/bbq/projects/bbq-core/java/org/bbq/system/Os.java 2009-10-31 18:18:42 UTC (rev 5871)
@@ -42,4 +42,8 @@
}
throw new BbqException("unknown os: "+name);
}
+
+ public static boolean isWindows() {
+ return TYPE==WINDOWS;
+ }
}
Modified: projects/bbq/projects/bbq-core/java/org/bbq/system/Path.java
===================================================================
--- projects/bbq/projects/bbq-core/java/org/bbq/system/Path.java 2009-10-31 14:32:09 UTC (rev 5870)
+++ projects/bbq/projects/bbq-core/java/org/bbq/system/Path.java 2009-10-31 18:18:42 UTC (rev 5871)
@@ -21,12 +21,29 @@
*/
package org.bbq.system;
+import java.io.File;
+import java.io.IOException;
+
/**
* @author Tom Baeyens
*/
public class Path {
+ public static String absolute(String path) {
+ String absolutePath = null;
+ File file = new File(path);
+ try {
+ absolutePath = file.getCanonicalPath();
+ } catch (IOException e) {
+ absolutePath = file.getAbsolutePath();
+ }
+ if (Os.isWindows()) {
+ absolutePath = absolutePath.replace('\\', '/');
+ }
+ return absolutePath;
+ }
+
// public static String toOsSpecific(String path) {
// }
//
Modified: projects/bbq/projects/bbq-test-project/build/Build.java
===================================================================
--- projects/bbq/projects/bbq-test-project/build/Build.java 2009-10-31 14:32:09 UTC (rev 5870)
+++ projects/bbq/projects/bbq-test-project/build/Build.java 2009-10-31 18:18:42 UTC (rev 5871)
@@ -38,8 +38,6 @@
.add("../some/relative/path;/some/absolute/path");
new Javac()
- .srcDir("src")
- .destDir("gen/classes")
.classPath(classPath)
.execute();
}
More information about the jbpm-commits
mailing list