Skip to content

Commit f2a24c9

Browse files
authored
Merge branch 'main' into dependabot/gradle/gradle-afeef28630
2 parents eb6108e + 54bbd42 commit f2a24c9

File tree

22 files changed

+46
-11
lines changed

22 files changed

+46
-11
lines changed

.github/workflows/ci.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
matrix:
1515
java: [17]
16-
os: [macos-latest, ubuntu-latest, windows-latest]
16+
os: [macos-latest, ubuntu-latest]
1717

1818
steps:
1919
- uses: actions/checkout@v4
@@ -28,6 +28,9 @@ jobs:
2828
- name: Clean, build and javadoc
2929
run: ./gradlew clean build javadoc -Plog-tests --stacktrace
3030

31+
- name: Integration tests
32+
run: ./gradlew integ -Plog-tests --stacktrace
33+
3134
- name: Allow long file names in git for windows
3235
if: matrix.os == 'windows-latest'
3336
run: git config --system core.longpaths true

CHANGELOG.md

+18-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
11
# Change Log
2+
## 0.0.2 (04/07/2025)
3+
> [!WARNING]
4+
> This is a developer-preview release and may contain bugs. **No** guarantee is made about API stability.
5+
> This release is not recommended for production use!
6+
### Features
7+
- Added generation of root-level service-specific exceptions for clients and servers.
8+
- Added usage examples.
9+
- Added custom exceptions for ClientTransport.
10+
- Added lambda endpoint functionality with updated naming.
11+
- Consolidated Schemas into a single class.
12+
- Updated namespace and module naming.
13+
- Improved document serialization of wrapped structures.
14+
- Added support for service-schema access from client-side.
15+
- Added support for generating MCP and MCP-proxy servers
16+
217

318
## 0.0.1 (02/06/2025)
419
> [!WARNING]
5-
> This is a developer-preview release and may contain bugs. **No** guarantee is made about API stability.
20+
> This is a developer-preview release and may contain bugs. **No** guarantee is made about API stability.
621
> This release is not recommended for production use!
7-
822
### Features
923
- Implemented Client, Server and Type codegen plugins.
1024
- Added Client event streaming support.
1125
- Added Client Auth support - sigv4, bearer auth, http basic auth.
1226
- Added JSON protocol support - restJson1, awsJson.
13-
- Added RPCV2 CBOR protocol support
27+
- Added RPCV2 CBOR protocol support.
1428
- Implemented Dynamic client that can load a Smithy model to call a service.
15-
- Added Smithy Lambda Endpoint wrapper to run generated server stubs in AWS Lambda
29+
- Added Smithy Lambda Endpoint wrapper to run generated server stubs in AWS Lambda.

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
0.0.1
1+
0.0.2
22

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
plugins {
2+
id("smithy-java.module-conventions")
3+
}
4+
5+
description = "This module provides the client auth APIs"
6+
7+
extra["displayName"] = "Smithy :: Java :: Client :: Auth API"
8+
extra["moduleName"] = "software.amazon.smithy.java.client.core.auth"
9+
10+
dependencies {
11+
api(project(":auth-api"))
12+
api(project(":core"))
13+
implementation(libs.smithy.model)
14+
}
+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public Signer<Object, Identity> signer() {
5555
return Signer.nullSigner();
5656
}
5757

58-
private static class NullIdentityResolver implements IdentityResolver<Identity> {
58+
private static final class NullIdentityResolver implements IdentityResolver<Identity> {
5959
public static final CompletableFuture<IdentityResult<Identity>> NULL_IDENTITY = CompletableFuture
6060
.completedFuture(
6161
IdentityResult.of(new Identity() {}));

client/client-core/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ dependencies {
1111
api(project(":context"))
1212
api(project(":core"))
1313
api(project(":auth-api"))
14+
api(project(":client:client-auth-api"))
1415
api(project(":retries-api"))
1516
api(project(":framework-errors"))
1617
implementation(project(":logging"))

codegen/plugins/client-codegen/src/main/java/software/amazon/smithy/java/codegen/client/generators/ClientInterfaceGenerator.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,11 @@ final class Builder extends ${client:T}.Builder<${interface:T}, Builder>${?setti
132132
${/hasTransportSettings}${?defaultSchemes}
133133
${defaultAuth:C|}${/defaultSchemes}
134134
135-
private Builder() {${?defaultSchemes}
136-
configBuilder()
137-
.putSupportedAuthSchemes(${#defaultSchemes}${value:L}.createAuthScheme(${key:L})${^key.last}, ${/key.last}${/defaultSchemes})
135+
private Builder() {
136+
configBuilder()${?defaultSchemes}
137+
.putSupportedAuthSchemes(${#defaultSchemes}${value:L}.createAuthScheme(${key:L})${^key.last}, ${/key.last}${/defaultSchemes})${/defaultSchemes}
138138
.service(${serviceApi:T}.instance());
139-
${/defaultSchemes}}
139+
}
140140
141141
@Override
142142
public ${interface:T} build() {

examples/restjson-client/src/it/java/software/amazon/smithy/java/example/ClientConfigTest.java

+2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import software.amazon.smithy.java.example.restjson.model.GetPersonImage;
3131
import software.amazon.smithy.java.example.restjson.model.GetPersonImageInput;
3232
import software.amazon.smithy.java.example.restjson.model.GetPersonImageOutput;
33+
import software.amazon.smithy.java.example.restjson.model.PersonDirectoryApiService;
3334
import software.amazon.smithy.java.example.restjson.model.PutPerson;
3435
import software.amazon.smithy.java.example.restjson.model.PutPersonImage;
3536
import software.amazon.smithy.java.example.restjson.model.PutPersonImageInput;
@@ -154,6 +155,7 @@ static final class Builder extends
154155

155156
private Builder() {
156157
ClientConfig.Builder configBuilder = configBuilder();
158+
configBuilder.service(PersonDirectoryApiService.instance());
157159
configBuilder.protocol(new RestJsonClientProtocol(PreludeSchemas.DOCUMENT.id()));
158160
configBuilder.transport(new JavaHttpClientTransport(HttpClient.newHttpClient()));
159161

settings.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ include(":codecs:xml-codec")
2323

2424
// Client
2525
include(":client:client-core")
26+
include(":client:client-auth-api")
2627
include(":client:client-http")
2728
include(":client:client-http-binding")
2829
include(":client:client-rpcv2-cbor")

0 commit comments

Comments
 (0)