diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..b161a75
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <!--
+
+        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.
+    -->
+    
+    <modelVersion>4.0.0</modelVersion>
+    
+    <parent>
+        <groupId>org.apache.servicemix.bundles</groupId>
+        <artifactId>bundles-pom</artifactId>
+        <version>11</version>
+        <relativePath>../bundles-pom/pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.apache.servicemix.bundles</groupId>
+    <artifactId>org.apache.servicemix.bundles.aspectj</artifactId>
+    <packaging>bundle</packaging>
+    <version>1.8.5_1-SNAPSHOT</version>
+    <name>Apache ServiceMix :: Bundles :: ${pkgArtifactId}</name>
+    <description>This OSGi bundle wraps aspectjrt and aspectjweaver ${pkgVersion} jar files.</description>
+    
+    <properties>
+        <pkgGroupId>org.aspectj</pkgGroupId>
+        <pkgArtifactId>aspectj</pkgArtifactId>
+        <pkgVersion>1.8.5</pkgVersion>
+        <servicemix.osgi.export.pkg>
+            org.aspectj
+        </servicemix.osgi.export.pkg>
+        <servicemix.osgi.import.pkg>
+            javax.xml*,
+            org.xml.sax*,
+            com.bea.jvm;resolution:=optional,
+            org.objectweb.asm;resolution:=optional,
+            org.apache.commons.logging;resolution:=optional,
+            aj.org.objectweb.asm;resolution:=optional
+        </servicemix.osgi.import.pkg>
+    </properties>
+    
+    <dependencies>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>aspectjrt</artifactId>
+            <version>${pkgVersion}</version>
+        </dependency>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>aspectjweaver</artifactId>
+            <version>${pkgVersion}</version>
+        </dependency>
+
+        <!-- sources -->
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>aspectjrt</artifactId>
+            <version>${pkgVersion}</version>
+            <classifier>sources</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>aspectjweaver</artifactId>
+            <version>${pkgVersion}</version>
+            <classifier>sources</classifier>
+        </dependency>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            <artifactSet>
+                                <includes>
+                                    <include>${pkgGroupId}:aspectjrt</include>
+                                    <include>${pkgGroupId}:aspectjweaver</include>
+                                </includes>
+                            </artifactSet>
+                            <filters>
+                                <filter>
+                                    <artifact>${pkgGroupId}:aspectjrt</artifact>
+                                    <excludes>
+                                        <exclude>**</exclude>
+                                    </excludes>
+                                </filter>
+                                <filter>
+                                    <artifact>${pkgGroupId}:aspectjweaver</artifact>
+                                    <excludes>
+                                        <exclude>**</exclude>
+                                    </excludes>
+                                </filter>
+                            </filters>                            
+                            <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
+                            <createDependencyReducedPom>true</createDependencyReducedPom>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/src/main/resources/OSGI-INF/bundle.info b/src/main/resources/OSGI-INF/bundle.info
new file mode 100644
index 0000000..31b0363
--- /dev/null
+++ b/src/main/resources/OSGI-INF/bundle.info
@@ -0,0 +1,17 @@
+\u001B[1mSYNOPSIS\u001B[0m
+    ${project.description}
+
+    Original Maven URLs:
+        \u001B[33mmvn:${pkgGroupId}/aspectjrt/${pkgVersion}\u001B[0m
+        \u001B[33mmvn:${pkgGroupId}/aspectjweaver/${pkgVersion}\u001B[0m
+
+\u001B[1mDESCRIPTION\u001B[0m
+    Some aspects of system implementation, such as logging, error handling, standards enforcement
+    and feature variations are notoriously difficult to implement in a modular way. The result is that code
+    is tangled across a system and leads to quality, productivity and maintenance problems. AspectJ is a
+    seamless aspect-oriented extension to the Java programming language that enables clean modularization of
+    these 'crosscutting concerns'. For the best AspectJ development experience, the AspectJ Development Tools
+    (AJDT) project provides Eclipse platform based tool support for AOSD with AspectJ.
+
+\u001B[1mSEE ALSO\u001B[0m
+    \u001B[36mhttp://www.eclipse.org/aspectj/\u001B[0m
