FELIX-6759-Java-25-LTS - Also ignore main.distribution build output main.distribution copies bundles into its basedir the same way main does, so building it leaves untracked jars behind in bundle/ and bin/. Both are now ignored. main.distribution/conf is tracked and is deliberately not ignored. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Apache Felix project is a collection of semi-related OSGi sub-projects that build and release individually.
Sub-projects build and release individually and each declares its own minimum Java version, so there is no single repository-wide baseline. The CI build (.github/workflows/maven-ci.yml) compiles and tests the covered sub-projects on Java 17, 21, 23 and 25.
The Apache Felix Framework no longer supports the OSGi security layer. Java SE 24 permanently disabled the Security Manager (JEP 486), so permission checks can no longer be enforced and System.setSecurityManager throws. Accordingly:
org.osgi.framework.security property now fails with a SecurityException rather than silently starting without the requested security.Bundle.hasPermission(...) returns true unless a SecurityProvider is installed.AdminPermission, ServicePermission, PackagePermission, and friends) is still exported, so bundles referring to those types keep compiling and resolving.org.apache.felix.framework.security sub-project has been removed.If you need the security layer, stay on a release that predates this change and run it on Java 21 or earlier.
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./log*/resolverSeveral sub-projects cover various OSGi Compendium specifications such as:
/configadmin/configurator/converter/coordinator/deploymentadmin/deviceaccess/scr*/eventadmin/http/http/io/metatype/prefs/upnp/useradmin/wireadminSeveral 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./metrics/osgi - Collecting and publishing metrics related to OSGi applications/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.