apply plugin: 'osgi' configurations { embedOsgi } dependencies { compile project(path: ':sqljet') embedOsgi project(path: ':sqljet', transitive: false, configuration: 'jar_archive') embedOsgi('org.antlr:antlr-runtime:3.4') { transitive = false } } classes << { configurations.embedOsgi.files.each { f -> if (f.name.endsWith('.jar') || f.name.endsWith('.zip')) { copy { into 'build/classes/main' from zipTree(f) exclude 'META-INF/**' } } } } jar { ext { bundleName = rootProject.group bundleSymbolicName = 'SQLJet pure Java Sqlite Library' bundleVersion = rootProject.version.replace('-SNAPSHOT', '.SNAPSHOT').replace('-', '.') + (rootProject.release ? '.' : '_') + buildNumber bundleVendor = 'TMate Software' println "OSGi version: ${bundleVersion}" } baseName = bundleName manifest { attributes ( 'Bundle-SymbolicName': bundleName, 'Bundle-Version': bundleVersion, 'Bundle-Vendor': bundleVendor, 'Bundle-Name': bundleSymbolicName, 'Bundle-RequiredExecutionEnvironment' : 'J2SE-' + targetCompatibility, 'Bundle-ActivationPolicy' : 'lazy', 'Build-Version' : rootProject.version, 'Build-Number' : rootProject.buildNumber, 'Eclipse-BundleShape' : 'jar') instruction ('Export-Package','*;version=' + bundleVersion) instruction ('Import-Package', '!*') } }