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 <stbisc...@bipolis.org>
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 <stbisc...@bipolis.org>
---
 .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/paths-filter@v3.0.2 
+      uses: dorny/paths-filter@v3.0.2
       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

Reply via email to