Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Java SDK for the Agent Name Service (ANS) Registry. This SDK provides clients fo

The ANS Registry SDK is based off of the REST API. The spec is documented using the OpenAPI specification:
- [ANS OpenAPI Spec (ans repo)](https://github.com/agentnameservice/ans/blob/main/spec/api-spec-v2.yaml)
- Local copy used for code generation: [`ans-sdk-api/spec/api-spec.yaml`](ans-sdk-api/spec/api-spec.yaml)
- Local copy for reference: [`ans-sdk-api/spec/api-spec.yaml`](ans-sdk-api/spec/api-spec.yaml)

## Requirements

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import com.godaddy.ans.sdk.agent.http.DefaultAgentHttpClientFactory;
import com.godaddy.ans.sdk.agent.http.VerifiedClientResult;
import com.godaddy.ans.sdk.agent.verification.DaneTlsaVerifier;
import com.godaddy.ans.sdk.model.generated.AgentDetails;
import com.godaddy.ans.sdk.model.generated.AgentLifecycleStatus;
import com.godaddy.ans.sdk.model.AgentDetails;
import com.godaddy.ans.sdk.model.AgentLifecycleStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import com.godaddy.ans.sdk.agent.http.auth.HttpAuthHeadersProvider;
import com.godaddy.ans.sdk.agent.http.AnsHttpClient;
import com.godaddy.ans.sdk.agent.protocol.HttpApiClient;
import com.godaddy.ans.sdk.model.generated.AgentDetails;
import com.godaddy.ans.sdk.model.generated.AgentEndpoint;
import com.godaddy.ans.sdk.model.generated.Protocol;
import com.godaddy.ans.sdk.model.AgentDetails;
import com.godaddy.ans.sdk.model.AgentEndpoint;
import com.godaddy.ans.sdk.model.Protocol;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import com.godaddy.ans.sdk.agent.http.AnsHttpClient;
import com.godaddy.ans.sdk.agent.protocol.HttpApiClient;
import com.godaddy.ans.sdk.model.generated.AgentDetails;
import com.godaddy.ans.sdk.model.generated.AgentEndpoint;
import com.godaddy.ans.sdk.model.generated.AgentLifecycleStatus;
import com.godaddy.ans.sdk.model.generated.Protocol;
import com.godaddy.ans.sdk.model.AgentDetails;
import com.godaddy.ans.sdk.model.AgentEndpoint;
import com.godaddy.ans.sdk.model.AgentLifecycleStatus;
import com.godaddy.ans.sdk.model.Protocol;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
Expand Down
53 changes: 5 additions & 48 deletions ans-sdk-api/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
import java.net.URI

plugins {
id("org.openapi.generator")
}

val jacksonVersion: String by project

// Authoritative source for the API spec
val apiSpecFile = layout.projectDirectory.file("spec/api-spec.yaml")
val junitVersion: String by project
val assertjVersion: String by project

dependencies {
// Jackson for JSON serialization
Expand All @@ -17,44 +10,8 @@ dependencies {

// Jakarta annotations
implementation("jakarta.annotation:jakarta.annotation-api:3.0.0")
}

openApiGenerate {
generatorName.set("java")
inputSpec.set(apiSpecFile)
skipValidateSpec.set(true)
outputDir.set(layout.buildDirectory.dir("generated").get().asFile.absolutePath)
apiPackage.set("com.godaddy.ans.sdk.api.generated")
modelPackage.set("com.godaddy.ans.sdk.model.generated")
invokerPackage.set("com.godaddy.ans.sdk.client.generated")
configOptions.set(mapOf(
"library" to "native",
"dateLibrary" to "java8",
"useJakartaEe" to "true",
"openApiNullable" to "false",
"serializationLibrary" to "jackson",
"hideGenerationTimestamp" to "true"
))
}

sourceSets {
main {
java {
srcDir(layout.buildDirectory.dir("generated/src/main/java"))
}
}
}

tasks.compileJava {
dependsOn(tasks.openApiGenerate)
// Testing
testImplementation("org.junit.jupiter:junit-jupiter:$junitVersion")
testImplementation("org.assertj:assertj-core:$assertjVersion")
}

// Disable checkstyle for generated code
tasks.named("checkstyleMain") {
enabled = false
}

// Ensure all jar tasks (including sources/javadoc jars created by the publish plugin) wait for code generation.
tasks.withType<Jar>().configureEach {
dependsOn(tasks.openApiGenerate)
}
Loading
Loading