<commit_before># Metaborg release engineering

This repository contains all sub-repositories, projects, and scripts required to build our Java components, Spoofax, and Sunshine.

# Short build description

This description skips over details and just provides the commands to build Spoofax and Sunshine. See the next section for a detailed description of the builds.

Execute the following commands:

    git clone https://github.com/metaborg/spoofax-releng.git
    cd spoofax-releng
    git submodule update --init --remote
    
    cd spoofax-deploy/org.metaborg.maven.build.strategoxt
    ./build.sh -u
    cd ..
    cd org.metaborg.maven.build.java
    ./build.sh
    cd ..
    cd org.metaborg.maven.build.spoofax.eclipse
    ./build.sh
    cd ..
    cd org.metaborg.maven.build.spoofax.sunshine
    ./build.sh
    
The Spoofax update site can be found at:

    spoofax-deploy/org.strategoxt.imp.updatesite/target/site
    
The Sunshine JAR can be found at:

    spoofax-sunshine/org.spoofax.sunshine/target/org.metaborg.sunshine-<VERSION>.jar
    
# Detailed build description

This is the detailed description, going over requirements and explaining each step in more detail.

## Supported platforms

Linux and OSX are supported, Windows is currently not supported.

## Requirements

Building anything requires Git 1.8.2 or higher, the Java Development Kit (JDK) 7 or higher, Maven 3.2 or higher, and wget. Building is only supported on the OSX platform at this moment.

**Git.** Git is required to check out the source code from our GitHub repositories. Instructions on how to install Git for your platform can be found here: <http://git-scm.com/downloads>. If you run OSX and have [Homebrew](http://brew.sh/) installed, you can install Git by executing `brew install git`. Be sure that your Git version is 1.8.2 or higher, which you can confirm by executing `git version` on the command line.

**JDK.** Spoofax is programmed in Java 7, so an installation of Java 7 is required. Maven, the build system that we use, requires the JDK to be installed, the JRE is not enough. The latest JDK can be downloaded and installed from: <http://www.oracle.com/technetwork/java/javase/downloads/index.html>.

On OSX, it can be a bit tricky to use the installed JDK, because Apple by default installs JRE 6. To check which version of Java you are running, execute the `java -version` command. If this tells you that the Java version is 1.7 or higher, everything is fine. If not, the Java version can be set with a command. If you have installed JDK 7, execute:

    export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
    
If you have installed JDK 8, execute:

    export JAVA_HOME=`/usr/libexec/java_home -v 1.8`<commit_msg>Linux is supported now.<commit_after># Metaborg release engineering

This repository contains all sub-repositories, projects, and scripts required to build our Java components, Spoofax, and Sunshine.

# Short build description

This description skips over details and just provides the commands to build Spoofax and Sunshine. See the next section for a detailed description of the builds.

Execute the following commands:

    git clone https://github.com/metaborg/spoofax-releng.git
    cd spoofax-releng
    git submodule update --init --remote
    
    cd spoofax-deploy/org.metaborg.maven.build.strategoxt
    ./build.sh -u
    cd ..
    cd org.metaborg.maven.build.java
    ./build.sh
    cd ..
    cd org.metaborg.maven.build.spoofax.eclipse
    ./build.sh
    cd ..
    cd org.metaborg.maven.build.spoofax.sunshine
    ./build.sh


The Spoofax update site can be found at:

    spoofax-deploy/org.strategoxt.imp.updatesite/target/site


The Sunshine JAR can be found at:

    spoofax-sunshine/org.spoofax.sunshine/target/org.metaborg.sunshine-<VERSION>.jar
    
# Detailed build description

This is the detailed description, going over requirements and explaining each step in more detail.

## Supported platforms

Linux and OSX are supported, Windows is currently not supported.

## Requirements

Building anything requires Git 1.8.2 or higher, the Java Development Kit (JDK) 7 or higher, Maven 3.2 or higher, and wget.

**Git.** Git is required to check out the source code from our GitHub repositories. Instructions on how to install Git for your platform can be found here: <http://git-scm.com/downloads>. If you run OSX and have [Homebrew](http://brew.sh/) installed, you can install Git by executing `brew install git`. Be sure that your Git version is 1.8.2 or higher, which you can confirm by executing `git version` on the command line.

**JDK.** Spoofax is programmed in Java 7, so an installation of Java 7 is required. Maven, the build system that we use, requires the JDK to be installed, the JRE is not enough. The latest JDK can be downloaded and installed from: <http://www.oracle.com/technetwork/java/javase/downloads/index.html>.

On OSX, it can be a bit tricky to use the installed JDK, because Apple by default installs JRE 6. To check which version of Java you are running, execute the `java -version` command. If this tells you that the Java version is 1.7 or higher, everything is fine. If not, the Java version can be set with a command. If you have installed JDK 7, execute:

    export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
    
If you have installed JDK 8, execute:

    export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
{'fraction_non_alphanumeric': 0.07441860465116279, 'fraction_numerical': 0.0074418604651162795, 'mean_word_length': 3.5520745131244706, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1479437', 'n_tokens_mistral': 1652, 'n_tokens_neox': 1534, 'n_words': 695}