[jbpm-commits] JBoss JBPM SVN: r5466 - in bbq-root/projects/bbq: projects/bbq and 11 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Aug 11 18:47:33 EDT 2009
Author: tom.baeyens at jboss.com
Date: 2009-08-11 18:47:33 -0400 (Tue, 11 Aug 2009)
New Revision: 5466
Added:
bbq-root/projects/bbq/.project
bbq-root/projects/bbq/projects/bbq/scripts/bbq.bat
bbq-root/projects/bbq/projects/bbq/src/org/
bbq-root/projects/bbq/projects/bbq/src/org/bbq/
bbq-root/projects/bbq/projects/bbq/src/org/bbq/Bbq.java
bbq-root/projects/bbq/projects/bbq/src/org/bbq/Configuration.java
bbq-root/projects/bbq/projects/bbq/src/org/bbq/FileSystem.java
bbq-root/projects/bbq/projects/bbq/src/org/bbq/java/
bbq-root/projects/bbq/projects/bbq/src/org/bbq/java/Javac.java
bbq-root/projects/bbq/projects/bbq/src/org/bbq/log/
bbq-root/projects/bbq/projects/bbq/src/org/bbq/log/LogFormatter.java
bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/
bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/LocalRepository.java
bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/RemoteRepository.java
bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/Repository.java
bbq-root/projects/bbq/projects/project-build/src/FileSystems.java
bbq-root/projects/bbq/projects/project-build/src/Operations.java
bbq-root/projects/bbq/projects/project-build/src/Properties.java
bbq-root/projects/bbq/projects/project-build/src/Repositories.java
bbq-root/projects/bbq/projects/project-test/.classpath
bbq-root/projects/bbq/projects/project-test/.project
bbq-root/projects/bbq/projects/project-test/src/
bbq-root/projects/bbq/projects/project/.classpath
bbq-root/projects/bbq/projects/project/.project
bbq-root/projects/bbq/projects/project/bbq.properties
bbq-root/projects/bbq/projects/project/src/
Modified:
bbq-root/projects/bbq/projects/bbq/
bbq-root/projects/bbq/projects/project-build/
bbq-root/projects/bbq/projects/project-test/
bbq-root/projects/bbq/projects/project/
Log:
initial import
Added: bbq-root/projects/bbq/.project
===================================================================
--- bbq-root/projects/bbq/.project (rev 0)
+++ bbq-root/projects/bbq/.project 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>bbq-root</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
Property changes on: bbq-root/projects/bbq/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Property changes on: bbq-root/projects/bbq/projects/bbq
___________________________________________________________________
Name: svn:ignore
+ .settings
bin
Added: bbq-root/projects/bbq/projects/bbq/scripts/bbq.bat
===================================================================
--- bbq-root/projects/bbq/projects/bbq/scripts/bbq.bat (rev 0)
+++ bbq-root/projects/bbq/projects/bbq/scripts/bbq.bat 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,5 @@
+ at echo off
+
+set BBQ_HOME=C:\wsbbq\bbq
+
+java -cp %BBQ_HOME%\bin org.bbq.Bbq %*
Added: bbq-root/projects/bbq/projects/bbq/src/org/bbq/Bbq.java
===================================================================
--- bbq-root/projects/bbq/projects/bbq/src/org/bbq/Bbq.java (rev 0)
+++ bbq-root/projects/bbq/projects/bbq/src/org/bbq/Bbq.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,148 @@
+package org.bbq;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+import java.util.logging.LogManager;
+import java.util.logging.Logger;
+
+public class Bbq {
+
+ static Properties properties = new Properties();
+ static List<String> operations = new ArrayList<String>();
+
+ private static Logger log = Logger.getLogger("bbq");
+
+ public static void main(String[] args) {
+ try {
+ readLocalProperties();
+ initializeLogging();
+ readUserProperties();
+ parseArgsAndOperations(args);
+ logProperties();
+ compileBuild();
+ executeOperations();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void executeOperations() {
+ for (String operation: operations) {
+ log.info("executing operation "+operation);
+ }
+ }
+
+ private static void compileBuild() {
+ log.info("compiling build");
+ String jdkHome = properties.getProperty("jdk.home");
+ String javacExecutable = "\""+jdkHome+"/bin/javac\"";
+ String[] command = new String[]{javacExecutable,"-verbose","-cp","C:/wsbbq/bbq/bin","-d","bin","src/*.java"};
+ String buildProjectRoot = properties.getProperty("build.project.root");
+ run(new ProcessBuilder(command).directory(new File(buildProjectRoot)));
+ }
+
+ private static void logProperties() {
+ log.info("properties:");
+ for (Object key: properties.keySet()) {
+ log.info(" "+key+"="+properties.get(key));
+ }
+ }
+
+ private static void initializeLogging() {
+ try {
+ String loggingPropertiesFileName = properties.get("build.project.root")+"/logging.properties";
+ File loggingPropertiesFile = new File(loggingPropertiesFileName);
+ if (loggingPropertiesFile.exists()) {
+ InputStream inputStream = new FileInputStream(loggingPropertiesFile);
+ try {
+ LogManager logManager = LogManager.getLogManager();
+ logManager.readConfiguration(inputStream);
+ } finally {
+ if (inputStream!=null) {
+ inputStream.close();
+ }
+ }
+ }
+ } catch (Exception e) {
+ throw new RuntimeException("couldn't initialize logging");
+ }
+ }
+
+ private static void parseArgsAndOperations(String[] args) {
+ if (args!=null) {
+ for (String arg : args) {
+ int indexOfEquals = arg.indexOf('=');
+ if ( arg.startsWith("-D")
+ && (arg.length()>3)
+ && (indexOfEquals!=-1)
+ ) {
+ String key = arg.substring(2, indexOfEquals).trim();
+ String value = null;
+ if (arg.length()>indexOfEquals+1) {
+ value = arg.substring(indexOfEquals+1).trim();
+ }
+ properties.setProperty(key, value);
+ } else {
+ operations.add(arg.trim());
+ }
+ }
+ }
+ }
+
+ private static void readUserProperties() {
+ String fileName = System.getProperty("user.home") + "/.bbq/bbq.properties";
+ File file = new File(fileName);
+ if (file.exists()) {
+ try {
+ InputStream inputStream = new FileInputStream(file);
+ try {
+ properties.load(inputStream);
+ } finally {
+ inputStream.close();
+ }
+ } catch (Exception e) {
+ throw new RuntimeException("couldn read user properties", e);
+ }
+ }
+ }
+
+ private static void readLocalProperties() {
+ try {
+ InputStream inputStream = new FileInputStream("bbq.properties");
+ try {
+ properties.load(inputStream);
+ } finally {
+ inputStream.close();
+ }
+ } catch (Exception e) {
+ throw new RuntimeException("couldn read local properties", e);
+ }
+ }
+
+ public static void run(ProcessBuilder processBuilder) {
+ try {
+ log.info("forking "+processBuilder.command());
+ Process process = processBuilder
+ .redirectErrorStream(true)
+ .start();
+
+ BufferedReader processOutput = new BufferedReader(new InputStreamReader(process.getInputStream()));
+ String line = processOutput.readLine();
+ while(line!=null) {
+ log.info("| "+line);
+ line = processOutput.readLine();
+ }
+
+ } catch (Exception e) {
+ throw new RuntimeException("couldn't create process", e);
+ }
+ }
+
+}
Property changes on: bbq-root/projects/bbq/projects/bbq/src/org/bbq/Bbq.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/bbq/src/org/bbq/Configuration.java
===================================================================
--- bbq-root/projects/bbq/projects/bbq/src/org/bbq/Configuration.java (rev 0)
+++ bbq-root/projects/bbq/projects/bbq/src/org/bbq/Configuration.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,24 @@
+package org.bbq;
+
+import java.util.Properties;
+
+public abstract class Configuration {
+
+ static Properties userProperties = new Properties();
+ static {
+ }
+
+ public static String getProperty(String propertyName) {
+ String value = System.getenv(propertyName);
+ if (value!=null) {
+ return value;
+ }
+
+ value = System.getProperty(propertyName);
+ if (value!=null) {
+ return value;
+ }
+
+ return (String) userProperties.get(propertyName);
+ }
+}
Property changes on: bbq-root/projects/bbq/projects/bbq/src/org/bbq/Configuration.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/bbq/src/org/bbq/FileSystem.java
===================================================================
--- bbq-root/projects/bbq/projects/bbq/src/org/bbq/FileSystem.java (rev 0)
+++ bbq-root/projects/bbq/projects/bbq/src/org/bbq/FileSystem.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,11 @@
+package org.bbq;
+
+
+public class FileSystem {
+
+ String rootDirectoryPath;
+
+ public FileSystem(String rootDirectoryPath) {
+ this.rootDirectoryPath = rootDirectoryPath;
+ }
+}
Property changes on: bbq-root/projects/bbq/projects/bbq/src/org/bbq/FileSystem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/bbq/src/org/bbq/java/Javac.java
===================================================================
--- bbq-root/projects/bbq/projects/bbq/src/org/bbq/java/Javac.java (rev 0)
+++ bbq-root/projects/bbq/projects/bbq/src/org/bbq/java/Javac.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,29 @@
+package org.bbq.java;
+
+import java.util.List;
+
+import org.bbq.repository.RemoteRepository;
+
+public class Javac {
+
+ String sourcePath;
+ String destination;
+ List<String> classPath;
+
+ public Javac sourcePath(String sourcePath) {
+ return this;
+ }
+
+ public Javac destination(String destination) {
+ this.destination = destination;
+ return this;
+ }
+
+ public Javac repositoryClassPathLib(RemoteRepository repository, String location) {
+ return this;
+ }
+
+ public void compile() {
+
+ }
+}
Property changes on: bbq-root/projects/bbq/projects/bbq/src/org/bbq/java/Javac.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/bbq/src/org/bbq/log/LogFormatter.java
===================================================================
--- bbq-root/projects/bbq/projects/bbq/src/org/bbq/log/LogFormatter.java (rev 0)
+++ bbq-root/projects/bbq/projects/bbq/src/org/bbq/log/LogFormatter.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,72 @@
+package org.bbq.log;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.logging.Formatter;
+import java.util.logging.Level;
+import java.util.logging.LogRecord;
+
+public class LogFormatter extends Formatter {
+
+ static final String NEWLINE = System.getProperty("line.separator");
+ static final DateFormat dateTimeFormat = new SimpleDateFormat("HH:mm:ss,SSS");
+ static final Map<Level, String> levels = new HashMap<Level, String>();
+ private static Map<Integer, Integer> indentations = new HashMap<Integer, Integer>();
+
+
+ static {
+ levels.put(Level.ALL, "ALL");
+ levels.put(Level.CONFIG, "CFG");
+ levels.put(Level.FINE, "FIN");
+ levels.put(Level.FINER, "FNR");
+ levels.put(Level.FINEST, "FST");
+ levels.put(Level.INFO, "INF");
+ levels.put(Level.OFF, "OFF");
+ levels.put(Level.SEVERE, "SEV");
+ levels.put(Level.WARNING, "WRN");
+ }
+
+ public String format(LogRecord logRecord) {
+ StringWriter msg = new StringWriter();
+ if (logRecord.getThrown()!=null) {
+ msg.append("### EXCEPTION ###########################################");
+ msg.append(NEWLINE);
+ }
+ msg.append("[");
+
+ String loggerName = logRecord.getLoggerName();
+ int dotIndex = loggerName.lastIndexOf('.');
+ if (dotIndex!=-1) {
+ loggerName = loggerName.substring(dotIndex+1);
+ }
+ msg.append(loggerName);
+
+ msg.append("] ");
+
+ msg.append(logRecord.getMessage());
+ if (logRecord.getThrown()!=null) {
+ msg.append(NEWLINE);
+ logRecord.getThrown().printStackTrace(new PrintWriter(msg));
+ msg.append("### EXCEPTION ###########################################");
+ }
+ msg.append(NEWLINE);
+ return msg.toString();
+ }
+
+ private int getIndentation(int threadId) {
+ Integer indentation = indentations.get(threadId);
+ if (indentation==null) {
+ indentation = indentations.size();
+ indentations.put(threadId, indentation);
+ }
+ return indentation;
+ }
+
+ public static void resetIndentation() {
+ indentations = new HashMap<Integer, Integer>();
+ }
+}
Property changes on: bbq-root/projects/bbq/projects/bbq/src/org/bbq/log/LogFormatter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/LocalRepository.java
===================================================================
--- bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/LocalRepository.java (rev 0)
+++ bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/LocalRepository.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,10 @@
+package org.bbq.repository;
+
+public class LocalRepository {
+
+ String rootDirectory;
+
+ public LocalRepository(String rootDirectory) {
+ this.rootDirectory = rootDirectory;
+ }
+}
Property changes on: bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/LocalRepository.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/RemoteRepository.java
===================================================================
--- bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/RemoteRepository.java (rev 0)
+++ bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/RemoteRepository.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,11 @@
+package org.bbq.repository;
+
+
+public class RemoteRepository {
+
+ String remoteUrl;
+
+ public RemoteRepository(String remoteUrl) {
+ this.remoteUrl = remoteUrl;
+ }
+}
Property changes on: bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/RemoteRepository.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/Repository.java
===================================================================
--- bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/Repository.java (rev 0)
+++ bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/Repository.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,8 @@
+package org.bbq.repository;
+
+import java.io.InputStream;
+
+public interface Repository {
+
+ InputStream openFile(String location);
+}
Property changes on: bbq-root/projects/bbq/projects/bbq/src/org/bbq/repository/Repository.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Property changes on: bbq-root/projects/bbq/projects/project
___________________________________________________________________
Name: svn:ignore
+ .settings
bin
Added: bbq-root/projects/bbq/projects/project/.classpath
===================================================================
--- bbq-root/projects/bbq/projects/project/.classpath (rev 0)
+++ bbq-root/projects/bbq/projects/project/.classpath 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on: bbq-root/projects/bbq/projects/project/.classpath
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/project/.project
===================================================================
--- bbq-root/projects/bbq/projects/project/.project (rev 0)
+++ bbq-root/projects/bbq/projects/project/.project 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>project</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on: bbq-root/projects/bbq/projects/project/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/project/bbq.properties
===================================================================
--- bbq-root/projects/bbq/projects/project/bbq.properties (rev 0)
+++ bbq-root/projects/bbq/projects/project/bbq.properties 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,2 @@
+build.project.root=../project-build
+jdk.home=C:/Program Files/Java/jdk1.5.0_14
Property changes on: bbq-root/projects/bbq/projects/project/bbq.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Property changes on: bbq-root/projects/bbq/projects/project-build
___________________________________________________________________
Name: svn:ignore
+ .settings
bin
Added: bbq-root/projects/bbq/projects/project-build/src/FileSystems.java
===================================================================
--- bbq-root/projects/bbq/projects/project-build/src/FileSystems.java (rev 0)
+++ bbq-root/projects/bbq/projects/project-build/src/FileSystems.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,9 @@
+import org.bbq.FileSystem;
+
+
+
+public class FileSystems {
+
+ public static FileSystem software = new FileSystem("C:/Software");
+ public static FileSystem buildSpace = new FileSystem("build");
+}
Property changes on: bbq-root/projects/bbq/projects/project-build/src/FileSystems.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/project-build/src/Operations.java
===================================================================
--- bbq-root/projects/bbq/projects/project-build/src/Operations.java (rev 0)
+++ bbq-root/projects/bbq/projects/project-build/src/Operations.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,14 @@
+import org.bbq.java.Javac;
+
+public class Operations {
+
+ public static void compile() {
+ new Javac()
+ .sourcePath("src")
+ .destination("bin")
+ .repositoryClassPathLib(
+ Repositories.JBossRepository,
+ "org/hibernate/hibernate-core/3.3.2.GA/hibernate-core-3.3.2.GA.jar")
+ .compile();
+ }
+}
Property changes on: bbq-root/projects/bbq/projects/project-build/src/Operations.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/project-build/src/Properties.java
===================================================================
--- bbq-root/projects/bbq/projects/project-build/src/Properties.java (rev 0)
+++ bbq-root/projects/bbq/projects/project-build/src/Properties.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,10 @@
+import org.bbq.Configuration;
+
+
+
+public abstract class Properties {
+
+ public static String jdk5Home = Configuration.getProperty("jdk5Home");
+ public static String jdk6Home = Configuration.getProperty("jdk6Home");
+
+}
Property changes on: bbq-root/projects/bbq/projects/project-build/src/Properties.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/project-build/src/Repositories.java
===================================================================
--- bbq-root/projects/bbq/projects/project-build/src/Repositories.java (rev 0)
+++ bbq-root/projects/bbq/projects/project-build/src/Repositories.java 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,10 @@
+import org.bbq.repository.RemoteRepository;
+
+
+
+public class Repositories {
+
+ public static RemoteRepository JBossRepository =
+ new RemoteRepository("http://repository.jboss.com");
+
+}
Property changes on: bbq-root/projects/bbq/projects/project-build/src/Repositories.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Property changes on: bbq-root/projects/bbq/projects/project-test
___________________________________________________________________
Name: svn:ignore
+ .settings
bin
Added: bbq-root/projects/bbq/projects/project-test/.classpath
===================================================================
--- bbq-root/projects/bbq/projects/project-test/.classpath (rev 0)
+++ bbq-root/projects/bbq/projects/project-test/.classpath 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on: bbq-root/projects/bbq/projects/project-test/.classpath
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: bbq-root/projects/bbq/projects/project-test/.project
===================================================================
--- bbq-root/projects/bbq/projects/project-test/.project (rev 0)
+++ bbq-root/projects/bbq/projects/project-test/.project 2009-08-11 22:47:33 UTC (rev 5466)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>project-test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on: bbq-root/projects/bbq/projects/project-test/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain
More information about the jbpm-commits
mailing list