summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Tokle <mortent@verizonmedia.com>2020-06-16 14:50:48 +0200
committerGitHub <noreply@github.com>2020-06-16 14:50:48 +0200
commit7978260ae5332027d0524f57dcef4b12978840a2 (patch)
tree6ca9025746dc9ae213468c57c23fb9acdb624f64
parent5e1a29a49da48285e3f7037bf5bfff5dae5fb45d (diff)
parentf3fcd513e1f30599b1fdce75aa85bd1334d62f7f (diff)
Merge pull request #13605 from vespa-engine/bjorncs/tenant-cd-api
Export junit5 annotations
-rw-r--r--tenant-cd-api/abi-spec.json116
-rw-r--r--tenant-cd-api/pom.xml42
-rw-r--r--tenant-cd-api/src/main/java/ai/vespa/hosted/cd/package-info.java10
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/condition/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/function/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/io/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/parallel/package-info.java9
9 files changed, 219 insertions, 3 deletions
diff --git a/tenant-cd-api/abi-spec.json b/tenant-cd-api/abi-spec.json
new file mode 100644
index 00000000000..ce987107c0e
--- /dev/null
+++ b/tenant-cd-api/abi-spec.json
@@ -0,0 +1,116 @@
+{
+ "ai.vespa.hosted.cd.Deployment": {
+ "superClass": "java.lang.Object",
+ "interfaces": [],
+ "attributes": [
+ "public",
+ "interface",
+ "abstract"
+ ],
+ "methods": [
+ "public abstract ai.vespa.hosted.cd.Endpoint endpoint(java.lang.String)"
+ ],
+ "fields": []
+ },
+ "ai.vespa.hosted.cd.Endpoint": {
+ "superClass": "java.lang.Object",
+ "interfaces": [],
+ "attributes": [
+ "public",
+ "interface",
+ "abstract"
+ ],
+ "methods": [
+ "public abstract java.net.URI uri()",
+ "public abstract java.net.http.HttpResponse send(java.net.http.HttpRequest$Builder, java.net.http.HttpResponse$BodyHandler)",
+ "public java.net.http.HttpResponse send(java.net.http.HttpRequest$Builder)",
+ "public abstract java.net.http.HttpRequest$Builder request(java.lang.String, java.util.Map)",
+ "public java.net.http.HttpRequest$Builder request(java.lang.String)"
+ ],
+ "fields": []
+ },
+ "ai.vespa.hosted.cd.IntegrationTest": {
+ "superClass": "java.lang.Object",
+ "interfaces": [
+ "java.lang.annotation.Annotation"
+ ],
+ "attributes": [
+ "public",
+ "interface",
+ "abstract",
+ "annotation"
+ ],
+ "methods": [],
+ "fields": []
+ },
+ "ai.vespa.hosted.cd.ProductionTest": {
+ "superClass": "java.lang.Object",
+ "interfaces": [
+ "java.lang.annotation.Annotation"
+ ],
+ "attributes": [
+ "public",
+ "interface",
+ "abstract",
+ "annotation"
+ ],
+ "methods": [],
+ "fields": []
+ },
+ "ai.vespa.hosted.cd.StagingSetup": {
+ "superClass": "java.lang.Object",
+ "interfaces": [
+ "java.lang.annotation.Annotation"
+ ],
+ "attributes": [
+ "public",
+ "interface",
+ "abstract",
+ "annotation"
+ ],
+ "methods": [],
+ "fields": []
+ },
+ "ai.vespa.hosted.cd.StagingTest": {
+ "superClass": "java.lang.Object",
+ "interfaces": [
+ "java.lang.annotation.Annotation"
+ ],
+ "attributes": [
+ "public",
+ "interface",
+ "abstract",
+ "annotation"
+ ],
+ "methods": [],
+ "fields": []
+ },
+ "ai.vespa.hosted.cd.SystemTest": {
+ "superClass": "java.lang.Object",
+ "interfaces": [
+ "java.lang.annotation.Annotation"
+ ],
+ "attributes": [
+ "public",
+ "interface",
+ "abstract",
+ "annotation"
+ ],
+ "methods": [],
+ "fields": []
+ },
+ "ai.vespa.hosted.cd.TestRuntime": {
+ "superClass": "java.lang.Object",
+ "interfaces": [],
+ "attributes": [
+ "public",
+ "interface",
+ "abstract"
+ ],
+ "methods": [
+ "public static ai.vespa.hosted.cd.TestRuntime get()",
+ "public abstract ai.vespa.hosted.cd.Deployment deploymentToTest()"
+ ],
+ "fields": []
+ }
+} \ No newline at end of file
diff --git a/tenant-cd-api/pom.xml b/tenant-cd-api/pom.xml
index b9b4d136317..130041726d4 100644
--- a/tenant-cd-api/pom.xml
+++ b/tenant-cd-api/pom.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
+<!-- Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
<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/xsd/maven-4.0.0.xsd">
@@ -10,7 +10,7 @@
<name>Hosted Vespa tenant CD API</name>
<description>Test API library for hosted Vespa applications.</description>
<url>https://github.com/vespa-engine</url>
- <packaging>jar</packaging>
+ <packaging>container-plugin</packaging>
<parent>
<groupId>com.yahoo.vespa</groupId>
@@ -20,10 +20,46 @@
</parent>
<dependencies>
+ <!-- provided -->
<dependency>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>annotations</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <!-- required for bundle-plugin to generate import-package statements for Java's standard library -->
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>jdisc_core</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- compile -->
+ <dependency> <!-- TODO(bjorncs): share junit version number with test-runner implementation -->
<groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-engine</artifactId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>5.6.2</version> <!-- NOTE: This version must match the string in all ExportPackage annotations -->
+ <scope>compile</scope>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>abi-check-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
diff --git a/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/package-info.java b/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/package-info.java
new file mode 100644
index 00000000000..fc10fb82c5c
--- /dev/null
+++ b/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/package-info.java
@@ -0,0 +1,10 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author bjorncs
+ */
+@ExportPackage
+@PublicApi
+package ai.vespa.hosted.cd;
+
+import com.yahoo.api.annotations.PublicApi;
+import com.yahoo.osgi.annotation.ExportPackage; \ No newline at end of file
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/condition/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/condition/package-info.java
new file mode 100644
index 00000000000..bc0684f0c76
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/condition/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author bjorncs
+ */
+@ExportPackage(version = @Version(major = 5, minor = 4, micro = 2))
+package org.junit.jupiter.api.condition;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version; \ No newline at end of file
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/package-info.java
new file mode 100644
index 00000000000..bcb46dbe671
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author bjorncs
+ */
+@ExportPackage(version = @Version(major = 5, minor = 4, micro = 2))
+package org.junit.jupiter.api.extension;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version; \ No newline at end of file
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/function/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/function/package-info.java
new file mode 100644
index 00000000000..8d62bceeae7
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/function/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author bjorncs
+ */
+@ExportPackage(version = @Version(major = 5, minor = 4, micro = 2))
+package org.junit.jupiter.api.function;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version; \ No newline at end of file
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/io/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/io/package-info.java
new file mode 100644
index 00000000000..7fc2e15c716
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/io/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author bjorncs
+ */
+@ExportPackage(version = @Version(major = 5, minor = 4, micro = 2))
+package org.junit.jupiter.api.io;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version; \ No newline at end of file
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/package-info.java
new file mode 100644
index 00000000000..dd82f705bd3
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author bjorncs
+ */
+@ExportPackage(version = @Version(major = 5, minor = 4, micro = 2))
+package org.junit.jupiter.api;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version; \ No newline at end of file
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/parallel/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/parallel/package-info.java
new file mode 100644
index 00000000000..dc88b0d33bf
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/parallel/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author bjorncs
+ */
+@ExportPackage(version = @Version(major = 5, minor = 4, micro = 2))
+package org.junit.jupiter.api.parallel;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version; \ No newline at end of file