Gosu language compiler for Gradle. Built with Gradle 6.5.1. This has also been tested extensively with Gradle version(s): 6.5.1 ** Gradle versions below 2.12 are no longer supported ** Projects applying this plugin require a compile-time dependency on the gosu-core-api library. This version requires Gosu 1.13.9 or greater, or 1.14.2 or greater. Please include this in the depencencies closure: dependencies { compile group: 'org.gosu-lang.gosu', name: 'gosu-core-api', version: '1.14.18' }

gosu, gosu-language, jvm, jvm-languages, language


The Gosu Language

Gosu is a pragmatic programming language for the JVM. It has been designed with Java developers in mind by providing a set of features that allow them to be more productive without sacrificing the benefits of Java's simple syntax and type-safety. Gosu is an object oriented language with a sprinkle of functional programming features.

Gosu features:

  • Open Type System
  • Advanced type inference
  • Program files (scripts containing statements, functions, and classes at the same level)
  • Structural typing (similar TypeScript's interfaces)
  • Extension methods (aka enhancements)
  • Java interoperability
  • Lambda expressions
  • Classes/Interfaces/Enums
  • Generics (reified, covariant type parameters and no wildcards)
  • Composition (with the delegate keyword)
  • Properties
  • Null Safety (supports operator ?. etc.)
  • Named Arguments and Default Parameter Values
  • A powerful for each statement with user-defined intervals types
  • Member Literals
  • Object Initializers
  • Classpath Statement and Shebang (useful when you use Gosu as a scripting language)
  • ...and more

Build instructions

You need Java JDK 1.8 and Maven 3.x to build Gosu. Set the JAVA_HOME environment variable to JDK 1.8's home.

Clone the project from GitHub and run:

mvn compile

To execute tests:

mvn test

To change the version number:

mvn -B release:update-versions -DdevelopmentVersion=1-someValue-SNAPSHOT


  • Download the latest Gosu distribution here.
  • Set the JAVA_HOME environment variable to JDK 1.8's home, if needed.
  • Unzip the distribution zip, go to the bin folder and double click on gosu.cmd (or gosu if you are using Linux/Mac).


Need help getting your project off the ground? Want to discuss features in the next release, among both users and the Gosu team? Participate in our discussion forum or report a bug:


Gosu is released under version 2.0 of the Apache License.