Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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/**'
pull_request:
branches: [ "master", "feature/**", "maintenance/**" ]
paths:
Expand All @@ -45,6 +46,7 @@ on:
- 'log.extension/**'
- 'examples/**'
- 'configadmin/**'
- 'dependencymanager/**'

# Cancel superseded runs for the same branch. github.head_ref is only set for
# pull_request events, so pushes fall back to github.ref, which groups per branch:
Expand Down Expand Up @@ -118,6 +120,8 @@ jobs:
- 'log.extension/**'
examples:
- 'examples/**'
dependencymanager:
- 'dependencymanager/**'
- name: Felix Configuration JSON
if: steps.changes.outputs.cm-json == 'true' || steps.changes.outputs.configurator == 'true'
run: mvn -B -V -Dstyle.color=always --file cm.json/pom.xml clean install
Expand All @@ -133,7 +137,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 @@ -147,10 +151,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 @@ -174,8 +178,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 All @@ -194,6 +198,11 @@ jobs:
- name: Felix examples
if: steps.changes.outputs.examples == 'true'
run: mvn -B -V -Dstyle.color=always --file examples/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 @@ -204,4 +213,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.

18 changes: 18 additions & 0 deletions dependencymanager/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
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 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