commit | a13ea8ea177933e2911b14e1de55fff4e5196927 | [log] [tgz] |
---|---|---|
author | Tom Watson <tjwatson@apache.org> | Tue Jan 14 21:31:18 2020 +0000 |
committer | Tom Watson <tjwatson@apache.org> | Tue Jan 14 21:31:18 2020 +0000 |
tree | f6f7d9ef532eb5553717cebeb42dd67d0d7ec7d4 | |
parent | f423e17c3c8979a9ee3636fc8ca233309d83a10e [diff] |
FELIX-6212 : Add testcase and fix reexport uses constraint check When an exporter of a split package requires multiple bundles that also export the split package and that bundle does a reexport on one of the parts it can cause resolution issues for uses constraints. The actual problem is with reexport itself. The reexporting bundle does not have to also export the package to cause the issue. The problem is that each part of the package pulled in from the require-reexport is checked in isolation with the using bundles wire to the same package name. This is incorrect because that is only a subset of the actual used package from the perspective of the exported package that is using the split package. The fix is to record all the package parts for the split used package from the wiring of the bundle exporting the package that uses the split package. That way during the compatibility check we can accurately use the set of sources for the split package that the exporting bundle is using. git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1872796 13f79535-47bb-0310-9956-ffa450edef68
The Apache Felix project is a collection of semi-related OSGi sub-projects that build and release individually.
The flagship project is the Apache Felix Framework which implements the OSGi Core R7 specification. The /framework
directory contains the source and build tree for the OSGi-compliant framework implementation.
Directly related projects:
/main*
- provides an executable jar that launches the Felix framework.Several sub-projects cover various OSGi Compendium specifications such as:
/configadmin
/configurator
/converter
/coordinator
/deploymentadmin
/deviceaccess
/scr*
/eventadmin
/http
/http
/io
/log*
/metatype
/prefs
/resolver
/upnp
/useradmin
/wireadmin
Several projects provide extra features to an OSGi runtime.
/bundlerepository
- Bundle repository service./connect
- A service registry that enables OSGi style service registry programs without using an OSGi framework./dependencymanager
- A versatile java API, allowing to declaratively register, acquire, and manage dynamic OSGi services./fileinstall*
- A utility to automatically install bundles from a directory./gogo
- A command line shell, runtime and set of base commands for interacting with and introspecting an OSGi framework./healthcheck/*
- An extensible framework to monitor the status of the OSGi container at runtime. (contains systemready)/inventory
- Provides some mechanisms to get the current state of the system and therefore provides an inventory of the system./ipojo
- A service component runtime aiming to simplify OSGi application development./jaas
- Bundle to simplify JAAS usage within OSGi environment./logback
- A simple integration of the OSGi R7 Log (1.4) service to Logback backend./rootcause
- Finding the root cause of problems with OSGi declarative services components./utils
- Utility classes for OSGi (intended for embedding within other bundles.)/webconsole*
- Web Based Management Console for OSGi Frameworks.The /tools
directory contains various build tools.
/tools/maven-bundle-plugin
- A maven plugin for building OSGi bundles./tools/osgicheck-maven-plugin
- Maven plugin for checking several OSGi aspects of your project.