/WurstScript

Programming language that compiles to Jass (the language to create Warcraft III Maps).

Primary LanguageJavaApache License 2.0Apache-2.0

WurstScript

Wurstscript is a programming language which can compile to Jass code which is used in WarCraft III.

Build Status Travis GitHub issues GitHub pull requests

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 operating system's Temp folder under wurst. Find the last modified file and copy it's contents.

Contributing

We gladly welcome any contributions - however it is highly recommended to contact us prior to starting your contribution.

You can do this by either creating a ticket with our Issue Tracker or contacting us directly and then create the pull request after the task was accepted. For small changes you can also directly make a pull request, but bigger unannounced PRs might not be merged.

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 tests.wurstscript.tests.AllTests as JUnit test.

Updating the version number

  • Change the version in de.peeeq.wurstscript/version.properties.
  • Run gradle task :versionInfoFile