Application template for building Casciian TUI-based applications. This template includes support for native builds, DEB and RPM package generation.
This is a starter template for creating text-based user interface (TUI) applications using the Casciian Java library. It includes a simple "Hello World" demonstration that you can customize for your own application.
- Java 21 or later
- Gradle 9.2.1 or later (included via wrapper)
- For native image compilation: GraalVM Java 25 with native-image
- For packaging: fpm (installed via
gem install fpm)
./gradlew clean buildThis creates a JAR file in build/libs/casciianapp-<version>.jar
./gradlew installDist
./build/install/casciianapp/bin/casciianappOr with Java directly:
export JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-amd64
java -jar build/libs/casciianapp-<version>.jarThe DEB and RPM packages require a native binary. You need GraalVM Java 25 with native-image installed.
You can install GraalVM using SDKMAN:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 25.0.0.r25-graalceOr download directly from GraalVM Downloads.
- Ensure GraalVM Java 25 is installed and configured
- Run:
./gradlew nativeCompileThis creates a native executable at build/native/nativeCompile/casciianapp
Important: The packages require a native binary. You must first compile the native binary using GraalVM (see above).
# Install fpm and dependencies
sudo apt-get install ruby ruby-dev build-essential rpm
sudo gem install fpmAfter compiling the native binary, build both DEB and RPM packages:
./gradlew buildPackagesOr build individually:
./gradlew buildDeb # Creates DEB package in build/distributions/deb/
./gradlew buildRpm # Creates RPM package in build/distributions/rpm/The packages will include only:
/usr/bin/casciianapp- Native executable binary
Debian/Ubuntu:
sudo dpkg -i build/distributions/deb/casciianapp_0.1.0-1_amd64.deb
sudo apt-get install -f # Install dependencies if neededRedHat/CentOS/Fedora:
sudo rpm -ivh build/distributions/rpm/casciianapp-0.1.0-1.x86_64.rpmAfter installation, you can run the application:
casciianappThis template is designed to be a starting point for your own Casciian-based application:
- Rename the project: Update
settings.gradleto change the project name - Update package names: Modify the package structure in
src/main/java/to match your organization - Customize the application: Edit
HelloWorld.javaor create new classes for your application logic - Update metadata:
- Edit
build.gradleto update group, description, URLs, and maintainer information - Update
gradle.propertiesto set your version
- Edit
- Update documentation: Modify this README to describe your specific application
casciianapp/
├── build.gradle # Gradle build configuration
├── settings.gradle # Gradle settings
├── gradle.properties # Project version and properties
├── src/
│ └── main/
│ └── java/
│ └── io/github/crramirez/casciianapp/
│ └── HelloWorld.java # Main application (customize this!)
└── README.md
Apache License 2.0 - Copyright 2025 [Your Name Here]
- Casciian 1.1 - Java Text User Interface library