diff --git a/build.xml b/build.xml
deleted file mode 100644
index d96082a..0000000
--- a/build.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-<project default="all" basedir=".">
-    <target name="init">
-        <condition property="mvn" value="mvn.bat">
-            <os family="dos" />
-        </condition>
-        <condition property="mvn" value="mvn">
-            <not>
-                <isset property="mvn" />
-            </not>
-        </condition>
-    </target>
-    <target name="clean" depends="init">
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=obr clean" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=plugins clean" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=bundle clean" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=osgi-bundle clean" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=osgi-bundle-mosgi clean" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=karaf clean" />
-        </exec>
-    </target>
-    <target name="install" depends="init">
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=obr install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=plugins install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=bundle install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=osgi-bundle install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=ipojo-bundle install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=osgi-bundle-mosgi install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=karaf install" />
-        </exec>
-    </target>
-    <target name="all" depends="init">
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=obr clean install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=plugins clean install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=bundle clean install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=osgi-bundle clean install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=ipojo-bundle clean install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=osgi-bundle-mosgi clean install" />
-        </exec>
-        <exec executable="${mvn}" failonerror="true">
-            <arg line="-Dpackaging=karaf clean install" />
-        </exec>
-    </target>
-</project>
diff --git a/build_run.sh b/build_run.sh
deleted file mode 100755
index 21331cc..0000000
--- a/build_run.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-ant
-cd main/ ; 
-java -jar bin/felix.jar ; 
-cd ../ 
