[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