Skip to content

Commit b7030c6

Browse files
committed
Merge branch 'master' into maintenance/FELIX-6774-IT-demonstrating-the-issue
2 parents 24cb75e + 7dd6b76 commit b7030c6

158 files changed

Lines changed: 4626 additions & 3403 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/maven-ci.yml

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,31 @@ on:
2121
- 'webconsole/**'
2222
- 'log/**'
2323
- 'framework/**'
24+
- 'gogo/**'
2425

2526
permissions: {}
2627

2728
jobs:
2829
build:
2930
runs-on: ubuntu-latest
31+
strategy:
32+
fail-fast: false
33+
matrix:
34+
java: [17,21,23]
3035
steps:
3136
- uses: actions/checkout@v4
32-
- name: Set up JDK 17
37+
- name: Set up JDK ${{ matrix.java }}
3338
uses: actions/setup-java@v4
3439
with:
35-
java-version: '17'
40+
java-version: ${{ matrix.java }}
3641
distribution: 'temurin'
3742
cache: maven
3843
- name: Set up Maven
3944
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
4045
with:
4146
maven-version: 3.9.9
4247
- name: Check which subproject changed and build affected ones
43-
uses: dorny/paths-filter@v3.0.2
48+
uses: dorny/paths-filter@v3.0.2
4449
id: changes
4550
with:
4651
filters: |
@@ -58,6 +63,8 @@ jobs:
5863
- 'log/**'
5964
framework:
6065
- 'framework/**'
66+
gogo:
67+
- 'gogo/**'
6168
6269
- name: Felix SCR
6370
if: steps.changes.outputs.scr == 'true'
@@ -68,7 +75,7 @@ jobs:
6875
- name: Felix HTTP
6976
if: steps.changes.outputs.http == 'true'
7077
run: mvn -B -V -Dstyle.color=always "-Dit.test=!MissingWebsocketDependenciesIT" --file http/pom.xml clean install verify
71-
- name: Felix Maven bundle plugin
78+
- name: Felix Maven bundle plugin
7279
if: steps.changes.outputs.maven-bundle-plugin == 'true'
7380
run: mvn -B -V -Dstyle.color=always --file tools/maven-bundle-plugin/pom.xml clean install verify
7481
- name: Felix Maven OSGi check plugin
@@ -80,12 +87,20 @@ jobs:
8087
- name: Felix Framework
8188
if: steps.changes.outputs.framework == 'true'
8289
run: mvn -B -V -Dstyle.color=always --file framework/pom.xml clean verify
90+
- name: OSGi-TCK Framework
91+
if: steps.changes.outputs.framework == 'true'
92+
run: mvn -B -V -Dstyle.color=always --file framework.tck/pom.xml clean verify
93+
- name: Felix Gogo Shell
94+
if: steps.changes.outputs.gogo == 'true'
95+
run: mvn -B -V -Dstyle.color=always --file gogo/pom.xml clean verify
8396
- name: Upload Test Results
8497
if: always()
8598
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
8699
with:
87-
name: test-results
100+
name: test-results-jdk${{ matrix.java }}
88101
if-no-files-found: warn
89102
path: |
90103
${{ github.workspace }}/**/target/surefire-reports/*.xml
91104
${{ github.workspace }}/**/target/failsafe-reports/*.xml
105+
${{ github.workspace }}/**/target/test-reports/tck/*.xml
106+

framework.tck/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/generated/

framework.tck/pom.xml

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
<!--
2+
Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
-->
19+
<project xmlns="http://maven.apache.org/POM/4.0.0"
20+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
21+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
22+
<parent>
23+
<groupId>org.apache.felix</groupId>
24+
<artifactId>felix-parent</artifactId>
25+
<version>8</version>
26+
<relativePath>../pom/pom.xml</relativePath>
27+
</parent>
28+
<modelVersion>4.0.0</modelVersion>
29+
<packaging>jar</packaging>
30+
<name>Apache Felix Framework</name>
31+
<artifactId>org.apache.felix.framework.tck</artifactId>
32+
<version>7.1.0-SNAPSHOT</version>
33+
<properties>
34+
<dollar>$</dollar>
35+
<felix.java.version>8</felix.java.version>
36+
</properties>
37+
<scm>
38+
<connection>scm:git:https://github.com/apache/felix-dev.git</connection>
39+
<developerConnection>scm:git:https://github.com/apache/felix-dev.git</developerConnection>
40+
<url>https://gitbox.apache.org/repos/asf?p=felix-dev.git</url>
41+
<tag>org.apache.felix.framework-7.0.2</tag>
42+
</scm>
43+
44+
45+
<build>
46+
<plugins>
47+
<plugin>
48+
<groupId>biz.aQute.bnd</groupId>
49+
<artifactId>bnd-resolver-maven-plugin</artifactId>
50+
<version>7.1.0</version>
51+
<configuration>
52+
<includeDependencyManagement>true</includeDependencyManagement>
53+
<bndruns>
54+
<bndrun>tck.bndrun</bndrun>
55+
</bndruns>
56+
<scopes>
57+
<scope>compile</scope>
58+
<scope>runtime</scope>
59+
<scope>test</scope>
60+
</scopes>
61+
<failOnChanges>false</failOnChanges>
62+
<bndruns>
63+
<bndrun>tck.bndrun</bndrun>
64+
</bndruns>
65+
</configuration>
66+
<executions>
67+
<execution>
68+
<goals>
69+
<goal>resolve</goal>
70+
</goals>
71+
</execution>
72+
</executions>
73+
</plugin>
74+
<plugin>
75+
<groupId>biz.aQute.bnd</groupId>
76+
<artifactId>bnd-testing-maven-plugin</artifactId>
77+
<version>7.1.0</version>
78+
<configuration>
79+
<failOnChanges>true</failOnChanges>
80+
<includeDependencyManagement>true</includeDependencyManagement>
81+
<bndruns>
82+
<bndrun>tck.bndrun</bndrun>
83+
</bndruns>
84+
<scopes>
85+
<scope>compile</scope>
86+
<scope>runtime</scope>
87+
<scope>test</scope>
88+
</scopes>
89+
</configuration>
90+
<executions>
91+
<execution>
92+
<goals>
93+
<goal>testing</goal>
94+
</goals>
95+
</execution>
96+
</executions>
97+
</plugin>
98+
99+
</plugins>
100+
101+
102+
</build>
103+
<dependencies>
104+
105+
<dependency>
106+
<groupId>net.bytebuddy</groupId>
107+
<artifactId>byte-buddy</artifactId>
108+
<version>1.17.5</version>
109+
<scope>test</scope>
110+
</dependency>
111+
<dependency>
112+
<groupId>org.assertj</groupId>
113+
<artifactId>assertj-core</artifactId>
114+
<version>3.27.3</version>
115+
<scope>test</scope>
116+
</dependency>
117+
<dependency>
118+
<groupId>org.apache.servicemix.bundles</groupId>
119+
<artifactId>org.apache.servicemix.bundles.junit</artifactId>
120+
<version>4.13.2_1</version>
121+
<scope>test</scope>
122+
</dependency>
123+
<dependency>
124+
<groupId>org.junit.platform</groupId>
125+
<artifactId>junit-platform-launcher</artifactId>
126+
<version>1.12.1</version>
127+
<scope>test</scope>
128+
</dependency>
129+
<dependency>
130+
<groupId>org.junit.platform</groupId>
131+
<artifactId>junit-platform-engine</artifactId>
132+
<version>1.12.1</version>
133+
<scope>test</scope>
134+
</dependency>
135+
<dependency>
136+
<groupId>org.junit.platform</groupId>
137+
<artifactId>junit-platform-launcher</artifactId>
138+
<version>1.12.1</version>
139+
<scope>test</scope>
140+
</dependency>
141+
<dependency>
142+
<groupId>org.osgi</groupId>
143+
<artifactId>org.osgi.test.cases.framework</artifactId>
144+
<version>8.0.0</version>
145+
<scope>test</scope>
146+
</dependency>
147+
<dependency>
148+
<groupId>org.apache.felix</groupId>
149+
<artifactId>org.apache.felix.framework</artifactId>
150+
<version>7.1.0-SNAPSHOT</version>
151+
</dependency>
152+
<!-- tck run -->
153+
<dependency>
154+
<groupId>biz.aQute.bnd</groupId>
155+
<artifactId>biz.aQute.junit</artifactId>
156+
<version>6.4.1</version>
157+
<scope>runtime</scope>
158+
</dependency>
159+
</dependencies>
160+
</project>

framework.tck/tck.bndrun

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
-runproperties: \
2+
${runproperties}=,\
3+
org.osgi.test.cases.framework.div.tb16=xyz,\
4+
org.osgi.test.cases.framework.div.tb15=abc,\
5+
org.osgi.framework.system.capabilities.extra='osgi.ee; osgi.ee="testOSGiEE", osgi.ee; osgi.ee="AA/BB", osgi.ee; osgi.ee="CC-XX/DD-YY", osgi.ee; osgi.ee="EE/FF-YY"; version:Version="2.0", osgi.ee; osgi.ee="GG-XX/HH"; version:Version="1.0", osgi.ee; osgi.ee="II-1.0/JJ-2.0", osgi.ee; osgi.ee="div/tb7a"',\
6+
org.osgi.test.cases.framework.div.tb12=abc
7+
8+
-runee: JavaSE-17
9+
-runrequires: \
10+
bnd.identity;id='org.osgi.test.cases.framework',\
11+
bnd.identity;id='net.bytebuddy.byte-buddy',\
12+
bnd.identity;id=assertj-core,\
13+
bnd.identity;id=junit-platform-commons,\
14+
bnd.identity;id=junit-platform-engine,\
15+
bnd.identity;id=junit-platform-launcher,\
16+
bnd.identity;id=junit-vintage-engine,\
17+
bnd.identity;id='biz.aQute.junit'
18+
19+
20+
-runfw: org.apache.felix.framework;version='[7.0.0,8)
21+
22+
-tester: biz.aQute.tester.junit-platform
23+
24+
# resolved bundles
25+
-runbundles: \
26+
org.osgi.test.cases.framework;version='[8.0.0,8.0.1)',\
27+
org.apache.servicemix.bundles.bcel;version='[5.2.0,5.2.1)',\
28+
org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
29+
junit-platform-commons;version='[1.12.1,1.12.2)',\
30+
junit-platform-engine;version='[1.12.1,1.12.2)',\
31+
org.opentest4j;version='[1.3.0,1.3.1)',\
32+
junit-platform-launcher;version='[1.12.1,1.12.2)',\
33+
assertj-core;version='[3.27.3,3.27.4)',\
34+
biz.aQute.junit;version='[6.4.1,6.4.2)',\
35+
junit-vintage-engine;version='[5.7.1,5.7.2)',\
36+
net.bytebuddy.byte-buddy;version='[1.17.5,1.17.6)'

framework/pom.xml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@
4141

4242
<build>
4343
<plugins>
44+
<plugin>
45+
<groupId>org.apache.maven.plugins</groupId>
46+
<artifactId>maven-surefire-plugin</artifactId>
47+
<configuration>
48+
<argLine>
49+
-Djava.security.manager=allow
50+
</argLine>
51+
</configuration>
52+
</plugin>
4453
<plugin>
4554
<groupId>org.moditect</groupId>
4655
<artifactId>moditect-maven-plugin</artifactId>
@@ -217,21 +226,21 @@
217226
<scope>test</scope>
218227
</dependency>
219228
<dependency>
220-
<groupId>org.easymock</groupId>
221-
<artifactId>easymock</artifactId>
222-
<version>2.5.2</version>
223-
<scope>test</scope>
229+
<groupId>org.junit.jupiter</groupId>
230+
<artifactId>junit-jupiter</artifactId>
231+
<version>5.12.1</version>
232+
<scope>test</scope>
224233
</dependency>
225234
<dependency>
226235
<groupId>org.mockito</groupId>
227236
<artifactId>mockito-core</artifactId>
228-
<version>5.16.1</version>
237+
<version>5.17.0</version>
229238
<scope>test</scope>
230239
</dependency>
231240
<dependency>
232-
<groupId>junit</groupId>
233-
<artifactId>junit</artifactId>
234-
<version>4.13.1</version>
241+
<groupId>org.assertj</groupId>
242+
<artifactId>assertj-core</artifactId>
243+
<version>3.27.3</version>
235244
<scope>test</scope>
236245
</dependency>
237246
<dependency>

0 commit comments

Comments
 (0)