Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_5_X 62c72a773 -> 3e4173039


GROOVY-8766: Add manifest capability entries for OSGi spifly (closes #790)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/3e417303
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/3e417303
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/3e417303

Branch: refs/heads/GROOVY_2_5_X
Commit: 3e41730392c8f2735ffeff6a5a8c8c2ad86369ae
Parents: 62c72a7
Author: Benjamin Graf <benjamin.g...@gmx.net>
Authored: Thu Aug 30 20:28:53 2018 +0200
Committer: Paul King <pa...@asert.com.au>
Committed: Wed Nov 7 21:36:32 2018 +1000

----------------------------------------------------------------------
 gradle/assemble.gradle | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/3e417303/gradle/assemble.gradle
----------------------------------------------------------------------
diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle
index 0494394..5828420 100644
--- a/gradle/assemble.gradle
+++ b/gradle/assemble.gradle
@@ -140,6 +140,17 @@ ext.subprojectOsgiManifest = {
     instruction '-nouses', 'true'
     instruction 'Export-Package', "*;version=${groovyBundleVersion}"
     instruction 'Fragment-Host', 'groovy'
+    def folder = new File( 
"${projectDir}/subprojects/${symbolicName}/src/main/resources/META-INF/services"
 )
+    if( folder.exists() ) {
+        if (folder.listFiles().count { it.name ==~ 
/^(?!(org.codehaus.groovy.transform.ASTTransformation)$).*$/ } > 0) {
+            instruction 'Require-Capability', 
'osgi.extender;filter:="(osgi.extender=osgi.serviceloader.registrar)"'
+            instruction 'Require-Capability', 
'osgi.extender;filter:="(osgi.extender=osgi.serviceloader.processor)"'
+            
folder.eachFileMatch(~/^(?!(org.codehaus.groovy.transform.ASTTransformation)$).*$/)
 {
+                instruction 'Require-Capability', 
"osgi.serviceloader;filter:=\"(osgi.serviceloader=${it.name})\";cardinality:=multiple"
+                instruction 'Provide-Capability', 
"osgi.serviceloader;osgi.serviceloader=\"${it.name}\""
+            }
+        }
+    }
     classpath = sourceSets.main.runtimeClasspath
 }
 

Reply via email to