ota4j-team / opentest4j

Open Test Alliance for the JVM
Apache License 2.0
285 stars 37 forks source link

Include OSGi metadata in published artifact #41

Closed aaschmid closed 6 years ago

aaschmid commented 6 years ago

The 'osgi' Gradle plugin analyzes source files and creates an OSGi compatible MANIFEST.MF containing "Import-Package" and "Export-Package" as well as some further "Bundle-*" attributes. (see also https://docs.gradle.org/current/userguide/osgi_plugin.html)

Overview

This is required for https://github.com/junit-team/junit5/pull/1353 to the complete transitive dependency chain OSGi compatible. I will provide a manual test case within the JUnit5 issue.


I hereby agree to the terms of the Open Test Alliance Contributor License Agreement.

marcphilipp commented 6 years ago

The generated manifest looks like this:

Manifest-Version: 1.0
Implementation-Title: opentest4j
Automatic-Module-Name: org.opentest4j
Build-Date: 2018-04-01
Bundle-SymbolicName: org.opentest4j
Implementation-Version: 1.1.0-SNAPSHOT
Built-By: OTA4J Team
Bundle-ManifestVersion: 2
Bnd-LastModified: 1522585938000
Specification-Vendor: opentest4j.org
Specification-Title: opentest4j
Bundle-Vendor: opentest4j.org
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))"
Tool: Bnd-2.4.0.201411031534
Implementation-Vendor: opentest4j.org
Export-Package: org.opentest4j;version="1.1.0.SNAPSHOT"
Bundle-Version: 1.1.0.SNAPSHOT
Bundle-Name: opentest4j
Build-Revision: e3f6693a2a1b908c3e4d26e9ba1ec5d8ee64c2e1
Build-Time: 14:32:16.071+0200
Created-By: 1.8.0_162 (Oracle Corporation 25.162-b12)
Specification-Version: 1.1.0
sbrannen commented 6 years ago

LGTM.

Any objections on merging this into master?

sbrannen commented 6 years ago

This has been merged into master.

Thanks