Skip to content
Programming language that compiles to Jass (the language to create Warcraft III Maps).
Java HTML JavaScript Lua ANTLR CSS
Branch: master
Clone or download
Latest commit ea19790 Feb 16, 2020

README.markdown

WurstScript

Wurstscript is a delicious programming language which can compile to Jass code that is used to power WarCraft III.

Build Status Travis GitHub issues GitHub pull requests Coverage Status

User Documentation

Using WurstScript for your map is easy! Check out the Setup Guide on how to get started. For a formal description of all features, visit the Manual.

Reporting Bugs

Please report any bugs your encounter with our Issue Tracker. Include as much information as possible, ideally with logs. Logfiles are located in your home folder under ~/.wurst/logs. Find the last modified file and pastebin it's contents.

Contributing

See https://github.com/wurstscript/WurstScript/blob/master/CONTRIBUTING.md

System Overview

This repository contains the following sub-projects:

  • de.peeeq.wurstscript
    • The core wurstscript compiler and directly related tools
  • Wurstpack
    • (deprecated) Wurst integration for the Warcraft III World Editor
  • WurstWeb
    • Attempt to provide Wurst capabilities in browsers

IDE support is provided via a VSCode plugin: https://github.com/wurstscript/wurst4vscode

The source for the wurstscript website can be found here: https://github.com/wurstscript/wurstscript.github.io

Build Process

Using Gradle

Simply run the appropriate gradle task using the provided gradle wrapper.

./gradlew compileJava

For deploying .jars and .zips see tasks in deploy.gradle

./gradlew create_zip_wurstpack_compiler

To update your compiler installation use

./gradlew make_for_userdir

Import into IDE

You can import the compiler project into any IDE that provides a gradle plugin, like IntelliJ IDEA or Eclipse. To run the Test Suite, execute AllTests.xml with TestNG.

Updating the version number

  • Change the version in de.peeeq.wurstscript/version.properties.
  • Run gradle task :versionInfoFile
You can’t perform that action at this time.