So you want to be a Shadow developer?

Great! We could sure use the help. Right now, we have two active projects, the Shadow reference compiler and the Shadow Eclipse plug-in.

Shadow Compiler

The Shadow compiler is written in Java, using ANTLR 4 to parse source files and generate abstract syntax trees. We use Maven as our build manager. Most of us use Eclipse for development. You need a Java 7 JDK or higher, Maven, and LLVM installed. See the Downloads page for more information about installing LLVM on your platform.

The GitHub site for the Shadow compiler is below.

To get the compiler working, follow these steps:

  1. Clone the Git repository (and import the project into Eclipse if you'd like)
  2. Maven clean (mvn clean)
  3. Maven generate sources (mvn generate-sources)

Then, you should have a runnable compiler. Try running all the JUnit tests in src/test/java. If you want to generate the executable JAR for the compiler, use Maven package (mvn package or mvn -DskipTests=true package to skip running tests).

Please use the compiler issues page to report any issues you find.

Shadow Eclipse Plug-in

The Shadow Eclipse plugin is also written in Java. To work on it, you'll need the Eclipse Plug-in Development Environment (PDE), which is included in the Eclipse SDK or can be installed through Eclipse.

The GitHub site for the Shadow Eclipse plugin is below.