This is an automated email from the ASF dual-hosted git repository.
stbischof pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git
The following commit(s) were added to refs/heads/master by this push:
new 4097a96185 [framework] add tck module - run the OSGi-TCK
osgi.test.cases.framework
4097a96185 is described below
commit 4097a96185086ed7bb0a0e05a08c14e918692cd4
Author: Stefan Bischof <[email protected]>
AuthorDate: Sat Apr 12 13:06:58 2025 +0200
[framework] add tck module - run the OSGi-TCK osgi.test.cases.framework
Signed-off-by: Stefan Bischof <[email protected]>
---
.github/workflows/maven-ci.yml | 17 +++--
framework.tck/pom.xml | 160 +++++++++++++++++++++++++++++++++++++++++
framework.tck/tck.bndrun | 36 ++++++++++
3 files changed, 209 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/maven-ci.yml b/.github/workflows/maven-ci.yml
index 86bdd614a8..24284494dd 100644
--- a/.github/workflows/maven-ci.yml
+++ b/.github/workflows/maven-ci.yml
@@ -27,12 +27,16 @@ permissions: {}
jobs:
build:
runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ java: [17]
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: ${{ matrix.java }}
distribution: 'temurin'
cache: maven
- name: Set up Maven
@@ -40,7 +44,7 @@ jobs:
with:
maven-version: 3.9.9
- name: Check which subproject changed and build affected ones
- uses: dorny/[email protected]
+ uses: dorny/[email protected]
id: changes
with:
filters: |
@@ -80,12 +84,17 @@ jobs:
- name: Felix Framework
if: steps.changes.outputs.framework == 'true'
run: mvn -B -V -Dstyle.color=always --file framework/pom.xml clean verify
+ - name: OSGi-TCK Framework
+ if: steps.changes.outputs.framework == 'true'
+ run: mvn -B -V -Dstyle.color=always --file framework.tck/pom.xml clean
verify
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 #
v4.6.2
with:
- name: test-results
+ name: test-results-jdk${{ matrix.java }}
if-no-files-found: warn
path: |
${{ github.workspace }}/**/target/surefire-reports/*.xml
${{ github.workspace }}/**/target/failsafe-reports/*.xml
+ ${{ github.workspace }}/**/target/test-reports/tck/*.xml
+
diff --git a/framework.tck/pom.xml b/framework.tck/pom.xml
new file mode 100644
index 0000000000..e13eda584b
--- /dev/null
+++ b/framework.tck/pom.xml
@@ -0,0 +1,160 @@
+<!--
+ 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. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>felix-parent</artifactId>
+ <version>8</version>
+ <relativePath>../pom/pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <packaging>jar</packaging>
+ <name>Apache Felix Framework</name>
+ <artifactId>org.apache.felix.framework.tck</artifactId>
+ <version>7.1.0-SNAPSHOT</version>
+ <properties>
+ <dollar>$</dollar>
+ <felix.java.version>8</felix.java.version>
+ </properties>
+ <scm>
+ <connection>scm:git:https://github.com/apache/felix-dev.git</connection>
+
<developerConnection>scm:git:https://github.com/apache/felix-dev.git</developerConnection>
+ <url>https://gitbox.apache.org/repos/asf?p=felix-dev.git</url>
+ <tag>org.apache.felix.framework-7.0.2</tag>
+ </scm>
+
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>biz.aQute.bnd</groupId>
+ <artifactId>bnd-resolver-maven-plugin</artifactId>
+ <version>7.1.0</version>
+ <configuration>
+ <includeDependencyManagement>true</includeDependencyManagement>
+ <bndruns>
+ <bndrun>tck.bndrun</bndrun>
+ </bndruns>
+ <scopes>
+ <scope>compile</scope>
+ <scope>runtime</scope>
+ <scope>test</scope>
+ </scopes>
+ <failOnChanges>false</failOnChanges>
+ <bndruns>
+ <bndrun>tck.bndrun</bndrun>
+ </bndruns>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>resolve</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>biz.aQute.bnd</groupId>
+ <artifactId>bnd-testing-maven-plugin</artifactId>
+ <version>7.1.0</version>
+ <configuration>
+ <failOnChanges>true</failOnChanges>
+ <includeDependencyManagement>true</includeDependencyManagement>
+ <bndruns>
+ <bndrun>tck.bndrun</bndrun>
+ </bndruns>
+ <scopes>
+ <scope>compile</scope>
+ <scope>runtime</scope>
+ <scope>test</scope>
+ </scopes>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>testing</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+
+
+ </build>
+ <dependencies>
+
+ <dependency>
+ <groupId>net.bytebuddy</groupId>
+ <artifactId>byte-buddy</artifactId>
+ <version>1.17.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <version>3.27.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.bundles</groupId>
+ <artifactId>org.apache.servicemix.bundles.junit</artifactId>
+ <version>4.13.2_1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.platform</groupId>
+ <artifactId>junit-platform-launcher</artifactId>
+ <version>1.12.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.platform</groupId>
+ <artifactId>junit-platform-engine</artifactId>
+ <version>1.12.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.platform</groupId>
+ <artifactId>junit-platform-launcher</artifactId>
+ <version>1.12.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.test.cases.framework</artifactId>
+ <version>8.0.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.framework</artifactId>
+ <version>7.1.0-SNAPSHOT</version>
+ </dependency>
+ <!-- tck run -->
+ <dependency>
+ <groupId>biz.aQute.bnd</groupId>
+ <artifactId>biz.aQute.junit</artifactId>
+ <version>6.4.1</version>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/framework.tck/tck.bndrun b/framework.tck/tck.bndrun
new file mode 100644
index 0000000000..541ec5ddb6
--- /dev/null
+++ b/framework.tck/tck.bndrun
@@ -0,0 +1,36 @@
+-runproperties: \
+ ${runproperties}=,\
+ org.osgi.test.cases.framework.div.tb16=xyz,\
+ org.osgi.test.cases.framework.div.tb15=abc,\
+ 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"',\
+ org.osgi.test.cases.framework.div.tb12=abc
+
+-runee: JavaSE-17
+-runrequires: \
+ bnd.identity;id='org.osgi.test.cases.framework',\
+ bnd.identity;id='net.bytebuddy.byte-buddy',\
+ bnd.identity;id=assertj-core,\
+ bnd.identity;id=junit-platform-commons,\
+ bnd.identity;id=junit-platform-engine,\
+ bnd.identity;id=junit-platform-launcher,\
+ bnd.identity;id=junit-vintage-engine,\
+ bnd.identity;id='biz.aQute.junit'
+
+
+-runfw: org.apache.felix.framework;version='[7.0.0,8)
+
+-tester: biz.aQute.tester.junit-platform
+
+# resolved bundles
+-runbundles: \
+ org.osgi.test.cases.framework;version='[8.0.0,8.0.1)',\
+ org.apache.servicemix.bundles.bcel;version='[5.2.0,5.2.1)',\
+ org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
+ junit-platform-commons;version='[1.12.1,1.12.2)',\
+ junit-platform-engine;version='[1.12.1,1.12.2)',\
+ org.opentest4j;version='[1.3.0,1.3.1)',\
+ junit-platform-launcher;version='[1.12.1,1.12.2)',\
+ assertj-core;version='[3.27.3,3.27.4)',\
+ biz.aQute.junit;version='[6.4.1,6.4.2)',\
+ junit-vintage-engine;version='[5.7.1,5.7.2)',\
+ net.bytebuddy.byte-buddy;version='[1.17.5,1.17.6)'
\ No newline at end of file