Compare commits

...

15 Commits

Author SHA1 Message Date
3c585c06a3 feat: kompendium 2.0.0 release! 2022-01-23 14:14:44 -05:00
7bfd168d74 chore(deps): update endbug/add-and-commit action to v8 (#158)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 17:00:22 -05:00
19298f4deb chore(deps): update plugin io.bkbn.sourdough.root to v0.6.0 (#161)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 14:46:51 +00:00
54bdf107e2 chore(deps): update plugin io.bkbn.sourdough.library.jvm to v0.6.0 (#160)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 12:35:30 +00:00
721302d651 chore(deps): update plugin io.bkbn.sourdough.application.jvm to v0.6.0 (#159)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-21 11:09:16 +00:00
3ffda43a52 chore(deps): update dependency org.webjars:swagger-ui to v4.2.1 (#157)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-20 10:34:17 +00:00
ae2a1b578a chore: version bumps and cleanup (#156) 2022-01-17 03:22:33 +00:00
147c7e7fb0 chore(deps): update kotestversion to v5.1.0 (#155)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-16 19:02:58 -05:00
906b329c2e chore(deps): update dependency org.slf4j:slf4j-simple to v1.7.33 (#153)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-13 19:03:18 +00:00
1bf81cfd82 chore(deps): update dependency org.slf4j:slf4j-api to v1.7.33 (#152)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-13 17:25:57 +00:00
c9f173d6b0 chore(deps): update plugin io.bkbn.sourdough.root to v0.5.5 (#151)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-13 13:19:33 +00:00
c43fafae1b chore(deps): update plugin io.bkbn.sourdough.library.jvm to v0.5.5 (#150)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-13 08:17:21 -05:00
3b2fa72d26 chore(deps): update plugin io.bkbn.sourdough.application.jvm to v0.5.5 (#149)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-13 12:25:52 +00:00
91d4ec10b7 chore(deps): update dependency org.webjars:swagger-ui to v4.1.3-1 (#148)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-13 10:15:55 +00:00
aa1b898b22 fix: adding signing plugin (#147) 2022-01-12 11:19:19 -05:00
12 changed files with 84 additions and 96 deletions

View File

@ -46,7 +46,7 @@ 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

2
.gitignore vendored
View File

@ -1,5 +1,3 @@
.gradle
build
.idea
dokka
wiki

View File

@ -1,6 +1,7 @@
# Changelog
## Unreleased
### Added
### Changed
@ -11,21 +12,19 @@
## Released
## [2.0.0-beta] - January 12th, 2022
## [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 +34,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 +45,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 +72,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 +110,6 @@
- ByteArray added to the set of default types
## [1.8.1] - October 4th, 2021
### Added
@ -271,7 +278,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 +370,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

View File

@ -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")
}
}
}

View File

@ -1,5 +1,5 @@
# Kompendium
project.version=2.0.0-beta
project.version=2.0.0
# 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

View File

@ -1,23 +1,17 @@
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")
id("signing")
}
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 {

View File

@ -1,23 +1,17 @@
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")
id("signing")
}
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 {

View File

@ -1,24 +1,18 @@
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")
id("signing")
id("java-test-fixtures")
}
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"))
}

View File

@ -1,23 +1,17 @@
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")
id("signing")
}
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"))
}

View File

@ -1,24 +1,18 @@
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")
id("signing")
}
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"))
}

View File

@ -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")

View File

@ -1,30 +1,24 @@
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")
id("signing")
}
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 {