Compare commits
15 Commits
v2.0.0-bet
...
v2.0.1
Author | SHA1 | Date | |
---|---|---|---|
d97717f8f8 | |||
3c585c06a3 | |||
7bfd168d74 | |||
19298f4deb | |||
54bdf107e2 | |||
721302d651 | |||
3ffda43a52 | |||
ae2a1b578a | |||
147c7e7fb0 | |||
906b329c2e | |||
1bf81cfd82 | |||
c9f173d6b0 | |||
c43fafae1b | |||
3b2fa72d26 | |||
91d4ec10b7 |
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@ -46,8 +46,8 @@ jobs:
|
||||
properties: |
|
||||
release=true
|
||||
- name: Push New Documentation
|
||||
uses: EndBug/add-and-commit@v7
|
||||
uses: EndBug/add-and-commit@v8
|
||||
with:
|
||||
default_author: github_actions
|
||||
branch: main
|
||||
new_branch: main
|
||||
message: 'doc: Added Latest Documentation ✨'
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,5 +1,3 @@
|
||||
.gradle
|
||||
build
|
||||
.idea
|
||||
dokka
|
||||
wiki
|
||||
|
44
CHANGELOG.md
44
CHANGELOG.md
@ -1,6 +1,7 @@
|
||||
# Changelog
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Added
|
||||
|
||||
### Changed
|
||||
@ -11,21 +12,24 @@
|
||||
|
||||
## Released
|
||||
|
||||
## [2.0.0-beta] - January 12th, 2022
|
||||
## [2.0.1] - January 23rd, 2022
|
||||
|
||||
### Change
|
||||
- Fix bug in documentation publishing pipeline
|
||||
|
||||
## [2.0.0] - January 23rd, 2022
|
||||
|
||||
Major Release 🎉 As we head towards the Ktor 2 release, this library will be kept compatible with Ktor 1. A future
|
||||
Kompendium 2 repository will be created soon, porting much of the changes you see here, with some awesome Ktor 2 twists
|
||||
😉
|
||||
|
||||
### Added
|
||||
|
||||
- Support for HTTP Patch, Head, and Options methods
|
||||
- Support for including parameter examples via `MethodInfo`
|
||||
- Dokka Pipeline Generation
|
||||
- GitHub Pages integration
|
||||
- Sourdough Gradle updates
|
||||
|
||||
### Changed
|
||||
- Kompendium now leverages the chosen API serializer. Supports Jackson, Gson and Kotlinx Serialization
|
||||
- Fixed bug where overridden field names were not reflected in serialized object and required array
|
||||
- Fixed bug where Ktor Location parents were not being scanned for parameters
|
||||
|
||||
## [2.0.0-alpha] - January 2nd, 2022
|
||||
### Added
|
||||
- Support for OAuth authentication
|
||||
- Gradle Toolchain feature to ensure match between local JDK and compile target
|
||||
- Dokka integration
|
||||
@ -35,6 +39,10 @@
|
||||
- Ability to document expected unstructured data
|
||||
|
||||
### Changed
|
||||
|
||||
- Kompendium now leverages the chosen API serializer. Supports Jackson, Gson and Kotlinx Serialization
|
||||
- Fixed bug where overridden field names were not reflected in serialized object and required array
|
||||
- Fixed bug where Ktor Location parents were not being scanned for parameters
|
||||
- `$ref` types are no longer generated, instead all objects are defined explicitly
|
||||
- All OpenAPI domain models moved to a separate module `kompendium-oas`
|
||||
- Moved all files in `kompendium-core` into `io.bkbn.kompendium.core` package from `io.bkbn.kompendium`
|
||||
@ -42,7 +50,8 @@
|
||||
- Gradle build logic offloaded to Sourdough Plugin
|
||||
- Minimum supported Java version is now 11
|
||||
- Bumped Kotlin to 1.6
|
||||
- Annotations now live in a separate module. (Should not impact end users as module is imported as api dependency by core).
|
||||
- Annotations now live in a separate module. (Should not impact end users as module is imported as api dependency by
|
||||
core).
|
||||
- Kotest as the testing framework of choice
|
||||
- Path calculation removed in favor of built-in route toString
|
||||
- Ktor to 1.6.7
|
||||
@ -68,11 +77,15 @@
|
||||
- Dropped ASDF tool manifest
|
||||
|
||||
## [1.11.1] - November 25th, 2021
|
||||
|
||||
### Added
|
||||
|
||||
- Documentation showing how to add header names using Kotlin backtick convention
|
||||
|
||||
## [1.11.0] - November 25th, 2021
|
||||
|
||||
### Added
|
||||
|
||||
- Support for Ktor Location Plugin
|
||||
|
||||
## [1.10.0] - November 25th, 2021
|
||||
@ -102,7 +115,6 @@
|
||||
|
||||
- ByteArray added to the set of default types
|
||||
|
||||
|
||||
## [1.8.1] - October 4th, 2021
|
||||
|
||||
### Added
|
||||
@ -222,7 +234,7 @@ This is just to get my repo back to normal now that I have confirmed sonatype pu
|
||||
|
||||
### Added
|
||||
|
||||
- Support for example request and response bodies. Parameter examples / defaults are a separate issue for later.
|
||||
- Support for example request and response bodies. Parameter examples / defaults are a separate issue for later.
|
||||
|
||||
### Changed
|
||||
|
||||
@ -271,7 +283,8 @@ This is just to get my repo back to normal now that I have confirmed sonatype pu
|
||||
|
||||
### Added
|
||||
|
||||
- Added an explicit `PathCalculator` interface to allow for easier handling of routes external to the core set of Ktor route selectors.
|
||||
- Added an explicit `PathCalculator` interface to allow for easier handling of routes external to the core set of Ktor
|
||||
route selectors.
|
||||
|
||||
## [0.5.1] - April 19th, 2021
|
||||
|
||||
@ -362,12 +375,13 @@ This is just to get my repo back to normal now that I have confirmed sonatype pu
|
||||
|
||||
### Added
|
||||
|
||||
- Beginning of an implementation. Currently, able to generate a rough outline of the API at runtime, along with generating
|
||||
full data classes represented by JSON Schema.
|
||||
- Beginning of an implementation. Currently, able to generate a rough outline of the API at runtime, along with
|
||||
generating full data classes represented by JSON Schema.
|
||||
|
||||
## [0.0.1] - April 11th, 2021
|
||||
|
||||
### Added
|
||||
|
||||
- Added _most_ of the data classes necessary for generating an [Open API Spec](https://swagger.io/specification)
|
||||
- Added playground to allow users to tinker with a live Ktor api in conjunction with development
|
||||
- Added all standard OSS files
|
||||
|
@ -1,6 +1,9 @@
|
||||
plugins {
|
||||
kotlin("jvm") version "1.6.10" apply false
|
||||
id("io.bkbn.sourdough.root") version "0.5.4"
|
||||
kotlin("plugin.serialization") version "1.6.10" apply false
|
||||
id("io.bkbn.sourdough.library.jvm") version "0.6.0" apply false
|
||||
id("io.bkbn.sourdough.application.jvm") version "0.6.0" apply false
|
||||
id("io.bkbn.sourdough.root") version "0.6.0"
|
||||
id("com.github.jakemarsden.git-hooks") version "0.0.2"
|
||||
id("org.jetbrains.dokka") version "1.6.10"
|
||||
id("org.jetbrains.kotlinx.kover") version "0.5.0-RC"
|
||||
@ -27,3 +30,17 @@ allprojects {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subprojects {
|
||||
plugins.withType(io.bkbn.sourdough.gradle.library.jvm.LibraryJvmPlugin::class) {
|
||||
extensions.configure(io.bkbn.sourdough.gradle.library.jvm.LibraryJvmExtension::class) {
|
||||
githubOrg.set("bkbnio")
|
||||
githubRepo.set("kompendium")
|
||||
licenseName.set("MIT License")
|
||||
licenseUrl.set("https://mit-license.org")
|
||||
developerId.set("unredundant")
|
||||
developerName.set("Ryan Brink")
|
||||
developerEmail.set("admin@bkbn.io")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Kompendium
|
||||
project.version=2.0.0-beta
|
||||
project.version=2.0.1
|
||||
# Kotlin
|
||||
kotlin.code.style=official
|
||||
# Gradle
|
||||
@ -9,4 +9,4 @@ org.gradle.jvmargs=-Xmx2000m
|
||||
|
||||
# Dependencies
|
||||
ktorVersion=1.6.7
|
||||
kotestVersion=5.0.3
|
||||
kotestVersion=5.1.0
|
||||
|
@ -1,8 +1,8 @@
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
id("io.bkbn.sourdough.library.jvm") version "0.5.4"
|
||||
id("io.gitlab.arturbosch.detekt") version "1.19.0"
|
||||
id("com.adarshr.test-logger") version "3.1.0"
|
||||
id("io.bkbn.sourdough.library.jvm")
|
||||
id("io.gitlab.arturbosch.detekt")
|
||||
id("com.adarshr.test-logger")
|
||||
id("org.jetbrains.dokka")
|
||||
id("maven-publish")
|
||||
id("java-library")
|
||||
@ -10,15 +10,8 @@ plugins {
|
||||
}
|
||||
|
||||
sourdough {
|
||||
githubOrg.set("bkbnio")
|
||||
githubRepo.set("kompendium")
|
||||
libraryName.set("Kompendium Annotations")
|
||||
libraryDescription.set("A set of annotations used by Kompendium to generate OpenAPI Specifications")
|
||||
licenseName.set("MIT License")
|
||||
licenseUrl.set("https://mit-license.org")
|
||||
developerId.set("unredundant")
|
||||
developerName.set("Ryan Brink")
|
||||
developerEmail.set("admin@bkbn.io")
|
||||
}
|
||||
|
||||
testing {
|
||||
|
@ -1,8 +1,8 @@
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
id("io.bkbn.sourdough.library.jvm") version "0.5.4"
|
||||
id("io.gitlab.arturbosch.detekt") version "1.19.0"
|
||||
id("com.adarshr.test-logger") version "3.1.0"
|
||||
id("io.bkbn.sourdough.library.jvm")
|
||||
id("io.gitlab.arturbosch.detekt")
|
||||
id("com.adarshr.test-logger")
|
||||
id("org.jetbrains.dokka")
|
||||
id("maven-publish")
|
||||
id("java-library")
|
||||
@ -10,15 +10,8 @@ plugins {
|
||||
}
|
||||
|
||||
sourdough {
|
||||
githubOrg.set("bkbnio")
|
||||
githubRepo.set("kompendium")
|
||||
libraryName.set("Kompendium Authentication")
|
||||
libraryDescription.set("Kompendium library to pair with Ktor Auth to provide authorization info to OpenAPI")
|
||||
licenseName.set("MIT License")
|
||||
licenseUrl.set("https://mit-license.org")
|
||||
developerId.set("unredundant")
|
||||
developerName.set("Ryan Brink")
|
||||
developerEmail.set("admin@bkbn.io")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -1,8 +1,8 @@
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
id("io.bkbn.sourdough.library.jvm") version "0.5.4"
|
||||
id("io.gitlab.arturbosch.detekt") version "1.19.0"
|
||||
id("com.adarshr.test-logger") version "3.1.0"
|
||||
id("io.bkbn.sourdough.library.jvm")
|
||||
id("io.gitlab.arturbosch.detekt")
|
||||
id("com.adarshr.test-logger")
|
||||
id("org.jetbrains.dokka")
|
||||
id("maven-publish")
|
||||
id("java-library")
|
||||
@ -11,15 +11,8 @@ plugins {
|
||||
}
|
||||
|
||||
sourdough {
|
||||
githubOrg.set("bkbnio")
|
||||
githubRepo.set("kompendium")
|
||||
libraryName.set("Kompendium Core")
|
||||
libraryDescription.set("Core functionality for the Kompendium library")
|
||||
licenseName.set("MIT License")
|
||||
licenseUrl.set("https://mit-license.org")
|
||||
developerId.set("unredundant")
|
||||
developerName.set("Ryan Brink")
|
||||
developerEmail.set("admin@bkbn.io")
|
||||
compilerArgs.set(listOf("-opt-in=kotlin.RequiresOptIn"))
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
id("io.bkbn.sourdough.library.jvm") version "0.5.4"
|
||||
id("io.gitlab.arturbosch.detekt") version "1.19.0"
|
||||
id("com.adarshr.test-logger") version "3.1.0"
|
||||
id("io.bkbn.sourdough.library.jvm")
|
||||
id("io.gitlab.arturbosch.detekt")
|
||||
id("com.adarshr.test-logger")
|
||||
id("org.jetbrains.dokka")
|
||||
id("maven-publish")
|
||||
id("java-library")
|
||||
@ -10,15 +10,8 @@ plugins {
|
||||
}
|
||||
|
||||
sourdough {
|
||||
githubOrg.set("bkbnio")
|
||||
githubRepo.set("kompendium")
|
||||
libraryName.set("Kompendium Locations")
|
||||
libraryDescription.set("Supplemental library for Kompendium offering support for Ktor's Location API")
|
||||
licenseName.set("MIT License")
|
||||
licenseUrl.set("https://mit-license.org")
|
||||
developerId.set("unredundant")
|
||||
developerName.set("Ryan Brink")
|
||||
developerEmail.set("admin@bkbn.io")
|
||||
compilerArgs.set(listOf("-opt-in=kotlin.RequiresOptIn"))
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
kotlin("plugin.serialization") version "1.6.10"
|
||||
id("io.bkbn.sourdough.library.jvm") version "0.5.4"
|
||||
id("io.gitlab.arturbosch.detekt") version "1.19.0"
|
||||
id("com.adarshr.test-logger") version "3.1.0"
|
||||
kotlin("plugin.serialization")
|
||||
id("io.bkbn.sourdough.library.jvm")
|
||||
id("io.gitlab.arturbosch.detekt")
|
||||
id("com.adarshr.test-logger")
|
||||
id("org.jetbrains.dokka")
|
||||
id("maven-publish")
|
||||
id("java-library")
|
||||
@ -11,15 +11,8 @@ plugins {
|
||||
}
|
||||
|
||||
sourdough {
|
||||
githubOrg.set("bkbnio")
|
||||
githubRepo.set("kompendium")
|
||||
libraryName.set("Kompendium OpenAPI Spec")
|
||||
libraryDescription.set("Collections of kotlin data classes modeling the OpenAPI specification")
|
||||
licenseName.set("MIT License")
|
||||
licenseUrl.set("https://mit-license.org")
|
||||
developerId.set("unredundant")
|
||||
developerName.set("Ryan Brink")
|
||||
developerEmail.set("admin@bkbn.io")
|
||||
compilerArgs.set(listOf("-opt-in=kotlin.RequiresOptIn"))
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
kotlin("plugin.serialization") version "1.6.10"
|
||||
id("io.bkbn.sourdough.application.jvm") version "0.5.4"
|
||||
kotlin("plugin.serialization")
|
||||
id("io.bkbn.sourdough.application.jvm")
|
||||
id("application")
|
||||
}
|
||||
|
||||
@ -33,8 +33,8 @@ dependencies {
|
||||
implementation("org.apache.logging.log4j:log4j-api-kotlin:1.1.0")
|
||||
implementation("org.apache.logging.log4j:log4j-api:2.17.1")
|
||||
implementation("org.apache.logging.log4j:log4j-core:2.17.1")
|
||||
implementation("org.slf4j:slf4j-api:1.7.32")
|
||||
implementation("org.slf4j:slf4j-simple:1.7.32")
|
||||
implementation("org.slf4j:slf4j-api:1.7.33")
|
||||
implementation("org.slf4j:slf4j-simple:1.7.33")
|
||||
|
||||
|
||||
implementation(group = "org.jetbrains.kotlinx", "kotlinx-serialization-json", version = "1.3.1")
|
||||
|
@ -1,8 +1,8 @@
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
id("io.bkbn.sourdough.library.jvm") version "0.5.4"
|
||||
id("io.gitlab.arturbosch.detekt") version "1.19.0"
|
||||
id("com.adarshr.test-logger") version "3.1.0"
|
||||
id("io.bkbn.sourdough.library.jvm")
|
||||
id("io.gitlab.arturbosch.detekt")
|
||||
id("com.adarshr.test-logger")
|
||||
id("org.jetbrains.dokka")
|
||||
id("maven-publish")
|
||||
id("java-library")
|
||||
@ -10,22 +10,15 @@ plugins {
|
||||
}
|
||||
|
||||
sourdough {
|
||||
githubOrg.set("bkbnio")
|
||||
githubRepo.set("kompendium")
|
||||
libraryName.set("Kompendium Swagger")
|
||||
libraryDescription.set("Offers Swagger as a bundled WebJAR for Ktor")
|
||||
licenseName.set("MIT License")
|
||||
licenseUrl.set("https://mit-license.org")
|
||||
developerId.set("unredundant")
|
||||
developerName.set("Ryan Brink")
|
||||
developerEmail.set("admin@bkbn.io")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
val ktorVersion: String by project
|
||||
implementation(group = "io.ktor", name = "ktor-server-core", version = ktorVersion)
|
||||
implementation(group = "io.ktor", name = "ktor-webjars", version = ktorVersion)
|
||||
implementation(group = "org.webjars", name = "swagger-ui", version = "4.1.3")
|
||||
implementation(group = "org.webjars", name = "swagger-ui", version = "4.2.1")
|
||||
}
|
||||
|
||||
testing {
|
||||
|
Reference in New Issue
Block a user