Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New dependency notation base API #353

Merged
merged 26 commits into from Aug 6, 2021
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
60bdd3d
Test that we do not change version keys
jmfayard Jun 15, 2021
afaec2e
New dependency notation base API
jmfayard Jun 15, 2021
ce89351
Add dependencyNotations for Spring
jmfayard Jun 16, 2021
e82632e
Merge remote-tracking branch 'origin/main' into draft-kodein-di
jmfayard Jun 16, 2021
f624c60
Remove non-Spring dependencies
jmfayard Jun 16, 2021
78ea4aa
Review of DependencyGroup
jmfayard Jun 16, 2021
dd6b7fa
Merge branch 'main' into draft-kodein-di
LouisCAD Jun 27, 2021
b6b7fce
Add comments to the _ALL.kt file
LouisCAD Jun 27, 2021
b865040
Remove unneeded blank lines
LouisCAD Jun 27, 2021
6ec397c
Add missing spaces before closing braces
LouisCAD Jun 27, 2021
04d6549
Improve assertion error message slightly
LouisCAD Jun 27, 2021
e6a30b4
Improve precondition error message slightly
LouisCAD Jun 27, 2021
3bc53f2
Turn a require(…) call into an assert(…) call
LouisCAD Jun 27, 2021
d03a65f
Change DependencyGroup API for less verbose usage
LouisCAD Jun 27, 2021
289636e
Update dependencies-versions-key-validated.txt
LouisCAD Jun 27, 2021
f6921b6
Remove trailing whitespace
LouisCAD Jun 27, 2021
f7776bb
Add Http4k dependency notations
jmfayard Jun 27, 2021
efdf2c1
Add 3 missing Http4k dependency notations
jmfayard Jun 28, 2021
3cfd000
Merge remote-tracking branch 'origin/draft-kodein-di' into version-0.…
jmfayard Aug 3, 2021
85f61e0
Add missing rule io.kotest.extensions:kotest-extensions-*
jmfayard Aug 3, 2021
dc05d64
All DependencyGroup must use a getter instead of a property
jmfayard Aug 3, 2021
823d815
Merge branch 'main' into draft-kodein-di
jmfayard Aug 4, 2021
2622398
Use property delegation to define dependency notations
jmfayard Aug 5, 2021
66c54da
Support BoM in DependencyGroup
jmfayard Aug 5, 2021
f808089
Inline delegate getValue does not work
jmfayard Aug 6, 2021
3b23788
docs: Submitting dependency notations
jmfayard Aug 6, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
127 changes: 65 additions & 62 deletions plugins/dependencies/src/main/kotlin/dependencies/Http4k.kt
Expand Up @@ -4,103 +4,106 @@ private val GROUP = "org.http4k"

object Http4k : DependencyGroup(
group = GROUP,
usePlatformConstraints = true,
usePlatformConstraints = false,
rawRule = """
org.http4k:http4k-*
^^^^^^
""".trimIndent()
) {
val bom = "org.http4k:http4k-bom:_"

val aws = module("http4k-aws")
val cloudnative = module("http4k-cloudnative")
val contract = module("http4k-contract")
val core = module("http4k-core")
val graphql = module("http4k-graphql")
val incubator = module("http4k-incubator")
val jsonrpc = module("http4k-jsonrpc")
val metricsMicrometer = module("http4k-metrics-micrometer")
val multipart = module("http4k-multipart")
val opentelemetry = module("http4k-opentelemetry")
val realtimeCore = module("http4k-realtime-core")
val resilience4j = module("http4k-resilience4j")
val securityOauth = module("http4k-security-oauth")
val bom: String get() {
usePlatformConstraints = true
jmfayard marked this conversation as resolved.
Show resolved Hide resolved
return "org.http4k:http4k-bom:_"
}

val aws get() = module("http4k-aws")
val cloudnative get() = module("http4k-cloudnative")
val contract get() = module("http4k-contract")
val core get() = module("http4k-core")
val graphql get() = module("http4k-graphql")
val incubator get() = module("http4k-incubator")
val jsonrpc get() = module("http4k-jsonrpc")
val metricsMicrometer get() = module("http4k-metrics-micrometer")
val multipart get() = module("http4k-multipart")
val opentelemetry get() = module("http4k-opentelemetry")
val realtimeCore get() = module("http4k-realtime-core")
val resilience4j get() = module("http4k-resilience4j")
val securityOauth get() = module("http4k-security-oauth")

val client = Client

object Client : DependencyGroup(GROUP, usePlatformConstraints = true) {
val apache = module("http4k-client-apache")
val apacheAsync = module("http4k-client-apache-async")
val apache4 = module("http4k-client-apache4")
val apache4Async = module("http4k-client-apache4-async")
val jetty = module("http4k-client-jetty")
val okhttp = module("http4k-client-okhttp")
val websocket = module("http4k-client-websocket")
val apache get() = module("http4k-client-apache")
val apacheAsync get() = module("http4k-client-apache-async")
val apache4 get() = module("http4k-client-apache4")
val apache4Async get() = module("http4k-client-apache4-async")
val jetty get() = module("http4k-client-jetty")
val okhttp get() = module("http4k-client-okhttp")
val websocket get() = module("http4k-client-websocket")
jmfayard marked this conversation as resolved.
Show resolved Hide resolved
}

val format = Format

object Format : DependencyGroup(GROUP, usePlatformConstraints = true) {
val argo = module("http4k-format-argo")
val core = module("http4k-format-core")
val gson = module("http4k-format-gson")
val jackson = module("http4k-format-jackson")
val jacksonXml = module("http4k-format-jackson-xml")
val jacksonYaml = module("http4k-format-jackson-yaml")
val klaxon = module("http4k-format-klaxon")
val kotlinxSerialization = module("http4k-format-kotlinx-serialization")
val moshi = module("http4k-format-moshi")
val xml = module("http4k-format-xml")
val argo get() = module("http4k-format-argo")
val core get() = module("http4k-format-core")
val gson get() = module("http4k-format-gson")
val jackson get() = module("http4k-format-jackson")
val jacksonXml get() = module("http4k-format-jackson-xml")
val jacksonYaml get() = module("http4k-format-jackson-yaml")
val klaxon get() = module("http4k-format-klaxon")
val kotlinxSerialization get() = module("http4k-format-kotlinx-serialization")
val moshi get() = module("http4k-format-moshi")
val xml get() = module("http4k-format-xml")
}


val server = Server

object Server : DependencyGroup(GROUP, usePlatformConstraints = true) {
val apache = module("http4k-server-apache")
val apache4 = module("http4k-server-apache4")
val jetty = module("http4k-server-jetty")
val ktorcio = module("http4k-server-ktorcio")
val ktornetty = module("http4k-server-ktornetty")
val netty = module("http4k-server-netty")
val ratpack = module("http4k-server-ratpack")
val undertow = module("http4k-server-undertow")
val apache get() = module("http4k-server-apache")
val apache4 get() = module("http4k-server-apache4")
val jetty get() = module("http4k-server-jetty")
val ktorcio get() = module("http4k-server-ktorcio")
val ktornetty get() = module("http4k-server-ktornetty")
val netty get() = module("http4k-server-netty")
val ratpack get() = module("http4k-server-ratpack")
val undertow get() = module("http4k-server-undertow")
}

val serverless = Serverless

object Serverless : DependencyGroup(GROUP, usePlatformConstraints = true) {
val alibaba = module("http4k-serverless-alibaba")
val azure = module("http4k-serverless-azure")
val gcf = module("http4k-serverless-gcf")
val lambda = module("http4k-serverless-lambda")
val lambdaRuntime = module("http4k-serverless-lambda-runtime")
val openwhisk = module("http4k-serverless-openwhisk")
val tencent = module("http4k-serverless-tencent")
val alibaba get() = module("http4k-serverless-alibaba")
val azure get() = module("http4k-serverless-azure")
val gcf get() = module("http4k-serverless-gcf")
val lambda get() = module("http4k-serverless-lambda")
val lambdaRuntime get() = module("http4k-serverless-lambda-runtime")
val openwhisk get() = module("http4k-serverless-openwhisk")
val tencent get() = module("http4k-serverless-tencent")
}

val template = Template

object Template : DependencyGroup(GROUP, usePlatformConstraints = true) {
val core = module("http4k-template-core")
val dust = module("http4k-template-dust")
val freemarker = module("http4k-template-freemarker")
val handlebars = module("http4k-template-handlebars")
val jade4j = module("http4k-template-jade4j")
val pebble = module("http4k-template-pebble")
val thymeleaf = module("http4k-template-thymeleaf")
val core get() = module("http4k-template-core")
val dust get() = module("http4k-template-dust")
val freemarker get() = module("http4k-template-freemarker")
val handlebars get() = module("http4k-template-handlebars")
val jade4j get() = module("http4k-template-jade4j")
val pebble get() = module("http4k-template-pebble")
val thymeleaf get() = module("http4k-template-thymeleaf")
}

val testing = Testing

object Testing : DependencyGroup(GROUP, usePlatformConstraints = true) {
val approval = module("http4k-testing-approval")
val chaos = module("http4k-testing-chaos")
val hamkrest = module("http4k-testing-hamkrest")
val kotest = module("http4k-testing-kotest")
val servirtium = module("http4k-testing-servirtium")
val strikt = module("http4k-testing-strikt")
val webdriver = module("http4k-testing-webdriver")
val approval get() = module("http4k-testing-approval")
val chaos get() = module("http4k-testing-chaos")
val hamkrest get() = module("http4k-testing-hamkrest")
val kotest get() = module("http4k-testing-kotest")
val servirtium get() = module("http4k-testing-servirtium")
val strikt get() = module("http4k-testing-strikt")
val webdriver get() = module("http4k-testing-webdriver")
}
}

18 changes: 9 additions & 9 deletions plugins/dependencies/src/main/kotlin/dependencies/Kodein.kt
Expand Up @@ -23,14 +23,14 @@ object Kodein {
^^^^^^^^^
""".trimIndent()
) {
val androidCore = module("kodein-di-framework-android-core")
val androidSupport = module("kodein-di-framework-android-support")
val androidx = module("kodein-di-framework-android-x")
val configurableJS = module("kodein-di-conf-js")
val configurableJvm = module("kodein-di-conf-jvm")
val js = module("kodein-di-js")
val jsr330 = module("kodein-di-jxinject-jvm")
val ktor = module("kodein-di-framework-ktor-server-jvm")
val tornadofx = module("kodein-di-framework-tornadofx-jvm")
val androidCore get() = module("kodein-di-framework-android-core")
val androidSupport get() = module("kodein-di-framework-android-support")
val androidx get() = module("kodein-di-framework-android-x")
val configurableJS get() = module("kodein-di-conf-js")
val configurableJvm get() = module("kodein-di-conf-jvm")
val js get() = module("kodein-di-js")
val jsr330 get() = module("kodein-di-jxinject-jvm")
val ktor get() = module("kodein-di-framework-ktor-server-jvm")
val tornadofx get() = module("kodein-di-framework-tornadofx-jvm")
}
}
74 changes: 37 additions & 37 deletions plugins/dependencies/src/main/kotlin/dependencies/Orchid.kt
Expand Up @@ -27,42 +27,42 @@ object Orchid : DependencyGroup(

private const val groupId = "io.github.javaeden.orchid"

val core = module("OrchidCore")
val test = module("OrchidTest")
val core get() = module("OrchidCore")
val test get() = module("OrchidTest")

/**
* Official webpage: [orchid.run/plugins](https://orchid.run/plugins)
*/
val plugins = Plugins

object Plugins : DependencyGroup(group = "io.github.javaeden.orchid") {
val changelog = module("OrchidChangelog")
val forms = module("OrchidForms")
val groovydoc = module("OrchidGroovydoc")
val javadoc = module("OrchidJavadoc")
val kotlindoc = module("OrchidKotlindoc")
val kss = module("OrchidKSS")
val netlifyCMS = module("OrchidNetlifyCMS")
val pages = module("OrchidPages")
val pluginDocs = module("OrchidPluginDocs")
val posts = module("OrchidPosts")
val presentations = module("OrchidPresentations")
val search = module("OrchidSearch")
val sourceDoc = module("OrchidSourceDoc")
val swagger = module("OrchidSwagger")
val swiftdoc = module("OrchidSwiftdoc")
val taxonomies = module("OrchidTaxonomies")
val wiki = module("OrchidWiki")
val asciidoc = module("OrchidAsciidoc")
val bible = module("OrchidBible")
val diagrams = module("OrchidDiagrams")
val syntaxHighlighter = module("OrchidSyntaxHighlighter")
val writersBlocks = module("OrchidWritersBlocks")
val azure = module("OrchidAzure")
val bitbucket = module("OrchidBitbucket")
val github = module("OrchidGithub")
val gitlab = module("OrchidGitlab")
val netlify = module("OrchidNetlify")
val changelog get() = module("OrchidChangelog")
val forms get() = module("OrchidForms")
val groovydoc get() = module("OrchidGroovydoc")
val javadoc get() = module("OrchidJavadoc")
val kotlindoc get() = module("OrchidKotlindoc")
val kss get() = module("OrchidKSS")
val netlifyCMS get() = module("OrchidNetlifyCMS")
val pages get() = module("OrchidPages")
val pluginDocs get() = module("OrchidPluginDocs")
val posts get() = module("OrchidPosts")
val presentations get() = module("OrchidPresentations")
val search get() = module("OrchidSearch")
val sourceDoc get() = module("OrchidSourceDoc")
val swagger get() = module("OrchidSwagger")
val swiftdoc get() = module("OrchidSwiftdoc")
val taxonomies get() = module("OrchidTaxonomies")
val wiki get() = module("OrchidWiki")
val asciidoc get() = module("OrchidAsciidoc")
val bible get() = module("OrchidBible")
val diagrams get() = module("OrchidDiagrams")
val syntaxHighlighter get() = module("OrchidSyntaxHighlighter")
val writersBlocks get() = module("OrchidWritersBlocks")
val azure get() = module("OrchidAzure")
val bitbucket get() = module("OrchidBitbucket")
val github get() = module("OrchidGithub")
val gitlab get() = module("OrchidGitlab")
val netlify get() = module("OrchidNetlify")
}

/**
Expand All @@ -71,18 +71,18 @@ object Orchid : DependencyGroup(
val themes = Themes

object Themes : DependencyGroup(group = "io.github.javaeden.orchid") {
val bsDoc = module("OrchidBsDoc")
val copper = module("OrchidCopper")
val editorial = module("OrchidEditorial")
val futureImperfect = module("OrchidFutureImperfect")
val bsDoc get() = module("OrchidBsDoc")
val copper get() = module("OrchidCopper")
val editorial get() = module("OrchidEditorial")
val futureImperfect get() = module("OrchidFutureImperfect")
}

val bundles = Bundles

object Bundles : DependencyGroup(group = "io.github.javaeden.orchid") {
val all = module("OrchidAll")
val blog = module("OrchidBlog")
val docs = module("OrchidDocs")
val languagePack = module("OrchidLanguagePack")
val all get() = module("OrchidAll")
val blog get() = module("OrchidBlog")
val docs get() = module("OrchidDocs")
val languagePack get() = module("OrchidLanguagePack")
}
}