Skip to content

Commit 8f89479

Browse files
committed
Rework README. Add list of integrations, and how to contribute
1 parent 30dc2ab commit 8f89479

File tree

3 files changed

+35
-15
lines changed

3 files changed

+35
-15
lines changed

CONTRIBUTING_INTEGRATIONS.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Contributing A2A SDK Integrations
2+
3+
To add your A2A SDK Integration for your chosen runtime to the list of integrations in the [README](README.md#server-integrations), open a pull request adding it to the list.
4+
5+
The pull request should contain a link to your project page.
6+
7+
Then the project page itself needs to contain the following information as a minimum:
8+
9+
* How to use the integration.
10+
* Ideally there should be a sample demonstrating how to use it
11+
* The integration should have tests, extending [AbstractA2AServerTest](tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java)
12+
* The integration should pass the TCK, and make it obvious how to see that it has passed.
13+
14+
If some of the above points are problematic, feel free to point that out in your pull request, and we can discuss further. For example, AbstractA2AServerTest is currently written with only the initial runtimes in mind, and might need some tweaking.

README.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,32 +33,23 @@ The A2A Java SDK provides a Java server implementation of the [Agent2Agent (A2A)
3333
- [Add a class that creates an A2A Agent Card](#2-add-a-class-that-creates-an-a2a-agent-card)
3434
- [Add a class that creates an A2A Agent Executor](#3-add-a-class-that-creates-an-a2a-agent-executor)
3535

36-
### 1. Add an A2A Java SDK Server Maven dependency to your project
36+
### 1. Add the A2A Java SDK Server Maven dependency to your project
3737

3838
Adding a dependency on an A2A Java SDK Server will provide access to the core classes that make up the A2A specification
3939
and allow you to run your agentic Java application as an A2A server agent.
4040

41-
The A2A Java SDK provides two A2A server endpoint implementations, one based on Jakarta REST (`a2a-java-sdk-server-jakarta`) and one based on Quarkus Reactive Routes (`a2a-java-sdk-server-quarkus`). You can choose the one that best fits your application.
41+
The A2A Java SDK provides a [reference A2A server implementation](reference-impl/README.md) based on [Quarkus](https://quarkus.io) for use with our tests and examples. However, the project is designed in such a way that it is trivial to integrate with various Java runtimes.
4242

43-
Add **one** of the following dependencies to your project:
43+
[Server Integrations](#server-integrations) contains a list of integrations of the server with various runtimes. You might be able to use one of these for your target runtime, or you can use them as inspiration to create your own.
4444

45-
> *⚠️ The `io.github.a2asdk` `groupId` below is temporary and will likely change for future releases.*
45+
To use the reference implementation add the following dependency to your project:
4646

47-
```xml
48-
<dependency>
49-
<groupId>io.github.a2asdk</groupId>
50-
<artifactId>a2a-java-sdk-server-jakarta</artifactId>
51-
<!-- Use a released version from https://github.com/a2aproject/a2a-java/releases -->
52-
<version>${io.a2a.sdk.version}</version>
53-
</dependency>
54-
```
55-
56-
OR
47+
> *⚠️ The `io.github.a2asdk` `groupId` below is temporary and will likely change for future releases.*
5748
5849
```xml
5950
<dependency>
6051
<groupId>io.github.a2asdk</groupId>
61-
<artifactId>a2a-java-sdk-server-quarkus</artifactId>
52+
<artifactId>a2a-java-reference-server</artifactId>
6253
<!-- Use a released version from https://github.com/a2aproject/a2a-java/releases -->
6354
<version>${io.a2a.sdk.version}</version>
6455
</dependency>
@@ -372,5 +363,13 @@ This project is licensed under the terms of the [Apache 2.0 License](LICENSE).
372363

373364
See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
374365

366+
## Server Integrations
367+
The following list contains integrations with various Java Runtimes.
368+
369+
To contribute an integration, please see [CONTRIBUTING_INTEGRATIONS.md](CONTRIBUTING_INTEGRATIONS.md).
370+
371+
* [reference-impl/README.md](reference-impl/README.md) - Reference implementation, based on Quarkus.
372+
* https://github.com/wildfly-extras/a2a-java-sdk-server-jakarta - This integration is based on Jakarta EE, and should work in all runtimes supporting the [Jakarta EE Web Profile](https://jakarta.ee/specifications/webprofile/).
373+
375374

376375

reference-impl/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# A2A Java SDK Reference Server Integration
2+
3+
This is a reference server for the A2A SDK for Java, that we use to run tests, as well as to demonstrate examples.
4+
5+
It is based on [Quarkus](https://quarkus.io), and makes use of Quarkus's [Reactive Routes](https://quarkus.io/guides/reactive-routes).
6+
7+
It is a great choice if you use Quarkus!

0 commit comments

Comments
 (0)