https://github.com/r8vnhill/echo-app-kt
A Kotlin multi-module project that demonstrates how to centralize build logic using convention plugins with Gradle Kotlin DSL.
https://github.com/r8vnhill/echo-app-kt
build-logic convention-plugins gradle gradle-plugin kotlin kotlin-dsl multimodule project-structure software-architecture version-catalog
Last synced: about 1 month ago
JSON representation
A Kotlin multi-module project that demonstrates how to centralize build logic using convention plugins with Gradle Kotlin DSL.
- Host: GitHub
- URL: https://github.com/r8vnhill/echo-app-kt
- Owner: r8vnhill
- License: bsd-2-clause
- Created: 2024-09-12T21:09:54.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-07-08T01:15:58.000Z (11 months ago)
- Last Synced: 2025-07-08T02:59:44.636Z (11 months ago)
- Topics: build-logic, convention-plugins, gradle, gradle-plugin, kotlin, kotlin-dsl, multimodule, project-structure, software-architecture, version-catalog
- Language: PowerShell
- Homepage: https://dibs.ravenhill.cl
- Size: 42 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# echo-app-kt: A simple Kotlin CLI to understand Gradle and the Kotlin ecosystem
[](./LICENSE)
[](https://kotlinlang.org/docs/getting-started.html)
[](https://dibs.ravenhill.cl)
[]()
[](https://dibs.ravenhill.cl)
A command-line application written in **Kotlin**, designed to introduce **Gradle** and the **Kotlin ecosystem** through a clean, idiomatic, and reproducible example. This project accompanies lessons from
the [DIBS course](https://dibs.ravenhill.cl), focused on building well-structured and maintainable software libraries.
> [!note]
> The course is taught in Spanish, but **all repository content is in English** to ensure accessibility and broader
> adoption.
## π Table of Contents
- [echo-app-kt: A simple Kotlin CLI to understand Gradle and the Kotlin ecosystem](#echo-app-kt-a-simple-kotlin-cli-to-understand-gradle-and-the-kotlin-ecosystem)
- [π Table of Contents](#-table-of-contents)
- [π Lessons](#-lessons)
- [π Overview](#-overview)
- [π Getting Started](#-getting-started)
- [Prerequisites](#prerequisites)
- [Clone \& Compile](#clone--compile)
- [π‘οΈ License](#οΈ-license)
- [π DIBS Website](#-dibs-website)
## π Lessons
This repository is part of the following DIBS course lesson:
- π **[Creating a Basic Project with Gradle](https://dibs.ravenhill.cl/docs/build-systems/init/gradle)**
Learn how to set up a basic (empty) Gradle project with Kotlin, including the necessary files and structure to get started.
## π Overview
This application is intentionally simple β its purpose is not to showcase complex logic, but to serve as an **educational scaffold** to explore:
- The role of Gradle and the `build.gradle.kts` file
- The structure of a modern Kotlin project
- How the `gradle` CLI facilitates creation, compilation, and execution
- Best practices for reproducible builds and configuration
The program simply echoes messages passed as arguments β but the lesson is in the setup, not the output.
## π Getting Started
### Prerequisites
- [JDK 11 or later](https://openjdk.java.net/install/)
- PowerShell (Windows) or a terminal with `bash`
- Git
> See the [lesson documentation](https://dibs.ravenhill.cl/docs/installation) for OS-specific install
> scripts.
### Clone & Compile
```bash
git clone https://github.com/r8vnhill/echo-app-kt.git
cd echo-app-kt
./gradlew build
```
## π‘οΈ License
Released under the **[BSD 2-Clause License](./LICENSE)**.
You are free to use, adapt, and share this code in personal or educational contexts, as long as attribution is provided.
## π DIBS Website
The full course β *DiseΓ±o e ImplementaciΓ³n de Bibliotecas de Software* β is available at:
π [https://dibs.ravenhill.cl](https://dibs.ravenhill.cl)
There you'll find complete lessons, slides, exercises, and complementary resources (in Spanish).