diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f8b92c3aa0873fcda8b8abbdc20c5d105ff18464
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.gradle
+build
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2dbc713da84388e738ead6d186f564976d424705
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,12 @@
+cmake_minimum_required(VERSION 2.8.3)
+project(rosjava_core)
+
+find_package(catkin REQUIRED)
+
+catkin_package()
+
+execute_process(
+  COMMAND ./gradlew
+  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
diff --git a/build.gradle b/build.gradle
index d019373d11168399f073c9e87ced63ac0eb862b9..31d0b6520a3eda7293d050033c08e27d36797c9a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,7 +15,7 @@
  */
 
 task wrapper(type: Wrapper) {
-  gradleVersion = '1.0-milestone-9'
+  gradleVersion = '1.5'
 }
 
 allprojects {
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 5437731f7edebd8ce962fd1bdb09ce776087a394..ce16961d3a715d4129c7a8fc022e26054a31b230 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index a11773b9f22f13252335eab97e9fbf42f5039620..0aafd50166ef5f625c050957437a570c403885f9 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Mar 29 16:06:14 CEST 2012
+#Mon Apr 29 15:11:16 CEST 2013
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.0-milestone-9-bin.zip
+distributionUrl=http\://services.gradle.org/distributions/gradle-1.5-bin.zip
diff --git a/package.xml b/package.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ef3d4eecd595906bb6ed31fe438dbe26ef7dc179
--- /dev/null
+++ b/package.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<package>
+  <name>rosjava_core</name>
+  <version>0.0.0</version>
+  <description>
+    An implementation of ROS in pure-Java with Android support.
+  </description>
+  <url>http://ros.org/wiki/rosjava_core</url>
+  <maintainer email="damonkohler@google.com">Damon Kohler</maintainer>
+  <license>Apache 2.0</license>
+
+  <buildtool_depend>catkin</buildtool_depend>
+</package>
+
diff --git a/rosjava/manifest.xml b/rosjava/manifest.xml
deleted file mode 100644
index 568184ac7cbc47e10da146a56435a2dc518e5b43..0000000000000000000000000000000000000000
--- a/rosjava/manifest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<package>
-  <description brief="rosjava">
-    An implementation of ROS in pure-Java with Android support.
-  </description>
-  <author>damonkohler@google.com (Damon Kohler)</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes="" />
-  <url>http://ros.org/wiki/rosjava</url>
-</package>
diff --git a/rosjava_benchmarks/manifest.xml b/rosjava_benchmarks/manifest.xml
deleted file mode 100644
index 2abe3057f766ead0768b1bbff82a899d21c32624..0000000000000000000000000000000000000000
--- a/rosjava_benchmarks/manifest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<package>
-  <description brief="rosjava_benchmarks">
-     rosjava_benchmarks contains benchmarks.
-  </description>
-  <author>Damon Kohler</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes="" />
-  <url>http://ros.org/wiki/rosjava_benchmarks</url>
-
-  <depend package="rospy" />
-  <depend package="std_msgs" />
-  <depend package="tf" />
-
-</package>
-
diff --git a/rosjava_bootstrap/manifest.xml b/rosjava_bootstrap/manifest.xml
deleted file mode 100644
index e1049d4854031d3a72cfc23d261a105c55ff6dcc..0000000000000000000000000000000000000000
--- a/rosjava_bootstrap/manifest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<package>
-  <description brief="rosjava_bootstrap">
-    rosjava_bootstrap provides classes required for message generation.
-  </description>
-  <author>Ken Conley, Damon Kohler (damonkohler@google.com)</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes="" />
-  <url>http://ros.org/wiki/rosjava_bootstrap</url>
-</package>
diff --git a/rosjava_geometry/manifest.xml b/rosjava_geometry/manifest.xml
deleted file mode 100644
index 3bc692a4bd2ead9d78a5711a1343cfd50ef9e301..0000000000000000000000000000000000000000
--- a/rosjava_geometry/manifest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<package>
-  <description brief="rosjava_geometry">
-     rosjava_geometry provides the classes for common geometry operations and representations (e.g. transformations).
-  </description>
-  <author>Lorenz Moesenlechner</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes="" />
-  <url>http://ros.org/wiki/rosjava_geometry</url>
-</package>
-
diff --git a/rosjava_messages/manifest.xml b/rosjava_messages/manifest.xml
deleted file mode 100644
index aaa08d89c9862f8a85c369bc359ce3f054b6c3a2..0000000000000000000000000000000000000000
--- a/rosjava_messages/manifest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<package>
-  <description brief="rosjava_messages">
-     rosjava_messages generates message interfaces.
-  </description>
-  <author>Damon Kohler (damonkohler@google.com)</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes=""/>
-  <url>http://ros.org/wiki/rosjava_messages</url>
-</package>
-
-
diff --git a/rosjava_test/manifest.xml b/rosjava_test/manifest.xml
deleted file mode 100644
index b256782c2bbf42ccea1e7671df84f2f067f2d52d..0000000000000000000000000000000000000000
--- a/rosjava_test/manifest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<package>
-  <description brief="rosjava_test">
-     rosjava_test contains testing infrastructure for rosjava.
-  </description>
-  <author>Damon Kohler</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes="" />
-  <url>http://ros.org/wiki/rosjava_test</url>
-
-  <depend package="rospy" />
-  <depend package="std_msgs" />
-
-</package>
-
-
diff --git a/rosjava_tutorial_pubsub/manifest.xml b/rosjava_tutorial_pubsub/manifest.xml
deleted file mode 100644
index 77ef484c1025c45a9e779f3a85ce45ee46fb5105..0000000000000000000000000000000000000000
--- a/rosjava_tutorial_pubsub/manifest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<package>
-  <description brief="rosjava_tutorial_pubsub">
-     rosjava_tutorial_pubsub is a simple example project.
-  </description>
-  <author>Damon Kohler</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes="" />
-  <url>http://ros.org/wiki/rosjava_tutorial_pubsub</url>
-</package>
-
-
diff --git a/rosjava_tutorial_right_hand_rule/manifest.xml b/rosjava_tutorial_right_hand_rule/manifest.xml
deleted file mode 100644
index a8cd8f1a8ebfc78509528b87b3fcfa3f5085911b..0000000000000000000000000000000000000000
--- a/rosjava_tutorial_right_hand_rule/manifest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<package>
-  <description brief="rosjava_tutorial_right_hand_rule">
-     rosjava_tutorial_right_hand_rule is a simple example project that solves a maze in Stage.
-  </description>
-  <author>Damon Kohler</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes="" />
-  <url>http://ros.org/wiki/rosjava_tutorial_right_hand_rule</url>
-</package>
-
diff --git a/rosjava_tutorial_services/manifest.xml b/rosjava_tutorial_services/manifest.xml
deleted file mode 100644
index 7df12f655189fae6e47ccb0c60dbf81139dd0119..0000000000000000000000000000000000000000
--- a/rosjava_tutorial_services/manifest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<package>
-  <description brief="rosjava_tutorial_services">
-     rosjava_tutorial_services is a simple example project.
-  </description>
-  <author>Damon Kohler</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes="" />
-  <url>http://ros.org/wiki/rosjava_tutorial_services</url>
-</package>
diff --git a/stack.xml b/stack.xml
deleted file mode 100644
index 45766c9b14f62357be8bf37ece6a882c596455fa..0000000000000000000000000000000000000000
--- a/stack.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<stack>
-  <description brief="rosjava core">
-    The rosjava_core stack contains a pure-Java implementation of ROS and a
-    collection of examples for developing ROS applications in Java.
-  </description>
-  <author>Maintained by Damon Kohler (damonkohler@google.com)</author>
-  <license>Apache 2.0</license>
-  <review status="unreviewed" notes="" />
-  <url>http://ros.org/wiki/rosjava_core</url>
-</stack>
-