Project Setup
Requirements¶
- JDK 17+ for the Kotlin starters, or JDK 21+ for the Java walkthrough
git- Basic familiarity with GraphQL (see GraphQL Foundation learning materials)
- Linux, Mac, or Windows
Compatibility¶
Viaduct is compatible with the following versions:
- Java: 17 or newer. CI tests 17, 21 and 25. Use JDK 21+ for the Java demo and the Java walkthrough below.
- Tenant language: Kotlin, or Java through the Java Tenant API (Beta). The
starwars-javademo app shows a Java tenant. Follow the Java tabs in Getting Started for a working example. - Kotlin: 2.2 or 2.3 for Kotlin tenants. The Viaduct Gradle plugin rejects other versions. Kotlin 2.2 compiles for JVM targets up to 24, so targeting Java 25 needs Kotlin 2.3.
- Gradle: 8.11 or newer, and 9.1 or newer on Java 25. CI tests 8.11 and 9.1.
Note: Choose Gradle and Kotlin versions that are compatible with each other — the Gradle-Kotlin compatibility matrix is the authoritative reference.
Choose Your Approach¶
Both walkthroughs preserve the same steps for Kotlin and Java. Select a language tab and follow it through the application tour and extension exercise.
The Java demo builds against the current Viaduct development snapshot, so the commands include USE_VIADUCT_SNAPSHOT_REPO=true to enable the snapshot repository. Use Git Bash for these commands on Windows.
There are two ways to set up your first Viaduct application based on your preference:
Quick Start - Clone Approach¶
Clone one of our starter applications and start building immediately.
Best for: Getting familiar with Viaduct quickly, exploring examples
Build From Scratch¶
Build a Viaduct application from the ground up to understand how all the pieces fit together.
Best for: Understanding the complete structure, setting up custom projects
All approaches will result in a working application. After completing any setup path, continue to Touring the Application to understand the structure.