Giter VIP home page Giter VIP logo

stove's Introduction

Stove

The easiest way of writing e2e tests for your back-end API in Kotlin

Check the documentation

Warning

Stove is under development and, despite being heavily tested, its API isn't yet stabilized; breaking changes might happen on minor releases. However, we will always provide migration guides.

Report any issue or bug in the GitHub repository.

codecov

Supports

Physical dependencies:

  • Kafka
  • Couchbase
  • HttpClient to make real http calls against the application under test
  • Wiremock to mock all the external dependencies
  • PostgresSql
  • ElasticSearch
  • MongoDB
  • MSSQL
  • Redis

Frameworks:

  • Spring
  • Ktor
  • Quarkus (up for grabs)

Show me the code

Setting-up all the physical dependencies with application

TestSystem(baseUrl = "http://localhost:8001") {
    if (isRunningLocally()) {
        enableReuseForTestContainers()
        keepDendenciesRunning() // this will keep the dependencies running after the tests are finished, so next run will be blazing fast :)
    }
}.with {
    // Enables http client 
    // to make real http calls 
    // against the application under test
    http()

    // Enables Couchbase physically 
    // and exposes the configuration 
    // to the application under test
    couchbase {
        CouchbaseSystemOptions(
            defaultBucket = "Stove",
            configureExposedConfiguration = { cfg -> listOf("couchbase.hosts=${cfg.hostsWithPort}") },
        )
    }

    // Enables Kafka physically 
    // and exposes the configuration 
    // to the application under test
    kafka {
        KafkaSystemOptions(
            configureExposedConfiguration = { cfg -> listOf("kafka.bootstrapServers=${cfg.boostrapServers}") },
        )
    }

    // Enables Wiremock on the given port 
    // and provides configurable mock HTTP server 
    // for your external API calls
    wiremock {
        WireMockSystemOptions(
            port = 9090,
            removeStubAfterRequestMatched = true,
            afterRequest = { e, _, _ ->
                logger.info(e.request.toString())
            },
        )
    }

    // The Application Under Test. 
    // Enables Spring Boot application 
    // to be run with the given parameters.
    springBoot(
        runner = { parameters ->
            stove.spring.example.run(parameters) { it.addTestSystemDependencies() }
        },
        withParameters = listOf(
            "server.port=8001",
            "logging.level.root=warn",
            "logging.level.org.springframework.web=warn",
            "spring.profiles.active=default",
            "kafka.heartbeatInSeconds=2",
        ),
    )
}.run()

Testing the entire application with physical dependencies

TestSystem.validate {
    wiremock {
        mockGet("/example-url", responseBody = None, statusCode = 200)
    }
    
    http {
        get<String>("/hello/index") { actual ->
            actual shouldContain "Hi from Stove framework"
            println(actual)
        }
    }

    couchbase {
        shouldQuery<Any>("SELECT * FROM system:keyspaces") { actual ->
            println(actual)
        }
    }

    kafka {
        shouldBePublished<ExampleMessage> {
            actual.aggregateId == 123 
                    && actual.metadata.topic = "example-topic" 
                    && actual.metadata.headers["example-header"] == "example-value"
        }
        shouldBeConsumed<ExampleMessage> {
            actual.aggregateId == 123
                    && actual.metadata.topic = "example-topic"
                    && actual.metadata.headers["example-header"] == "example-value"
        }
    }

    couchbase {
        save(collection = "Backlogs", id = "id-of-backlog", instance = Backlog("id-of-backlog"))
    }

    http {
        postAndExpectBodilessResponse("/backlog/reserve") { actual ->
            actual.status.shouldBe(200)
        }
    }

    kafka {
        shouldBeConsumed<ProductCreated> {
            actual.aggregateId == expectedId
        }
    }
}

stove's People

Contributors

ademekici avatar aksalbilal avatar bramix avatar canerpatir avatar osoykan avatar renovate[bot] avatar trendyol-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stove's Issues

Support testcontainer-less TestSystem

When using stove in pipelines, we faced some infrastructural issues like image errors, timeout, slow startup time, high memory and cpu usage.

To solve this kind of issues we decide use Stove with shared environments instead of DiD. If we can pass our environment configurations to Stove, Stove doesn't need boot testcontainers any more.

so we need to pass our shared environment configs to Stove like following.

TestSystem("http://localhost:8001").with {
            bridge()
            couchbase {
                CouchbaseSystemOptions.fromInstance("http://localhost:8089","username","password","defaultBucket)
            }
            kafka {
                KafkaSystemOptions.fromInstance("localhost:9001",objectMapper)
            }
        }.run()
    }

with this implementation we can continue to use Stove without any breaking change in tests, we need to change only Test setup.

Add the occurred exception to the kafka error validations

test("when failing event is published then it should be validated") {
    data class FailingEvent(val id: Long)
    TestSystem.validate {
        kafka {
            publish("trendyol.stove.service.product.failing.0", FailingEvent(5L))
            shouldBeFailedOnCondition<FailingEvent> { actual, exception ->
                actual.id == 5L && exception is BusinessException
            }
            shouldBeFailed(message = FailingEvent(5L), exception = BusinessException("Failing product create event"))
        }
    }
}

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

  • Update all dependencies (major) (org.springframework.kafka:spring-kafka, org.springframework:spring-beans, org.springframework:spring-context, org.springframework.kafka:spring-kafka-test, org.springframework.boot, org.springframework.boot:spring-boot-configuration-processor, org.springframework.boot:spring-boot-autoconfigure, org.springframework.boot:spring-boot-starter-actuator, org.springframework.boot:spring-boot-starter-webflux, org.springframework.boot:spring-boot, org.springframework.boot:spring-boot-starter-test)

โš  Dependency Lookup Warnings โš 

  • Renovate failed to look up the following dependencies: plugin.spring.

Files affected: gradle/libs.versions.toml


Other Branches

These updates are pending. To force PRs open, click the checkbox below.

  • Update all dependencies (renovatebot/github-action, org.springframework.boot, org.springframework.boot:spring-boot-configuration-processor, org.springframework.boot:spring-boot-autoconfigure, org.springframework.boot:spring-boot-starter-actuator, org.springframework.boot:spring-boot-starter-webflux, org.springframework.boot:spring-boot, org.springframework.boot:spring-boot-starter-test)

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/setup-java v3
  • actions/checkout v3
.github/workflows/gradle-publish.yml
  • actions/checkout v3
  • actions/setup-java v3
  • gradle/gradle-build-action v2.3.3
.github/workflows/renovate.yml
  • actions/checkout v3.3.0
  • renovatebot/github-action v34.82.0
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
buildSrc/build.gradle.kts
buildSrc/src/main/kotlin/coverage.gradle.kts
buildSrc/src/main/kotlin/publishing.gradle.kts
gradle/libs-test.versions.toml
  • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.6.4
  • org.springframework.boot:spring-boot-starter-test 2.7.7
  • org.springframework.kafka:spring-kafka-test 2.9.5
  • org.mockito.kotlin:mockito-kotlin 4.1.0
  • org.junit:junit-bom 5.9.2
  • org.junit.jupiter:junit-jupiter 5.9.2
  • io.kotest:kotest-runner-junit5 5.5.4
  • io.kotest:kotest-property-jvm 5.5.4
  • io.kotest:kotest-framework-api-jvm 5.5.4
  • io.kotest.extensions:kotest-extensions-spring 1.1.2
  • com.github.tomakehurst:wiremock-jre8 2.35.0
  • org.testcontainers:testcontainers 1.17.6
  • org.testcontainers:kafka 1.17.6
  • org.testcontainers:couchbase 1.17.6
gradle/libs.versions.toml
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.8.0
  • org.jetbrains.kotlin:kotlin-reflect 1.8.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactor 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactive 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-slf4j 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm 1.6.4
  • org.jetbrains.kotlinx:kotlinx-knit 0.4.0
  • io.projectreactor:reactor-core 3.5.2
  • io.projectreactor.kotlin:reactor-kotlin-extensions 1.2.1
  • io.arrow-kt:arrow-core 1.1.5
  • org.apache.kafka:kafka-clients 3.3.2
  • io.github.nomisrev:kotlin-kafka 0.3.0
  • org.springframework.boot:spring-boot 2.7.7
  • org.springframework.boot:spring-boot-starter-webflux 2.7.7
  • org.springframework.boot:spring-boot-starter-actuator 2.7.7
  • org.springframework.boot:spring-boot-autoconfigure 2.7.7
  • org.springframework.boot:spring-boot-configuration-processor 2.7.7
  • org.springframework:spring-context 5.3.25
  • org.springframework:spring-beans 5.3.25
  • org.springframework.kafka:spring-kafka 2.9.5
  • com.couchbase.client:java-client 3.4.2
  • com.couchbase.client:metrics-micrometer 0.4.2
  • com.fasterxml.jackson.module:jackson-module-kotlin 2.14.1
  • com.fasterxml.jackson.core:jackson-databind 2.14.1
  • org.slf4j:slf4j-api 2.0.6
  • org.slf4j:slf4j-simple 2.0.6
  • plugin.spring 1.8.0
  • org.springframework.boot 2.7.7
  • io.spring.dependency-management 1.1.0
  • com.ncorti.ktfmt.gradle 0.11.0
  • org.jlleitschuh.gradle.ktlint 11.0.0
  • org.jetbrains.dokka 1.7.20
  • org.jetbrains.kotlinx.kover 0.6.1
lib/build.gradle.kts
lib/stove-testing-e2e/build.gradle.kts
lib/stove-testing-e2e-couchbase/build.gradle.kts
lib/stove-testing-e2e-http/build.gradle.kts
lib/stove-testing-e2e-kafka/build.gradle.kts
lib/stove-testing-e2e-wiremock/build.gradle.kts
starters/build.gradle.kts
starters/spring/build.gradle.kts
starters/spring/stove-spring-testing-e2e/build.gradle.kts
starters/spring/stove-spring-testing-e2e-kafka/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 7.6

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

  • Update spring boot to v3 (major) (org.springframework.boot, org.springframework.boot:spring-boot-configuration-processor, org.springframework.boot:spring-boot-autoconfigure, org.springframework.boot:spring-boot-starter-actuator, org.springframework.boot:spring-boot-starter-webflux, org.springframework.boot:spring-boot, org.springframework.boot:spring-boot-starter-test)
  • Update spring core to v6 (major) (org.springframework:spring-beans, org.springframework:spring-context)
  • Update spring kafka to v3 (major) (org.springframework.kafka:spring-kafka, org.springframework.kafka:spring-kafka-test)

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/setup-java v3
  • actions/checkout v3
.github/workflows/gradle-publish.yml
  • actions/checkout v3
  • actions/setup-java v3
  • gradle/gradle-build-action v2.3.3
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
buildSrc/build.gradle.kts
buildSrc/src/main/kotlin/coverage.gradle.kts
buildSrc/src/main/kotlin/stove-publishing.gradle.kts
gradle/libs-test.versions.toml
  • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.6.4
  • org.springframework.boot:spring-boot-starter-test 2.7.8
  • org.springframework.kafka:spring-kafka-test 2.9.5
  • org.mockito.kotlin:mockito-kotlin 4.1.0
  • org.junit:junit-bom 5.9.2
  • org.junit.jupiter:junit-jupiter 5.9.2
  • io.kotest:kotest-runner-junit5 5.5.4
  • io.kotest:kotest-property-jvm 5.5.4
  • io.kotest:kotest-framework-api-jvm 5.5.4
  • io.kotest.extensions:kotest-extensions-spring 1.1.2
  • com.github.tomakehurst:wiremock-jre8 2.35.0
  • org.testcontainers:testcontainers 1.17.6
  • org.testcontainers:kafka 1.17.6
  • org.testcontainers:couchbase 1.17.6
gradle/libs.versions.toml
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.8.0
  • org.jetbrains.kotlin:kotlin-reflect 1.8.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactor 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactive 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-slf4j 1.6.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm 1.6.4
  • org.jetbrains.kotlinx:kotlinx-knit 0.4.0
  • io.projectreactor:reactor-core 3.5.2
  • io.projectreactor.kotlin:reactor-kotlin-extensions 1.2.1
  • io.arrow-kt:arrow-core 1.1.5
  • org.apache.kafka:kafka-clients 3.3.2
  • io.github.nomisrev:kotlin-kafka 0.3.0
  • org.springframework.boot:spring-boot 2.7.8
  • org.springframework.boot:spring-boot-starter-webflux 2.7.8
  • org.springframework.boot:spring-boot-starter-actuator 2.7.8
  • org.springframework.boot:spring-boot-autoconfigure 2.7.8
  • org.springframework.boot:spring-boot-configuration-processor 2.7.8
  • org.springframework:spring-context 5.3.25
  • org.springframework:spring-beans 5.3.25
  • org.springframework.kafka:spring-kafka 2.9.5
  • com.couchbase.client:java-client 3.4.2
  • com.couchbase.client:metrics-micrometer 0.4.2
  • com.fasterxml.jackson.module:jackson-module-kotlin 2.14.1
  • com.fasterxml.jackson.core:jackson-databind 2.14.1
  • org.slf4j:slf4j-api 2.0.6
  • org.slf4j:slf4j-simple 2.0.6
  • org.jetbrains.kotlin.plugin.spring 1.8.0
  • org.springframework.boot 2.7.8
  • io.spring.dependency-management 1.1.0
  • com.ncorti.ktfmt.gradle 0.11.0
  • org.jlleitschuh.gradle.ktlint 11.0.0
  • org.jetbrains.dokka 1.7.20
  • org.jetbrains.kotlinx.kover 0.6.1
lib/build.gradle.kts
lib/stove-testing-e2e/build.gradle.kts
lib/stove-testing-e2e-couchbase/build.gradle.kts
lib/stove-testing-e2e-http/build.gradle.kts
lib/stove-testing-e2e-kafka/build.gradle.kts
lib/stove-testing-e2e-wiremock/build.gradle.kts
starters/build.gradle.kts
starters/spring/build.gradle.kts
starters/spring/stove-spring-testing-e2e/build.gradle.kts
starters/spring/stove-spring-testing-e2e-kafka/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 7.6

Improve WithDsl

Options can be defined better for example:

From:

 wiremock {
        WireMockSystemOptions(
            port = 9090,
            removeStubAfterRequestMatched = true,
            afterRequest = { e, _, _ ->
                logger.info(e.request.toString())
            },
        )
    }

To:

 wiremock {
         port = 9090,
         removeStubAfterRequestMatched = true,
         afterRequest = { e, _, _ ->  logger.info(e.request.toString()) }
 }

Create a validation DSL for TestSystem

Idea

TestSystem { 
   http {
          get<String>("/hello/index") { actual ->
                   actual shouldContain "Hi from Stove framework"
                       println(actual)
            }
    }
   couchbase {
         shouldQuery<Any>("SELECT * FROM system:keyspaces") { actual ->
           println(actual)
       }
   }

  // rest is skipped for brevity
}

Create a Spring example application for show-case

  1. Has an endpoint POST localhost:8001/api/product/create with body ProductCreateCommand(id, name, supplierId: Int) (showcase for: sending a real HTTP request with DefaultHttpSystem)
  2. Has a consumer ProductConsumer that accepts a ProductMessage(id, name, supplierId: Int) (showcase for: publishing a message and seeing that it consumes)
  3. Has an external API call localhost:9090/suppliers/{id}/allowed that returns SupplierPermission(id, isAllowed: Boolean) while creating (showcase for: mocking)
  4. If everything is fine, then save it to the database (both API and Consumer) (showcase for: database system)

Create a WithDsl for constructing/configuring the entire system

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/setup-java v4
  • actions/checkout v4
  • gradle/gradle-build-action v3.1.0
  • mi-kas/kover-report v1
  • codecov/codecov-action v4
.github/workflows/gradle-publish.yml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/gradle-build-action v3.1.0
.github/workflows/publish-to-ghpages.yml
  • actions/checkout v4
  • peaceiris/actions-gh-pages v3
gradle
buildSrc/src/main/kotlin/BuildConstants.kt
buildSrc/src/main/kotlin/Helpers.kt
gradle.properties
settings.gradle.kts
build.gradle.kts
buildSrc/build.gradle.kts
buildSrc/src/main/kotlin/stove-publishing.gradle.kts
gradle/libs-test.versions.toml
  • org.jetbrains.kotlinx:kotlinx-coroutines-test 1.8.0
  • org.springframework.boot:spring-boot-starter-test 2.7.18
  • org.springframework.kafka:spring-kafka-test 2.9.13
  • org.mockito.kotlin:mockito-kotlin 5.2.1
  • org.junit:junit-bom 5.10.2
  • org.junit.jupiter:junit-jupiter 5.10.2
  • io.kotest:kotest-runner-junit5 5.8.1
  • io.kotest:kotest-property-jvm 5.8.1
  • io.kotest:kotest-framework-api-jvm 5.8.1
  • io.ktor:ktor-server-tests-jvm 2.3.9
  • com.adarshr.test-logger 4.0.0
gradle/libs.versions.toml
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.9.23
  • org.jetbrains.kotlin:kotlin-reflect 1.9.23
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactor 1.8.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-reactive 1.8.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.8.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-slf4j 1.8.0
  • org.jetbrains.kotlinx:kotlinx-knit 0.5.0
  • io.projectreactor:reactor-core 3.6.4
  • io.projectreactor.kotlin:reactor-kotlin-extensions 1.2.2
  • io.arrow-kt:arrow-core 1.2.3
  • org.apache.kafka:kafka-clients 3.7.0
  • io.github.nomisrev:kotlin-kafka 0.3.1
  • com.couchbase.client:kotlin-client 1.3.0
  • com.couchbase.client:java-client 3.6.0
  • com.couchbase.client:metrics-micrometer 0.6.0
  • com.fasterxml.jackson.module:jackson-module-kotlin 2.17.0
  • com.fasterxml.jackson.core:jackson-databind 2.17.0
  • io.arrow-kt:arrow-integrations-jackson-module 0.14.1
  • org.slf4j:slf4j-api 2.0.12
  • org.slf4j:slf4j-simple 2.0.12
  • io.ktor:ktor-server-host-common 2.3.9
  • io.ktor:ktor-server 2.3.9
  • io.ktor:ktor-server-call-logging 2.3.9
  • io.ktor:ktor-server-netty 2.3.9
  • io.ktor:ktor-serialization-kotlinx-json 2.3.9
  • io.insert-koin:koin-ktor 3.5.3
  • io.insert-koin:koin-logger-slf4j 3.5.3
  • io.r2dbc:r2dbc-spi 1.0.0.RELEASE
  • io.r2dbc:r2dbc-postgresql 0.8.13.RELEASE
  • co.elastic.clients:elasticsearch-java 8.13.0
  • org.mongodb:mongodb-driver-reactivestreams 5.0.0
  • org.wiremock:wiremock-standalone 3.4.2
  • org.testcontainers:testcontainers 1.19.7
  • org.testcontainers:jdbc 1.19.7
  • org.testcontainers:kafka 1.19.7
  • org.testcontainers:couchbase 1.19.7
  • org.testcontainers:postgresql 1.19.7
  • org.testcontainers:elasticsearch 1.19.7
  • org.testcontainers:mongodb 1.19.7
  • org.testcontainers:mssqlserver 1.19.7
  • io.r2dbc:r2dbc-mssql 1.0.2.RELEASE
  • com.microsoft.sqlserver:mssql-jdbc 12.6.1.jre11
  • com.redis.testcontainers:testcontainers-redis-junit 1.6.4
  • io.lettuce:lettuce-core 6.3.2.RELEASE
  • ch.qos.logback:logback-classic 1.5.3
  • org.springframework.boot:spring-boot 2.7.18
  • org.springframework.boot:spring-boot-starter-webflux 2.7.18
  • org.springframework.boot:spring-boot-starter-actuator 2.7.18
  • org.springframework.boot:spring-boot-autoconfigure 2.7.18
  • org.springframework.boot:spring-boot-configuration-processor 2.7.18
  • org.springframework:spring-context 5.3.33
  • org.springframework:spring-beans 5.3.33
  • org.springframework.kafka:spring-kafka 2.9.13
  • org.springframework.boot:spring-boot 3.2.4
  • org.springframework.boot:spring-boot-starter-webflux 3.2.4
  • org.springframework.boot:spring-boot-starter-actuator 3.2.4
  • org.springframework.boot:spring-boot-autoconfigure 3.2.4
  • org.springframework.boot:spring-boot-configuration-processor 3.2.4
  • org.springframework.kafka:spring-kafka 3.1.3
  • org.springframework:spring-context 6.1.5
  • org.springframework:spring-beans 6.1.5
  • org.jetbrains.kotlin.plugin.spring 1.9.23
  • org.springframework.boot 2.7.18
  • io.spring.dependency-management 1.1.4
  • com.ncorti.ktfmt.gradle 0.17.0
  • org.jmailen.kotlinter 4.3.0
  • org.jetbrains.dokka 1.9.20
  • org.jetbrains.kotlinx.kover 0.7.6
  • com.palantir.git-version 3.0.0
lib/stove-testing-e2e/build.gradle.kts
lib/stove-testing-e2e-couchbase/build.gradle.kts
lib/stove-testing-e2e-elasticsearch/build.gradle.kts
lib/stove-testing-e2e-http/build.gradle.kts
lib/stove-testing-e2e-kafka/build.gradle.kts
lib/stove-testing-e2e-mongodb/build.gradle.kts
lib/stove-testing-e2e-rdbms/build.gradle.kts
lib/stove-testing-e2e-rdbms-mssql/build.gradle.kts
lib/stove-testing-e2e-rdbms-postgres/build.gradle.kts
lib/stove-testing-e2e-redis/build.gradle.kts
lib/stove-testing-e2e-wiremock/build.gradle.kts
starters/ktor/stove-ktor-testing-e2e/build.gradle.kts
starters/spring/stove-spring-testing-e2e/build.gradle.kts
starters/spring/stove-spring-testing-e2e-kafka/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.7

  • Check this box to trigger a request for Renovate to run again on this repository

Support Quarkus

[Question]
Can someone list what exactly needs to be done to support Quarkus?
I might be able to work on that.

Thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.