[FELIX-56] Initial submission of mangen 1.0.1 from Ascert's inhouse mangen repository. At present mangen builds but will need further work for either "distribution" creation to be used as an external tool, and to assess if and how it can be integrated within Felix build.
git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@434371 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tools/mangen/src/main/resources/obr.properties b/tools/mangen/src/main/resources/obr.properties
new file mode 100644
index 0000000..22fed88
--- /dev/null
+++ b/tools/mangen/src/main/resources/obr.properties
@@ -0,0 +1,100 @@
+# ------------------------------------------------------------------
+# Example mangen properties for generation of OBR descriptors
+# ------------------------------------------------------------------
+
+#
+# We don't use a ProcessBundles rule, hence no imports/exports will be generated
+# Rather than assume this will always be the case, we use a "Merge" rule to
+# merge the current imports/exports into the mangen set. This allows the
+# ObrReport to use the mangen generated set, and ensures that
+# descriptors can be created either from existing import/exports or generated
+# imports/exports.
+#
+mangen.rulesets=mangen-rule-
+mangen-rule-0=Merge existing imports(.*) exports(.*)
+
+#
+# Create the OBR descriptor report
+#
+mangen-report-0=ObrReport skip-jars(.*-src\\.jar)
+
+#-----------------------------------------------------------------------------
+#
+# Properties below this section should not be changed without a good
+# understanding of mangen's internal operation
+#
+
+# Specifies which scanner class to use.
+mangen.scanner.class=com.ascert.openosgi.mangen.BCELScanner
+#mangen.scanner.class=org.ungoverned.osgi.mangen.ASMClassScanner
+
+#
+# Controls which format of OBR descriptor to create
+#
+mangen.obr.ver=1
+
+#
+# Formats for OBR 1 descriptor
+#
+mangen.obr.descr.1=\
+<bundle>\n \
+ <bundle-name>@@hdr:Bundle-Name@@</bundle-name>\n \
+ <bundle-description>@@hdr:Bundle-Description@@</bundle-description>\n \
+ <bundle-updatelocation>@@hdr:Bundle-UpdateLocation@@</bundle-updatelocation>\n \
+ <bundle-sourceurl>@@hdr:Bundle-SourceUrl@@</bundle-sourceurl>\n \
+ <bundle-version>@@hdr:Bundle-Version@@</bundle-version>\n \
+ <bundle-docurl>@@hdr:Bundle-DocURL@@</bundle-docurl>\n \
+ <bundle-category>@@hdr:Bundle-Category@@</bundle-category>\n \
+ @@imports@@\
+ @@exports@@\n\
+</bundle>
+
+mangen.obr.import.1=<import-package package="@@pkg:name@@" @@import-ver@@/>\n
+mangen.obr.import.ver.1=specification-version="@@pkg:ver@@"
+
+mangen.obr.export.1=<export-package package="@@pkg:name@@" @@export-ver@@/>\n
+mangen.obr.export.ver.1=specification-version="@@pkg:ver@@"
+
+#
+# Formats for OBR 2 descriptor
+#
+mangen.obr.descr.2=\
+<bundle>\n \
+ <bundle-name>@@hdr:Bundle-Name@@</bundle-name>\n \
+ <bundle-symbolicname>@@hdr:Bundle-SymbolicName@@</bundle-symbolicname>\n \
+ <bundle-description>@@hdr:Bundle-Description@@</bundle-description>\n \
+ <bundle-url>@@hdr:Bundle-URL@@</bundle-url>\n \
+ <bundle-sourceurl>@@hdr:Bundle-SourceUrl@@</bundle-sourceurl>\n \
+ <bundle-version>@@hdr:Bundle-Version@@</bundle-version>\n \
+ <bundle-docurl>@@hdr:Bundle-DocURL@@</bundle-docurl>\n \
+ <bundle-category>@@hdr:Bundle-Category@@</bundle-category>\n \
+ @@imports@@ \
+ @@exports@@\n\
+</bundle>
+
+mangen.obr.import.2= \
+ <requirement>\n \
+ <![CDATA[\n \
+ (&(type=Export-Package)\n \
+ (name=@@pkg:name@@)\n \
+ @@import-ver@@)\n \
+ ]]>\n \
+ </requirement>\n
+mangen.obr.import.ver.2=(version>=@@pkg:ver@@)
+
+mangen.obr.export.2= \
+ <capability>\n \
+ <property name="type"\n \
+ type="java.lang.String"\n \
+ value="Export-Package"/>\n \
+ <property name="name"\n \
+ type="java.lang.String"\n \
+ value="@@pkg:name@@"/>\n \
+ @@export-ver@@\
+ </capability>
+mangen.obr.export.ver.2=\
+ <property name="version"\n \
+ type="org.ungoverned.osgi.bundle.bundlerepository.R4Version"\n \
+ value="@@pkg:ver@@"/>\n \
+
+