SLING-12068: migrate to jakarta.json (#2)

diff --git a/bnd.bnd b/bnd.bnd
new file mode 100644
index 0000000..ab06448
--- /dev/null
+++ b/bnd.bnd
@@ -0,0 +1,15 @@
+Import-Package:\
+    org.apache.http.*; resolution:=optional,\
+    org.apache.sling.testing.tools.http; resolution:=optional,\
+    org.apache.sling.testing.tools.sling; resolution:=optional,\
+    org.junit.internal.*; resolution:=optional,\
+    *
+
+Sling-Test-Regexp:\
+    .*Test
+
+-includeresource:\
+    @org.apache.sling.jcr.contentparser-*.jar!/org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.class
+
+-removeheaders:\
+  Include-Resource
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index cd51454..577d2b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,14 +22,13 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.sling</groupId>
-        <artifactId>sling</artifactId>
-        <version>26</version>
+        <artifactId>sling-bundle-parent</artifactId>
+        <version>52</version>
         <relativePath />
     </parent>
 
     <artifactId>org.apache.sling.junit.remote</artifactId>
     <version>1.0.13-SNAPSHOT</version>
-    <packaging>bundle</packaging>
 
     <name>Apache Sling JUnit Remote Tests Runners</name>
     <description>Utilities to run server-side JUnit tests remotely</description>
@@ -39,91 +38,69 @@
         <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-junit-remote.git</developerConnection>
         <url>https://github.com/apache/sling-org-apache-sling-junit-remote.git</url>
     </scm>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-scr-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Import-Package>
-                            org.apache.http.*; resolution:=optional,
-                            org.apache.sling.testing.tools.http; resolution:=optional,
-                            org.apache.sling.testing.tools.sling; resolution:=optional,
-                            org.junit.internal.*; resolution:=optional,
-                            *
-                        </Import-Package>
-                        <Sling-Test-Regexp>.*Test</Sling-Test-Regexp>
-                        <Embed-Dependency>
-                                org.apache.sling.jcr.contentparser;inline="org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.class"
-                        </Embed-Dependency>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
     
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.annotation.versioning</artifactId>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.junit.core</artifactId>
-            <version>1.0.27-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.scr.annotations</artifactId>
+            <version>1.1.6</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>4.8.2</version>
             <scope>compile</scope>
         </dependency>
         <!-- SLF4J is needed at runtime (whenever SlingRemoteTestRunner is executed) -->
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
-            <version>1.5.11</version>
             <!-- scope must be given explicitly because it has provided scope in the depMgmt -->
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
-            <version>1.5.11</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.tools</artifactId>
             <version>1.0.16</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
+            <artifactId>javax.servlet-api</artifactId>
+            <scope>provided</scope>
         </dependency>
         <dependency>
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.jcr.contentparser</artifactId>
-      <version>1.2.2</version>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion>
-            <groupId>*</groupId>
-            <artifactId>*</artifactId>
-        </exclusion>
-    </exclusions>
+            <groupId>jakarta.json</groupId>
+            <artifactId>jakarta.json-api</artifactId>
+            <version>2.0.2</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.sling</groupId>
+          <artifactId>org.apache.sling.jcr.contentparser</artifactId>
+          <version>1.2.2</version>
+          <scope>provided</scope>
+          <exclusions>
+            <exclusion>
+                <groupId>*</groupId>
+                <artifactId>*</artifactId>
+            </exclusion>
+        </exclusions>
     </dependency>
     </dependencies>
 </project>
diff --git a/src/main/java/org/apache/sling/junit/remote/exported/package-info.java b/src/main/java/org/apache/sling/junit/remote/exported/package-info.java
index dc7ff62..c393216 100644
--- a/src/main/java/org/apache/sling/junit/remote/exported/package-info.java
+++ b/src/main/java/org/apache/sling/junit/remote/exported/package-info.java
@@ -17,8 +17,8 @@
  * under the License.
  */
 
-@Version("1.0.8")
+@Version("1.0.9")
 package org.apache.sling.junit.remote.exported;
 
-import aQute.bnd.annotation.Version;
+import org.osgi.annotation.versioning.Version;
 
diff --git a/src/main/java/org/apache/sling/junit/remote/ide/SerializedRenderer.java b/src/main/java/org/apache/sling/junit/remote/ide/SerializedRenderer.java
index b90c307..f5a2570 100644
--- a/src/main/java/org/apache/sling/junit/remote/ide/SerializedRenderer.java
+++ b/src/main/java/org/apache/sling/junit/remote/ide/SerializedRenderer.java
@@ -23,8 +23,8 @@
 
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
+import org.osgi.service.component.annotations.Component;
+
 import org.apache.sling.junit.Renderer;
 import org.apache.sling.junit.RendererFactory;
 import org.apache.sling.junit.TestSelector;
@@ -38,8 +38,10 @@
  *  Used to send results, and especially Exceptions, as
  *  is to a remote IDE.      
  */
-@Component(immediate=false)
-@Service
+@Component(
+        immediate = false,
+        service = { Renderer.class, RendererFactory.class }
+        )
 public class SerializedRenderer extends RunListener implements Renderer,RendererFactory {
 
     public static final String EXTENSION = "serialized";
diff --git a/src/main/java/org/apache/sling/junit/remote/ide/package-info.java b/src/main/java/org/apache/sling/junit/remote/ide/package-info.java
index 23c684f..63321fd 100644
--- a/src/main/java/org/apache/sling/junit/remote/ide/package-info.java
+++ b/src/main/java/org/apache/sling/junit/remote/ide/package-info.java
@@ -17,8 +17,7 @@
  * under the License.
  */
 
-@Version("1.1.0")
+@Version("1.1.1")
 package org.apache.sling.junit.remote.ide;
 
-import aQute.bnd.annotation.Version;
-
+import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/junit/remote/testrunner/SlingRemoteTest.java b/src/main/java/org/apache/sling/junit/remote/testrunner/SlingRemoteTest.java
index 8db1be3..a2e67ff 100644
--- a/src/main/java/org/apache/sling/junit/remote/testrunner/SlingRemoteTest.java
+++ b/src/main/java/org/apache/sling/junit/remote/testrunner/SlingRemoteTest.java
@@ -18,8 +18,8 @@
 
 import java.io.IOException;
 
-import javax.json.JsonException;
-import javax.json.JsonObject;
+import jakarta.json.JsonException;
+import jakarta.json.JsonObject;
 
 import org.junit.runner.Description;
 
diff --git a/src/main/java/org/apache/sling/junit/remote/testrunner/SlingRemoteTestRunner.java b/src/main/java/org/apache/sling/junit/remote/testrunner/SlingRemoteTestRunner.java
index dd0d892..7c64115 100644
--- a/src/main/java/org/apache/sling/junit/remote/testrunner/SlingRemoteTestRunner.java
+++ b/src/main/java/org/apache/sling/junit/remote/testrunner/SlingRemoteTestRunner.java
@@ -20,9 +20,9 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
 
 import org.apache.sling.jcr.contentparser.impl.JsonTicksConverter;
 import org.apache.sling.junit.remote.httpclient.RemoteTestHttpClient;
diff --git a/src/main/java/org/apache/sling/junit/remote/testrunner/package-info.java b/src/main/java/org/apache/sling/junit/remote/testrunner/package-info.java
index 0c4853d..ad7c15f 100644
--- a/src/main/java/org/apache/sling/junit/remote/testrunner/package-info.java
+++ b/src/main/java/org/apache/sling/junit/remote/testrunner/package-info.java
@@ -17,8 +17,8 @@
  * under the License.
  */
 
-@Version("1.1.0")
+@Version("1.1.1")
 package org.apache.sling.junit.remote.testrunner;
 
-import aQute.bnd.annotation.Version;
+import org.osgi.annotation.versioning.Version;