Gradle - adest/wiki GitHub Wiki

Pseudo OSGI Eclipse build.gradle

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")
}
⚠️ **GitHub.com Fallback** ⚠️