stove

(β˜… 309)

Stove: The easiest way of writing e2e/component tests for your JVM back-end app with Kotlin

  • .editorconfig
  • .gitattributes
  • .gitignore
  • build.gradle.kts
  • codecov.yml
  • detekt.yml
  • gradle.properties
  • gradlew
  • gradlew.bat
  • jreleaser.yml
  • LICENSE
  • lint.sh
  • mkdocs.yml
  • pre-commit.sh
  • README.md
  • renovate.json
  • requirements-docs.txt
  • settings.gradle.kts

# Installation Guide

1. Get the code
git clone https://github.com/Trendyol/stove

Downloads the entire project code from GitHub to your computer.

cd stove

Moves into the project folder you just downloaded.

2. Official Install Script

Easy Recommended
Prerequisites
  • Homebrew A package manager for macOS/Linux.
brew install Trendyol/trendyol-tap/stove

Installs the pre-built package via Homebrew β€” no source build required.

βœ… After installing, open a new terminal and run the program's version command (e.g. --version) to confirm it worked.

Pulled directly from this repo's README.

3. Docker

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
docker build -f recipes/process/golang/go-showcase/Dockerfile.container -t stove .

Builds a runnable image based on the Dockerfile.

docker run -p 8080:80 stove

Runs the built image as an actual container.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

4. Gradle (Java/Kotlin)

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • JDK (Java) Required to build and run Java/Kotlin projects.
  • Gradle If the repo includes gradlew (Gradle Wrapper), you don't need to install Gradle separately.
./gradlew test

Builds the project using Gradle.

// build.gradle.kts

Builds the project using Gradle.

// 2. In build.gradle.kts

Builds the project using Gradle.

βœ… A BUILD SUCCESSFUL message means it worked. The output is created under build/.

Pulled directly from this repo's README.

5. Node.js

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Node.js Node.js must be installed to use npm. The LTS version is recommended.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
cd tools/stove-cli/spa

This project's files live in a subfolder, so move into it first.

npm install

Downloads and installs the libraries listed in package.json.

npm start

Starts the development/run server.

βœ… After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.

6. Go

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Go The Go compiler and toolchain.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
cd go/stove-kafka

This project's files live in a subfolder, so move into it first.

go build ./...

Compiles the Go program into an executable.

go run .

Runs the Go program directly without a separate build step.

βœ… If the build finishes without errors, it worked. If you used go run ., check the terminal output.

7. Rust

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Rust (rustup) Installing via rustup also installs cargo.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
cd tools/stove-cli

This project's files live in a subfolder, so move into it first.

cargo build --release

Compiles the Rust project.

cargo run

Builds and then immediately runs the program.

βœ… If cargo build finishes without errors, it worked. The executable is created under target/.
// repository documentation