diff --git a/org.adempiere.base/GenerateModel-general.launch b/org.adempiere.base/GenerateModel-general.launch
deleted file mode 100644
index aed9b899d5..0000000000
--- a/org.adempiere.base/GenerateModel-general.launch
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/org.adempiere.base/META-INF/MANIFEST.MF b/org.adempiere.base/META-INF/MANIFEST.MF
index c8d7396956..49be51133b 100644
--- a/org.adempiere.base/META-INF/MANIFEST.MF
+++ b/org.adempiere.base/META-INF/MANIFEST.MF
@@ -161,6 +161,7 @@ Import-Package: com.sun.mail.smtp;version="1.4.0",
org.apache.tools.ant,
org.apache.tools.ant.taskdefs,
org.eclipse.core.runtime;version="3.4.0",
+ org.eclipse.osgi.framework.console;version="1.1.0",
org.osgi.framework,
org.restlet,
org.restlet.data,
@@ -168,3 +169,4 @@ Import-Package: com.sun.mail.smtp;version="1.4.0",
org.restlet.util
Eclipse-BuddyPolicy: registered
Eclipse-ExtensibleAPI: true
+Bundle-Activator: org.adempiere.base.BaseActivator
diff --git a/org.adempiere.base/ModelClassGenerator.launch b/org.adempiere.base/ModelClassGenerator.launch
deleted file mode 100644
index 585906b139..0000000000
--- a/org.adempiere.base/ModelClassGenerator.launch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/org.adempiere.base/ModelInterfaceGenerator.launch b/org.adempiere.base/ModelInterfaceGenerator.launch
deleted file mode 100644
index 11f35b7fa9..0000000000
--- a/org.adempiere.base/ModelInterfaceGenerator.launch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/org.adempiere.base/buckminster.properties b/org.adempiere.base/buckminster.properties
new file mode 100644
index 0000000000..e369e06b2b
--- /dev/null
+++ b/org.adempiere.base/buckminster.properties
@@ -0,0 +1,11 @@
+## buckminster.properties ##
+#Where all the output should go
+buckminster.output.root=${user.home}/buckminster.output
+# Where the temp files should go
+buckminster.temp.root=${user.home}/tmp
+# How .qualifier in versions should be replaced
+qualifier.replacement.*=generator:buildTimestamp
+generator.buildTimestamp.format='v'yyyyMMdd-HHmm
+target.os=*
+target.ws=*
+target.arch=*
diff --git a/org.adempiere.base/src/org/adempiere/base/BaseActivator.java b/org.adempiere.base/src/org/adempiere/base/BaseActivator.java
new file mode 100644
index 0000000000..0105116c01
--- /dev/null
+++ b/org.adempiere.base/src/org/adempiere/base/BaseActivator.java
@@ -0,0 +1,39 @@
+/**
+ *
+ */
+package org.adempiere.base;
+
+import org.adempiere.base.equinox.StackTraceCommand;
+import org.eclipse.osgi.framework.console.CommandProvider;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ * @author hengsin
+ *
+ */
+public class BaseActivator implements BundleActivator {
+
+ /**
+ *
+ */
+ public BaseActivator() {
+ // TODO Auto-generated constructor stub
+ }
+
+ /* (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ context.registerService(CommandProvider.class.getName(), new StackTraceCommand(), null);
+ }
+
+ /* (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ }
+
+}
diff --git a/org.adempiere.base/src/org/adempiere/base/equinox/StackTraceCommand.java b/org.adempiere.base/src/org/adempiere/base/equinox/StackTraceCommand.java
new file mode 100644
index 0000000000..c72a9cb054
--- /dev/null
+++ b/org.adempiere.base/src/org/adempiere/base/equinox/StackTraceCommand.java
@@ -0,0 +1,45 @@
+/**
+ *
+ */
+package org.adempiere.base.equinox;
+
+import java.util.Map;
+
+import org.eclipse.osgi.framework.console.CommandProvider;
+import org.eclipse.osgi.framework.console.CommandInterpreter;
+
+/**
+ * @author hengsin
+ *
+ */
+public class StackTraceCommand implements CommandProvider {
+
+ /**
+ *
+ */
+ public StackTraceCommand() {
+ // TODO Auto-generated constructor stub
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osgi.framework.console.CommandProvider#getHelp()
+ */
+ @Override
+ public String getHelp() {
+ return "\tstacktrace - print stacktrace of all alive thread\n";
+ }
+
+ public void _stacktrace(CommandInterpreter ci) {
+ Map map = Thread.getAllStackTraces();
+ for(Map.Entry entry : map.entrySet()) {
+ Thread t = entry.getKey();
+ StackTraceElement[] trace = entry.getValue();
+ ci.println();
+ ci.print(t + " Alive=" + t.isAlive() + " Daemon="+t.isDaemon() + " State="+t.getState());
+ ci.println("===========================================================");
+ for (int i=0; i < trace.length; i++)
+ ci.println("\tat " + trace[i]);
+ }
+ ci.println();
+ }
+}