Skip to content

Commit cb72e29

Browse files
committed
chore: add architecture documentation for xap sdk
1 parent e0e1083 commit cb72e29

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

ARCHITECTURE.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
# XAP SDK Architecture
2-
## Overview
3-
The XAP (Expedia Affiliate Platform) SDK is structured as a multi-module Gradle project designed to generate a Kotlin/Java SDK from OpenAPI specifications. The architecture follows a code generation approach, where API client code is automatically generated and then published to repositories for consumption by developers.
1+
# Overview
2+
The XAP (Expedia API Platform) SDK is structured as a multi-module Gradle project designed to generate a Kotlin/Java SDK from OpenAPI specifications. The architecture follows a code generation approach, where API client code is automatically generated and then published to repositories for consumption by developers.
43

54
The repository contains the following key components:
65
- **OpenAPI Specifications**: Defines the API endpoints, request/response models, and data types.
@@ -12,7 +11,7 @@ The repository contains the following key components:
1211
- **Documentation**: Contains guides and references for developers to understand and utilize the SDK effectively.
1312
- **Testing**: Includes unit, integration and end-to-end tests to ensure the correctness and reliability of the generated SDK.
1413

15-
## Technology Stack
14+
# Technology Stack
1615
- **Languages**: Kotlin (primary), Java (compatibility)
1716
- **Build System**: Gradle with Kotlin DSL
1817
- **Code Generation**: OpenAPI Generator
@@ -26,10 +25,10 @@ The repository contains the following key components:
2625
- **Code Quality**: Ktlint
2726
- **Code Coverage**: Kover
2827

29-
## Modules
28+
# Modules
3029
The project is organized into several modules, each serving a specific purpose. The main modules include:
3130

32-
### `generator` module
31+
## `generator` module
3332
This module is responsible for the core functionality of the SDK generation process. It consumes the OpenAPI specifications and generates the initial SDK code using OpenAPI Generator. It also integrates with the `expediagroup-sdk-openapi-plugin`. The module contains the following components:
3433
- **OpenAPI Generator Configurations**: The core library that generates the SDK code from OpenAPI specifications. Lives in the `build.gradle.kts` file.
3534
- **Custom Templates**: Custom templates for generating Kotlin/Java code. Lives in the `src/main/resources/templates` directory.

0 commit comments

Comments
 (0)