Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
3e2e5ff
FELIX-6872 - Dependency Manager: remove AccessController usage
claude Oct 24, 2026
e4cd9a1
FELIX-6872 - Dependency Manager: Java 11 baseline, bnd 7.4.0 and Grad…
claude Oct 24, 2026
9c70143
FELIX-6872 - Dependency Manager: update libraries and adapt the tests
claude Oct 24, 2026
36168cf
FELIX-6872 - Build the Dependency Manager in CI
claude Oct 24, 2026
7d021d6
FELIX-6872 - Dependency Manager: fix a race in FELIX5200_FactoryPidNo…
claude Oct 24, 2026
99e1df5
FELIX-6872 - Dependency Manager: make FELIX5200_FactoryPidNotRestarte…
claude Oct 24, 2026
8c15f26
FELIX-6872 - Dependency Manager: ignore repeated deliveries of the sa…
claude Oct 25, 2026
440f061
FELIX-6872 - Dependency Manager: ignore the harmless Config Admin mes…
claude Oct 25, 2026
e74b823
FELIX-6872 - Dependency Manager: build the bundles with Maven
claude Oct 24, 2026
f25c865
FELIX-6872 - Dependency Manager: run the integration tests with Maven
claude Oct 24, 2026
f8ab3cb
FELIX-6872 - Dependency Manager: build the samples and the benchmark …
claude Oct 24, 2026
115ae16
FELIX-6872 - Dependency Manager: remove the Gradle build
claude Oct 24, 2026
f3509b1
Merge remote-tracking branch 'origin/master' into sync581
paulrutter Nov 2, 2026
7176482
Merge remote-tracking branch 'origin/master' into sync581
paulrutter Nov 2, 2026
c949bed
Merge remote-tracking branch 'origin/master' into sync581
paulrutter Nov 2, 2026
61a44ba
Merge remote-tracking branch 'origin/master' into sync581
claude Nov 5, 2026
dcea328
FELIX-6872 - Dependency Manager: mention the Maven build in the relea…
claude Nov 5, 2026
3cf8d08
FELIX-6872 - Dependency Manager: give the parent pom its own name
claude Nov 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 15 additions & 5 deletions .github/workflows/maven-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ on:
- 'log.extension/**'
- 'examples/**'
- 'configadmin/**'
- 'dependencymanager/**'
- 'healthcheck/**'
- 'fileinstall/**'
- 'inventory/**'
Expand Down Expand Up @@ -55,6 +56,7 @@ on:
- 'log.extension/**'
- 'examples/**'
- 'configadmin/**'
- 'dependencymanager/**'
- 'healthcheck/**'
- 'fileinstall/**'
- 'inventory/**'
Expand Down Expand Up @@ -138,6 +140,8 @@ jobs:
- 'log.extension/**'
examples:
- 'examples/**'
dependencymanager:
- 'dependencymanager/**'
healthcheck:
- 'healthcheck/**'
fileinstall:
Expand Down Expand Up @@ -173,7 +177,7 @@ jobs:
# code being changed rather than the last release. A producer is therefore built and
# installed whenever it or one of its consumers changed. See FELIX-6870.
- name: Resolve the versions built in this repository
if: steps.changes.outputs.framework == 'true' || steps.changes.outputs.http == 'true' || steps.changes.outputs.configadmin == 'true' || steps.changes.outputs.scr == 'true' || steps.changes.outputs.gogo == 'true' || steps.changes.outputs.utils == 'true' || steps.changes.outputs.resolver == 'true'
if: steps.changes.outputs.framework == 'true' || steps.changes.outputs.http == 'true' || steps.changes.outputs.configadmin == 'true' || steps.changes.outputs.scr == 'true' || steps.changes.outputs.gogo == 'true' || steps.changes.outputs.utils == 'true' || steps.changes.outputs.resolver == 'true' || steps.changes.outputs.dependencymanager == 'true'
run: |
record() {
echo "$1=$2" >> "$GITHUB_ENV"
Expand All @@ -189,10 +193,10 @@ jobs:
record "GOGO_$(echo "$module" | tr 'a-z' 'A-Z')_VERSION" "$(mvn -B -q --file gogo/pom.xml -pl "$module" help:evaluate -Dexpression=project.version -DforceStdout)"
done
- name: Felix Framework
if: steps.changes.outputs.framework == 'true' || steps.changes.outputs.http == 'true' || steps.changes.outputs.configadmin == 'true' || steps.changes.outputs.scr == 'true' || steps.changes.outputs.gogo == 'true'
if: steps.changes.outputs.framework == 'true' || steps.changes.outputs.http == 'true' || steps.changes.outputs.configadmin == 'true' || steps.changes.outputs.scr == 'true' || steps.changes.outputs.gogo == 'true' || steps.changes.outputs.dependencymanager == 'true'
run: mvn -B -V -Dstyle.color=always --file framework/pom.xml clean install
- name: Felix Config Admin
if: steps.changes.outputs.configadmin == 'true' || steps.changes.outputs.scr == 'true'
if: steps.changes.outputs.configadmin == 'true' || steps.changes.outputs.scr == 'true' || steps.changes.outputs.dependencymanager == 'true'
run: mvn -B -V -Dstyle.color=always --file configadmin/pom.xml clean install "-Dfelix.framework.version=$FRAMEWORK_VERSION"
- name: Felix SCR
if: steps.changes.outputs.scr == 'true'
Expand All @@ -216,8 +220,8 @@ jobs:
if: steps.changes.outputs.main == 'true'
run: mvn -B -V -Dstyle.color=always --file main/pom.xml clean verify
- name: Felix Gogo Shell
if: steps.changes.outputs.gogo == 'true'
run: mvn -B -V -Dstyle.color=always --file gogo/pom.xml clean verify "-Dfelix.gogo.command.version=$GOGO_COMMAND_VERSION" "-Dfelix.gogo.runtime.version=$GOGO_RUNTIME_VERSION" "-Dfelix.gogo.shell.version=$GOGO_SHELL_VERSION" "-Dfelix.gogo.jline.version=$GOGO_JLINE_VERSION" "-Dfelix.framework.version=$FRAMEWORK_VERSION"
if: steps.changes.outputs.gogo == 'true' || steps.changes.outputs.dependencymanager == 'true'
run: mvn -B -V -Dstyle.color=always --file gogo/pom.xml clean install "-Dfelix.gogo.command.version=$GOGO_COMMAND_VERSION" "-Dfelix.gogo.runtime.version=$GOGO_RUNTIME_VERSION" "-Dfelix.gogo.shell.version=$GOGO_SHELL_VERSION" "-Dfelix.gogo.jline.version=$GOGO_JLINE_VERSION" "-Dfelix.framework.version=$FRAMEWORK_VERSION"
- name: Felix utils
if: steps.changes.outputs.utils == 'true' || steps.changes.outputs.resolver == 'true'
run: mvn -B -V -Dstyle.color=always --file utils/pom.xml clean install
Expand Down Expand Up @@ -274,6 +278,11 @@ jobs:
- name: Felix bundlerepository OSGi CT
if: steps.changes.outputs.bundlerepository-osgi-ct == 'true'
run: mvn -B -V -Dstyle.color=always --file bundlerepository.osgi-ct/pom.xml clean verify
# The Dependency Manager runs last. Its integration tests run on the framework, Gogo and
# Config Admin built and installed by the steps above, see FELIX-6870.
- name: Felix Dependency Manager
if: steps.changes.outputs.dependencymanager == 'true'
run: mvn -B -V -Dstyle.color=always --file dependencymanager/pom.xml clean verify "-Dframework.version=$FRAMEWORK_VERSION" "-Dconfigadmin.version=$CONFIGADMIN_VERSION" "-Dgogo.runtime.version=$GOGO_RUNTIME_VERSION" "-Dgogo.shell.version=$GOGO_SHELL_VERSION" "-Dgogo.command.version=$GOGO_COMMAND_VERSION"
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
Expand All @@ -284,4 +293,5 @@ jobs:
${{ github.workspace }}/**/target/surefire-reports/*.xml
${{ github.workspace }}/**/target/failsafe-reports/*.xml
${{ github.workspace }}/**/target/test-reports/tck/*.xml
${{ github.workspace }}/dependencymanager/**/target/test-reports/test/*.xml

10 changes: 3 additions & 7 deletions dependencymanager/.gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
/.gradle/
/reports/
/target/
**/target/
/generated/
/.metadata/
/.recommenders/
/RemoteSystemsTempFiles/
/rat-report.xml

**/generated/
23 changes: 0 additions & 23 deletions dependencymanager/.gradle-wrapper/gradle-wrapper.properties

This file was deleted.

25 changes: 23 additions & 2 deletions dependencymanager/README
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,33 @@ Welcome to Apache Felix Dependency Manager
Apache Felix Dependency Manager is a versatile java API, allowing to declaratively
register, acquire, and manage dynamic OSGi services.

Please refer to release/resources/src/README
The bundles are documented on the website:

http://felix.apache.org/documentation/subprojects/apache-felix-dependency-manager.html

Building and testing Apache Felix Dependency Manager
====================================================

The build instructions can be found from release/resources/src/README.src
Apache Felix Dependency Manager is built with Maven (a recent JDK, 11 or later, is required):

mvn clean install

This builds the bundles, runs their unit tests and runs the OSGi integration tests inside a
framework (bnd-testing-maven-plugin). The framework, Gogo and Config Admin modules of this
repository, which the integration tests run on, have to be installed in the local Maven
repository first, or be available as released versions.

The modules are:

org.apache.felix.dependencymanager the Dependency Manager API and implementation
org.apache.felix.dependencymanager.annotation the annotations and the bnd plugin which processes them
org.apache.felix.dependencymanager.runtime loads the components declared with annotations
org.apache.felix.dependencymanager.shell the Gogo shell commands
org.apache.felix.dependencymanager.lambda the lambda based API
org.apache.felix.dependencymanager.*.itest.* the integration tests
org.apache.felix.dependencymanager.samples samples, see org.apache.felix.dependencymanager.samples/README.samples
org.apache.felix.dependencymanager.lambda.samples
org.apache.felix.dependencymanager.benchmark a stress test, see org.apache.felix.dependencymanager.benchmark/README

Getting Started
===============
Expand Down
22 changes: 0 additions & 22 deletions dependencymanager/build.gradle

This file was deleted.

19 changes: 19 additions & 0 deletions dependencymanager/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
Release Notes - Felix - Dependency Manager
==========================================

** List of bundles being part of the release:
* org.apache.felix.dependencymanager; version=5.0.0
* org.apache.felix.dependencymanager.shell; version=5.0.0
* org.apache.felix.dependencymanager.runtime; version=5.0.0
* org.apache.felix.dependencymanager.annotation; version=6.0.0
* org.apache.felix.dependencymanager.lambda; version=2.0.0

** Improvement
* [FELIX-6872] - Support current JDKs (up to Java 25) and build the Dependency Manager with Maven

The minimum Java version is now 11, which is why the bundles get a new major version.
The exported packages are unchanged compared with the previous release.
The bundles are still compiled against OSGi R6, so their imports have not changed.
The Gradle build has been replaced by a Maven build, and each bundle now has its own version and tag.
The deprecated use of AccessController in the service tracker and in the runtime has been removed.

Release Notes - Felix - Version org.apache.felix.dependencymanager-r16
======================================================================

Expand Down
6 changes: 0 additions & 6 deletions dependencymanager/cnf/.classpath

This file was deleted.

3 changes: 0 additions & 3 deletions dependencymanager/cnf/.gitignore

This file was deleted.

11 changes: 0 additions & 11 deletions dependencymanager/cnf/.project

This file was deleted.

75 changes: 0 additions & 75 deletions dependencymanager/cnf/build.bnd

This file was deleted.

19 changes: 0 additions & 19 deletions dependencymanager/cnf/ext/junit.bnd

This file was deleted.

77 changes: 0 additions & 77 deletions dependencymanager/cnf/ext/libraries.bnd

This file was deleted.

Loading
Loading