# This file is used for creating OSGi bundles with biz.aQute.bnd
#
# bnd is a tool that automatically discovers the possible exports and
# imports by examining the class files, and generates the OSGi meta-info
# based on that and this file.

-classpath: build/classes
-failok: false

Bundle-SymbolicName: ${moduleOrg}.${moduleName}
Bundle-Version: ${versionForOSGi}
Bundle-License: Apache License, Version 2.0; see: http://freemarker.org/LICENSE.txt
Bundle-Vendor: freemarker.org

Include-Resource: META-INF=build/classes/META-INF

Export-Package: !freemarker.test.*, freemarker.*;version="${versionForOSGi}"
# Important:
# Packages that don't match nor the Export-Package nor the
# Private-Package mainfest header will be excluded from
# the .jar file!

Import-Package: !freemarker.*, *;resolution:="optional"
# The above makes all imports optional (like org.python, etc.),
# except those that were explicitly listed (or are inside java.*).
# Thus, even when the Java platfrom includes a package, it won't
# be automatically imported, unless bnd generates the import statement
# for them. Thus, when J2SE-1.5 becomes a requirement, these should be
# added to the above list, as then they won't be optional anymore:
#   javax.xml.*, org.w3c.dom.*, org.xml.sax.*.

# This is needed for "a.class.from.another.Bundle"?new() to work.
DynamicImport-Package: *

# The required minimum is 1.4, but we utilize 1.5 if available.
# See also: http://wiki.eclipse.org/Execution_Environments, "Compiling
# against more than is required"
Bundle-RequiredExecutionEnvironment: J2SE-1.5, J2SE-1.4

# Non-OSGi meta:
Main-Class: freemarker.core.CommandLine
Extension-name: FreeMarker
Specification-Title: FreeMarker
Specification-Version: ${versionForMf}
Specification-Vendor: freemarker.org
Implementation-Title: FreeMarker
Implementation-Version: ${versionForMf}
Implementation-Vendor: freemarker.org
