[SMX4-1362] Create OSGi bundle for POI 3.9

git-svn-id: https://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/poi-3.9@1435445 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..19cb076
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,147 @@
+<?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>10</version>
+        <relativePath>../bundles-pom/pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.apache.servicemix.bundles</groupId>
+    <artifactId>org.apache.servicemix.bundles.poi</artifactId>
+    <version>3.9_1-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+    <name>Apache ServiceMix :: Bundles :: ${pkgArtifactId}</name>
+    <description>This OSGi bundle wraps poi, poi-contrib, and poi-scratchpad ${pkgVersion} jar files.</description>
+    
+    <properties>
+        <pkgGroupId>org.apache.poi</pkgGroupId>
+        <pkgArtifactId>poi</pkgArtifactId>
+        <pkgVersion>3.9</pkgVersion>
+        <servicemix.osgi.export.pkg>
+            org.apache.poi
+        </servicemix.osgi.export.pkg>
+        <servicemix.osgi.import.pkg>
+            javax.crypto*,
+            org.apache.commons.codec*;version="[1.5,3)",
+            org.apache.commons.logging;resolution:=optional,
+            javax.swing*;resolution:=optional,
+            javax.imageio*,
+            javax.xml.*, 
+            org.w3c.dom
+        </servicemix.osgi.import.pkg>
+    </properties>
+    
+    <dependencies>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>${pkgArtifactId}</artifactId>
+            <version>${pkgVersion}</version>
+            <optional>false</optional>
+        </dependency>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>poi-contrib</artifactId>
+            <version>3.6</version>
+            <optional>false</optional>
+        </dependency>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>poi-scratchpad</artifactId>
+            <version>${pkgVersion}</version>
+            <optional>false</optional>
+        </dependency>
+
+        <!-- sources -->
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>${pkgArtifactId}</artifactId>
+            <version>${pkgVersion}</version>
+            <classifier>sources</classifier>
+            <optional>false</optional>
+        </dependency>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>poi-contrib</artifactId>
+            <version>3.6</version>
+            <classifier>sources</classifier>
+            <optional>false</optional>
+        </dependency>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>poi-scratchpad</artifactId>
+            <version>${pkgVersion}</version>
+            <classifier>sources</classifier>
+            <optional>false</optional>
+        </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}:${pkgArtifactId}</include>
+                                    <include>${pkgGroupId}:poi-contrib</include>
+                                    <include>${pkgGroupId}:poi-scratchpad</include>
+                                </includes>
+                            </artifactSet>
+                            <filters>
+                                <filter>
+                                    <artifact>${pkgGroupId}:${pkgArtifactId}</artifact>
+                                    <excludes>
+                                        <exclude>**</exclude>
+                                    </excludes>
+                                </filter>
+                                <filter>
+                                    <artifact>${pkgGroupId}:poi-contrib</artifact>
+                                    <excludes>
+                                        <exclude>**</exclude>
+                                    </excludes>
+                                </filter>
+                                <filter>
+                                    <artifact>${pkgGroupId}:poi-scratchpad</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..a54e95e
--- /dev/null
+++ b/src/main/resources/OSGI-INF/bundle.info
@@ -0,0 +1,38 @@
+\u001B[1mSYNOPSIS\u001B[0m
+    ${project.description}
+
+    Original Maven URLs:
+        \u001B[33mmvn:${pkgGroupId}/poi/${pkgVersion}\u001B[0m
+        \u001B[33mmvn:${pkgGroupId}/poi-contrib/${pkgVersion}\u001B[0m
+        \u001B[33mmvn:${pkgGroupId}/poi-scratchpad/${pkgVersion}\u001B[0m
+
+\u001B[1mDESCRIPTION\u001B[0m
+    The Apache POI Project's mission is to create and maintain Java APIs for manipulating various file formats based
+    upon the Office Open XML standards (OOXML) and Microsoft's OLE 2 Compound Document format (OLE2). In short, you can
+    read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using
+    Java. Apache POI is your Java Excel solution (for Excel 97-2008). We have a complete API for porting other OOXML and
+    OLE2 formats and welcome others to participate.
+
+    OLE2 files include most Microsoft Office files such as XLS, DOC, and PPT as well as MFC serialization API based file
+    formats. The project provides APIs for the OLE2 Filesystem (POIFS) and OLE2 Document Properties (HPSF).
+
+    Office OpenXML Format is the new standards based XML file format found in Microsoft Office 2007 and 2008. This
+    includes XLSX, DOCX and PPTX. The project provides a low level API to support the Open Packaging Conventions using
+    openxml4j.
+
+    For each MS Office application there exists a component module that attempts to provide a common high level Java api
+    to both OLE2 and OOXML document formats. This is most developed for Excel workbooks (SS=HSSF+XSSF). Work is
+    progressing for Word documents (HWPF+XWPF) and PowerPoint presentations (HSLF+XSLF).
+
+    The project has recently added support for Outlook (HSMF). Microsoft opened the specifications to this format in
+    October 2007. We would welcome contributions.
+
+    There are also projects for Visio (HDGF), TNEF (HMEF), and Publisher (HPBF).
+
+    As a general policy we collaborate as much as possible with other projects to provide this functionality.
+    Examples include: Cocoon for which there are serializers for HSSF; Open Office.org with whom we collaborate in
+    documenting the XLS format; and Tika / Lucene, for which we provide format interpretors.
+    When practical, we donate components directly to those projects for POI-enabling them.
+
+\u001B[1mSEE ALSO\u001B[0m
+    \u001B[36mhttp://poi.apache.org/\u001B[0m