apply plugin: 'java'
apply plugin: 'osgi'
apply plugin: 'eclipse'
sourceCompatibility = 1.6
jar {
manifest {
instruction 'Manifest-Version', '1.0'
instruction 'Bundle-ManifestVersion', '2'
instruction 'Bundle-SymbolicName', 'test-gradle'
instruction 'Bundle-Activator', 'org.gradle.Activator'
instruction 'Bundle-RequiredExecutionEnvironment', 'JavaSE-1.6'
instruction 'Bundle-ActivationPolicy', 'lazy'
instruction 'Import-Package', 'org.osgi.framework'
}
}
eclipse {
classpath {
containers 'org.eclipse.pde.core.requiredPlugins'
}
}
repositories {
mavenCentral()
}
dependencies {
compile 'org.hsqldb:hsqldb:2.0.0'
testCompile 'junit:junit:4.+'
}
task copyLib(type: Copy) {
into '/lib/'
from configurations.runtime
}
task generateManifest( dependsOn: 'copyLib') {
// add dependecies to bundle classpath
String classPath = ''
Iterator<File> fileIt = configurations.runtime.iterator()
while(fileIt.hasNext()) {
File file = fileIt.next()
//classPath += file.path
classPath += 'lib/' + file.name
if (fileIt.hasNext()) {
classPath += ', '
}
}
jar.manifest.attributes(['Bundle-ClassPath': classPath])
jar.manifest.writeTo("META-INF/MANIFEST.MF")
}