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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 20 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,17 @@ 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 is built with Gradle and bnd rather than Maven. It runs last,
# on the framework, Gogo and Config Admin snapshots installed into the local Maven
# repository by the steps above.
- name: Felix Dependency Manager
if: steps.changes.outputs.dependencymanager == 'true'
working-directory: dependencymanager
run: |
# The annotation bundle is a bnd plugin used by the other projects. It has to exist
# before they are configured, so it is built in a separate Gradle invocation.
./gradlew --no-daemon --console=plain org.apache.felix.dependencymanager.annotation:jar
./gradlew --no-daemon --console=plain build
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
Expand Down
3 changes: 3 additions & 0 deletions dependencymanager/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@
/RemoteSystemsTempFiles/
/rat-report.xml

/build/
/cnf/localrepo/
/cnf/releaserepo/
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.2-bin.zip
8 changes: 8 additions & 0 deletions dependencymanager/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,11 @@
tasks.named('wrapper') {
jarFile = rootProject.file('.gradle-wrapper/gradle-wrapper.jar')
}

// The bnd launcher based integration tests run in the testOSGi task, so the plain
// Gradle test task of those projects legitimately has no tests to discover.
subprojects {
tasks.withType(Test).configureEach {
failOnNoDiscoveredTests = false
}
}
4 changes: 2 additions & 2 deletions dependencymanager/cnf/build.bnd
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
Expand Down Expand Up @@ -58,8 +58,8 @@
#
# Java parameters
#
javac.source: 1.8
javac.target: 1.8
javac.source: 11
javac.target: 11

#
# Removes some headers in order to reduce binary diff between same bundles that are not changed between subsequent releases.
Expand Down
2 changes: 1 addition & 1 deletion dependencymanager/cnf/ext/junit.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@
# limitations under the License.
#

junit: org.apache.servicemix.bundles.junit; version=4.12
junit: org.apache.servicemix.bundles.junit; version=4.13.2
test-reports: test-results
33 changes: 19 additions & 14 deletions dependencymanager/cnf/ext/libraries.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,25 @@

##
# metatype service
metatype=org.apache.felix.metatype;version=1.0.4
metatype=org.apache.felix.metatype;version=1.2.4

##
# log service
log=org.apache.felix.log;version=1.0.1
log=org.apache.felix.log;version=1.3.2

##
# Gogo bundles
gogo=\
org.apache.felix.gogo.command;version=1.0.2,\
org.apache.felix.gogo.runtime;version=1.0.10,\
org.apache.felix.gogo.shell;version=1.0.0,\
org.jline;version=3.0.4,\
org.apache.felix.gogo.command;version=latest,\
org.apache.felix.gogo.runtime;version=latest,\
org.apache.felix.gogo.shell;version=latest,\
org.jline;version=3.29.0,\
org.fusesource.jansi;version=1.16.0


##
# Configuration Admin
configadmin=org.apache.felix.configadmin;version=1.8.8
configadmin=org.apache.felix.configadmin;version=latest

##
# Event Admin
Expand All @@ -53,25 +53,30 @@ webconsole=\

##
# bndlib
bndlib=biz.aQute.bndlib;version=5.2.0
bndlib=biz.aQute.bndlib;version=7.4.0

##
# mockito
mockito=org.mockito.mockito-core;version=1.10.19
mockito=\
org.mockito.mockito-core;version=5.24.0,\
net.bytebuddy.byte-buddy;version=1.17.7,\
net.bytebuddy.byte-buddy-agent;version=1.17.7

##
# objenesis
objenesis=org.objenesis;version=2.2
objenesis=org.objenesis;version=3.3

##
# runtime dependencies used by integration tests
#
itest.run=\
org.apache.servicemix.bundles.junit;version=4.12,\
org.mockito.mockito-core;version='[1.10.19,1.10.20)',\
org.objenesis;version='[2.2.0,2.2.1)'
org.apache.servicemix.bundles.junit;version=4.13.2,\
org.mockito.mockito-core;version='[5.24.0,5.25)',\
net.bytebuddy.byte-buddy;version='[1.17.7,1.18)',\
net.bytebuddy.byte-buddy-agent;version='[1.17.7,1.18)',\
org.objenesis;version='[3.3.0,3.3.1)'

##
# Felix Framework
#
felix.framework=org.apache.felix.framework;version='[5.6.10,5.6.10]'
felix.framework=org.apache.felix.framework;version='[8.0.0,9)'
34 changes: 18 additions & 16 deletions dependencymanager/cnf/repository.mvn
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,19 @@
#

ant:ant:1.5
biz.aQute.bnd:biz.aQute.bnd.gradle:5.2.0
biz.aQute.bnd:biz.aQute.bndlib:5.2.0
org.apache.felix:org.apache.felix.framework:5.6.10
biz.aQute.bnd:biz.aQute.bnd.gradle:7.4.0
biz.aQute.bnd:biz.aQute.bndlib:7.4.0
org.apache.felix:org.apache.felix.framework:8.0.0-SNAPSHOT
org.apache.felix:org.apache.felix.eventadmin:1.4.4
org.apache.felix:org.apache.felix.gogo.command:1.0.2
org.apache.felix:org.apache.felix.gogo.shell:1.0.0
org.apache.felix:org.apache.felix.gogo.runtime:1.0.10
org.jline:jline:3.0.4
org.apache.felix:org.apache.felix.gogo.command:1.1.3-SNAPSHOT
org.apache.felix:org.apache.felix.gogo.shell:1.1.5-SNAPSHOT
org.apache.felix:org.apache.felix.gogo.runtime:1.2.0-SNAPSHOT
org.jline:jline:3.29.0
org.apache.felix:org.apache.felix.http.api:3.0.0
org.apache.felix:org.apache.felix.http.servlet-api:1.1.2
org.apache.felix:org.apache.felix.configadmin:1.8.8
org.apache.felix:org.apache.felix.log:1.0.1
org.apache.felix:org.apache.felix.metatype:1.1.2
org.apache.felix:org.apache.felix.configadmin:1.10.0-SNAPSHOT
org.apache.felix:org.apache.felix.log:1.3.2
org.apache.felix:org.apache.felix.metatype:1.2.4
org.apache.felix:org.apache.felix.http.jetty:3.4.8
org.apache.felix:org.apache.felix.webconsole:4.3.4
org.apache.felix:org.apache.felix.dependencymanager:4.6.1
Expand All @@ -37,12 +37,14 @@ org.apache.felix:org.apache.felix.dependencymanager.lambda:1.2.2
org.apache.felix:org.apache.felix.dependencymanager.runtime:4.0.8
org.apache.felix:org.apache.felix.dependencymanager.shell:4.0.9
org.jline:jline-builtins:3.3.0
org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit:4.12_1
org.mockito:mockito-core:1.10.19
org.objenesis:objenesis:2.2
org.osgi:osgi.annotation:6.0.1
org.osgi:osgi.cmpn:6.0.0
org.osgi:osgi.core:6.0.0
org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit:4.13.2_1
org.mockito:mockito-core:5.24.0
net.bytebuddy:byte-buddy:1.17.7
net.bytebuddy:byte-buddy-agent:1.17.7
org.objenesis:objenesis:3.3
org.osgi:osgi.annotation:8.1.0
org.osgi:osgi.cmpn:7.0.0
org.osgi:osgi.core:8.0.0
biz.aQute.bnd:biz.aQute.bnd.annotation:3.5.0
org.slf4j:slf4j-simple:1.7.7
org.slf4j:slf4j-api:1.7.7
Expand Down
4 changes: 2 additions & 2 deletions dependencymanager/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
* under the License.
*/

bnd_version=5.2.0
bnd_version=7.4.0
# bnd_plugin is the dependency declaration for the bnd gradle plugin
bnd_plugin=biz.aQute.bnd:biz.aQute.bnd.gradle:5.2.0
bnd_plugin=biz.aQute.bnd:biz.aQute.bnd.gradle:7.4.0

org.gradle.jvmargs=-Xmx2g

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
Bundle-Version: 5.0.3
Bundle-Version: 6.0.0
-buildpath: \
osgi.core;version=6.0,\
osgi.cmpn;version=6.0,\
biz.aQute.bndlib;version=3.5
osgi.core;version=8.0,\
osgi.cmpn;version=7.0,\
biz.aQute.bndlib;version=7.4.0
Private-Package: org.apache.felix.dm.annotation.plugin.bnd
Export-Package: org.apache.felix.dm.annotation.api
Include-Resource: META-INF/=resources/,META-INF/changelog.txt=changelog.txt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
javac.source: 1.8
javac.target: 1.8
javac.source: 11
javac.target: 11
Bundle-Version: 1.0.0
-buildpath: \
org.apache.felix.dependencymanager;version=latest,\
osgi.core;version=6.0,\
osgi.cmpn;version=6.0
osgi.core;version=8.0,\
osgi.cmpn;version=7.0

-sub: \
*.bnd
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,27 @@
# limitations under the License.
#
-runbundles: \
org.apache.servicemix.bundles.junit;version=4.12,\
org.apache.felix.metatype;version=1.1.2,\
org.apache.felix.log;version=1.0.1,\
org.apache.felix.configadmin;version=1.8.8,\
org.apache.servicemix.bundles.junit;version=4.13.2,\
org.apache.felix.metatype;version=1.2.4,\
org.apache.felix.log;version=1.3.2,\
org.apache.felix.configadmin;version=latest,\
org.apache.felix.dependencymanager;version=latest,\
org.apache.felix.dependencymanager.shell;version=latest,\
org.apache.felix.dependencymanager.index.itest.dynamic.customindex;version=latest,\
org.apache.felix.dependencymanager.index.itest.static.customindex;version=latest,\
org.apache.felix.dependencymanager.index.itest.tests;version=latest,\
org.apache.felix.gogo.runtime;version=1.0.6
org.apache.felix.gogo.runtime;version=latest

-runee: JavaSE-1.8
-runee: JavaSE-11
-runvm: -ea
-runfw: org.apache.felix.framework;version='[5.6.10,5.6.10]'
-runfw: org.apache.felix.framework;version='[8.0.0,9)'
-buildpath: \
osgi.core;version=6.0,\
osgi.cmpn;version=6.0,\
osgi.core;version=8.0,\
osgi.cmpn;version=7.0,\
org.apache.felix.dependencymanager;version=latest,\
org.apache.felix.dependencymanager.shell;version=latest,\
${junit},\
org.apache.felix.gogo.runtime;version=1.0
org.apache.felix.gogo.runtime;version=latest
-runsystempackages: \
sun.reflect
Test-Cases: \
Expand Down
Loading
Loading