changeset 20:fe20e4ed4be2

CM-125: Ant script to assist creating OSGI jars.
author smith@nwoca.org
date Sat, 15 Jan 2011 15:25:11 -0500
parents 2632897c8a2b
children a114600dc3d4
files osgi-ant-bundlor.xml
diffstat 1 files changed, 50 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/osgi-ant-bundlor.xml	Sat Jan 15 15:25:11 2011 -0500
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="osgi-project-tasks" default="" basedir="."
+         xmlns:ssdtosgi="http://www.ssdt-ohio.org/ant/osgi"
+         xmlns:ivy="antlib:fr.jayasoft.ivy.ant"
+         xmlns:bundlor="antlib:com.springsource.bundlor.ant">
+
+    <description>Ant tasks to assist building OSGi bundles.</description>
+ 
+    <target name="-init-osgi">
+        <ivy:settings  file="ivysettings.xml"/>
+        <ivy:cachepath  resolveId="bundlor.classpath"
+                        pathid="bundlor.classpath"
+                        organisation="com.springsource.bundlor"
+                        module="com.springsource.bundlor.ant"
+                        revision="1.0.0.RELEASE"
+                        inline="true"
+                        type="jar"
+                        log="download-only"/>
+        <taskdef resource="com/springsource/bundlor/ant/antlib.xml"
+                 uri="antlib:com.springsource.bundlor.ant"
+                 classpathref="bundlor.classpath"/>
+
+        <macrodef name="jar"
+                  description="OSGi-ifies jar file"
+                  uri="http://www.ssdt-ohio.org/ant/osgi">
+            <attribute name="jar" description="input jar"/>
+            <attribute name="symbolicName" description="Bundle Symbolic Name" default="${ivy.organisation}.${ivy.module}"/>
+            <attribute name="name" description="Bundle Name" default="${application.title}"/>
+            <attribute name="version" description="Bundle Version" default="${ivy.revision}"/>
+            <attribute name="template" description="Bundle Template" default="${basedir}/template.mf"/>
+            <sequential>
+                <bundlor:bundlor
+                    inputPath="${basedir}/@{jar}"
+                    outputPath="${basedir}/@{jar}"
+                    bundleVersion="@{version}"
+                    bundleSymbolicName="@{symbolicName}"
+                    failOnWarnings="true"
+                    manifestTemplatePath="@{template}">
+                    <property name="bundle.name" value="@name"/>
+                    <propertyset>
+                        <propertyref prefix="ivy"/>
+                        <mapper type="glob" from="ivydeps." to="*"/>
+                    </propertyset>
+                </bundlor:bundlor>
+            </sequential>
+        </macrodef>
+
+    </target>
+
+</project>