<commit_before><?xml version="1.0" encoding="UTF-8"?>

<project name="sabbus" default="build">

  <description>
SuperSabbus for Scala core, builds the scala library and compiler. It can also package it as a simple distribution, tests it for stable bootstrapping and against the Scala test suite.
  </description>

<!-- ===========================================================================
END-USER TARGETS
============================================================================ -->
  
  <target name="build" depends="pack.done"
    description="Builds the Scala compiler and library. Executables are in 'build/pack/bin'."/>
    
  <target name="build-opt"
    description="Builds the optimised Scala compiler and library. Executables are in 'build/pack/bin'.">
    <antcall target="build">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="clean" depends="quick.clean"
    description="Removes binaries of compiler and library. Distributions are untouched."/>

  <target name="test" depends="test.done"
    description="Runs test suite and bootstrapping test on Scala compiler and library."/>

  <target name="test-opt"
    description="Runs test suite and bootstrapping test, everything is optimised (compiler, library, tests).">
    <antcall target="test">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="docs" depends="docs.done"
    description="Builds documentation for the Scala library. Scaladoc is in 'build/scaladoc/library'."/>
  
  <target name="docscomp" depends="docs.comp"
    description="Builds documentation for the Scala compiler and library. Scaladoc is in 'build/scaladoc'."/>
  
  <target name="docsclean" depends="docs.clean"
    description="Removes generated documentation. Distributions are untouched."/>
  
  <target name="dist"
    description="Makes a new distribution and tests it. Will remove existing binaries and documentation.">
    <antcall target="locker.clean"/>
    <antcall target="docs.clean"/>
    <antcall target="all.done"/>
  </target>
  
  <target name="dist-opt"
    description="Makes a new optimised distribution and tests it. Will remove existing binaries and documentation.">
    <antcall target="dist">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="fastdist" depends="dist.done"
    description="Makes a new distribution without testing it or removing partially build elements."/>

  <target name="fastdist-opt"
    description="Makes a new optimised distribution without testing it or removing partially build elements.">
    <antcall target="fastdist">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="distclean" depends="dist.clean"
    description="Removes all distributions. Binaries and documentation are untouched."/>
  
  <target name="replacestarr"
    description="Replaces the Starr compiler and library by fresh ones built from current sources and tests them.">
    <fail message="This target is not available on Windows. Use 'ant replacestarrwin' instead.">
      <condition>
        <os family="windows"/>
      </condition>
    </fail>
    <antcall target="locker.clean"/>
    <antcall target="pack.done"/>
    <antcall target="starr.done"/>
    <antcall target="locker.clean"/>
    <antcall target="test.done"/>
  </target>
  
  <target name="replacestarr-opt"
    description="Replaces the Starr compiler and library by fresh, optimised ones built from current sources and tests them.">
    <antcall target="replacestarr">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <!-- Ant on Windows is not able to delete jar files that are referenced in any <path>.
       See ticket 1290 on trac. -->
  <target name="replacestarrwin"
    description="Creates a new Starr on Windows. Manually execute 'ant locker.clean build' first!">
    <fail message="This target is only available on Windows. Use 'ant replacestarr' instead.">
      <condition>
        <not><os family="windows"/></not>
      </condition>
    </fail>
    <echo message="CAUTION: Make sure to execute 'ant locker.clean build' prior to calling 'replacestarrwin'."/>
    <antcall target="starr.done"/>
    <antcall target="locker.clean"/>
    <antcall target="test.done"/>
  </target>
  
  <target name="replacelocker"
    description="Replaces the Locker compiler and library by fresh ones built from current sources.">
    <antcall target="palo.clean"/>
    <antcall target="unlocklocker"/>
  </target>

  <target name="replacelocker-opt"
    description="Replaces the Locker compiler and library by fresh, optimised ones built from current sources.">
    <antcall target="replacelocker">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="unlocklocker"
    description="Unlocks Locker, allowing its compiler and library to be rebuilt">
    <antcall target="locker.unlock"/>
    <antcall target="palo.done"/>
  </target>

  <target name="newlibs"
    description="Requires compiler libraries (MSIL and FJBG) to be rebuilt. Add this target before any other if class file format is incompatible.">
    <property name="libs.outdated" value="yes"/>
  </target>

<!-- ===========================================================================
PROPERTIES
============================================================================ -->

  <property environment="env"/>
  <!-- Prevents system classpath from being used -->
  <property name="build.sysclasspath" value="ignore"/>

  <!-- Defines the repository layout -->
  <property name="docs.dir" value="${basedir}/docs"/>
  <property name="lib.dir" value="${basedir}/lib"/>
  <property name="lib-ant.dir" value="${lib.dir}/ant"/>
  <property name="src.dir" value="${basedir}/src"/>
  <property name="test.dir" value="${basedir}/test"/>

  <!-- Loads custom properties definitions -->
  <property file="${basedir}/build.properties"/>

  <!-- Additional command line arguments for scalac. They are added to all build targets -->
  <property name="scalac.args" value=""/>
  <property name="javac.args" value=""/>

  <!-- Sets location of pre-compiled libraries -->
  <property name="lib.starr.jar" value="${lib.dir}/scala-library.jar"/>
  <property name="comp.starr.jar" value="${lib.dir}/scala-compiler.jar"/>
  <property name="jline.jar" value="${lib.dir}/jline.jar"/>
  <property name="ant.jar" value="${ant.home}/lib/ant.jar"/>

  <!-- Sets location of build folders -->
  <property name="build.dir" value="${basedir}/build"/>
  <property name="build-locker.dir" value="${build.dir}/locker"/>
  <property name="build-palo.dir" value="${build.dir}/palo"/>
  <property name="build-quick.dir" value="${build.dir}/quick"/>
  <property name="build-pack.dir" value="${build.dir}/pack"/>
  <property name="build-strap.dir" value="${build.dir}/strap"/>
  <property name="build-docs.dir" value="${build.dir}/scaladoc"/>
  <property name="build-libs.dir" value="${build.dir}/libs"/>

  <property name="dists.dir" value="${basedir}/dists"/>

  <property name="copyright.string" value="Copyright 2002-2009, LAMP/EPFL"/>
  <property name="partest.version.number" value="0.9.2"/>

  <!-- These are NOT the flags used to run SuperSabbus, but the ones written
       into the script runners created with scala.tools.ant.ScalaTool -->
  <property name="java.flags" value="-Xmx256M -Xms32M"/>

  <!-- if ANT_OPTS is already set by the environment, it will be unaltered,
       but if it is unset it will take this default value. -->
  <property name="env.ANT_OPTS" value="-Xms512M -Xmx1024M -Xss1M -XX:MaxPermSize=128M" />
  <!--  to find max heap usage: -Xaprof ; currently at 980M for locker.comp -->

  <property
      name="scalacfork.jvmargs"
      value="${env.ANT_OPTS}"/>

  <property name="javac.cmd" value="${env.JAVA_HOME}/bin/javac"/>
  <property name="java.cmd" value="${env.JAVA_HOME}/bin/java"/>

<!-- ===========================================================================<commit_msg>Added a line to build.xml to echo the value of ...<commit_after><?xml version="1.0" encoding="UTF-8"?>

<project name="sabbus" default="build">

  <description>
SuperSabbus for Scala core, builds the scala library and compiler. It can also package it as a simple distribution, tests it for stable bootstrapping and against the Scala test suite.
  </description>

<!-- ===========================================================================
END-USER TARGETS
============================================================================ -->
  
  <target name="build" depends="pack.done"
    description="Builds the Scala compiler and library. Executables are in 'build/pack/bin'."/>
    
  <target name="build-opt"
    description="Builds the optimised Scala compiler and library. Executables are in 'build/pack/bin'.">
    <antcall target="build">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="clean" depends="quick.clean"
    description="Removes binaries of compiler and library. Distributions are untouched."/>

  <target name="test" depends="test.done"
    description="Runs test suite and bootstrapping test on Scala compiler and library."/>

  <target name="test-opt"
    description="Runs test suite and bootstrapping test, everything is optimised (compiler, library, tests).">
    <antcall target="test">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="docs" depends="docs.done"
    description="Builds documentation for the Scala library. Scaladoc is in 'build/scaladoc/library'."/>
  
  <target name="docscomp" depends="docs.comp"
    description="Builds documentation for the Scala compiler and library. Scaladoc is in 'build/scaladoc'."/>
  
  <target name="docsclean" depends="docs.clean"
    description="Removes generated documentation. Distributions are untouched."/>
  
  <target name="dist"
    description="Makes a new distribution and tests it. Will remove existing binaries and documentation.">
    <antcall target="locker.clean"/>
    <antcall target="docs.clean"/>
    <antcall target="all.done"/>
  </target>
  
  <target name="dist-opt"
    description="Makes a new optimised distribution and tests it. Will remove existing binaries and documentation.">
    <antcall target="dist">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="fastdist" depends="dist.done"
    description="Makes a new distribution without testing it or removing partially build elements."/>

  <target name="fastdist-opt"
    description="Makes a new optimised distribution without testing it or removing partially build elements.">
    <antcall target="fastdist">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="distclean" depends="dist.clean"
    description="Removes all distributions. Binaries and documentation are untouched."/>
  
  <target name="replacestarr"
    description="Replaces the Starr compiler and library by fresh ones built from current sources and tests them.">
    <fail message="This target is not available on Windows. Use 'ant replacestarrwin' instead.">
      <condition>
        <os family="windows"/>
      </condition>
    </fail>
    <antcall target="locker.clean"/>
    <antcall target="pack.done"/>
    <antcall target="starr.done"/>
    <antcall target="locker.clean"/>
    <antcall target="test.done"/>
  </target>
  
  <target name="replacestarr-opt"
    description="Replaces the Starr compiler and library by fresh, optimised ones built from current sources and tests them.">
    <antcall target="replacestarr">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <!-- Ant on Windows is not able to delete jar files that are referenced in any <path>.
       See ticket 1290 on trac. -->
  <target name="replacestarrwin"
    description="Creates a new Starr on Windows. Manually execute 'ant locker.clean build' first!">
    <fail message="This target is only available on Windows. Use 'ant replacestarr' instead.">
      <condition>
        <not><os family="windows"/></not>
      </condition>
    </fail>
    <echo message="CAUTION: Make sure to execute 'ant locker.clean build' prior to calling 'replacestarrwin'."/>
    <antcall target="starr.done"/>
    <antcall target="locker.clean"/>
    <antcall target="test.done"/>
  </target>
  
  <target name="replacelocker"
    description="Replaces the Locker compiler and library by fresh ones built from current sources.">
    <antcall target="palo.clean"/>
    <antcall target="unlocklocker"/>
  </target>

  <target name="replacelocker-opt"
    description="Replaces the Locker compiler and library by fresh, optimised ones built from current sources.">
    <antcall target="replacelocker">
      <param name="scalac.args.optimise" value="-optimise"/>
    </antcall>
  </target>

  <target name="unlocklocker"
    description="Unlocks Locker, allowing its compiler and library to be rebuilt">
    <antcall target="locker.unlock"/>
    <antcall target="palo.done"/>
  </target>

  <target name="newlibs"
    description="Requires compiler libraries (MSIL and FJBG) to be rebuilt. Add this target before any other if class file format is incompatible.">
    <property name="libs.outdated" value="yes"/>
  </target>

<!-- ===========================================================================
PROPERTIES
============================================================================ -->

  <property environment="env"/>
  <!-- Prevents system classpath from being used -->
  <property name="build.sysclasspath" value="ignore"/>

  <!-- Defines the repository layout -->
  <property name="docs.dir" value="${basedir}/docs"/>
  <property name="lib.dir" value="${basedir}/lib"/>
  <property name="lib-ant.dir" value="${lib.dir}/ant"/>
  <property name="src.dir" value="${basedir}/src"/>
  <property name="test.dir" value="${basedir}/test"/>

  <!-- Loads custom properties definitions -->
  <property file="${basedir}/build.properties"/>

  <!-- Additional command line arguments for scalac. They are added to all build targets -->
  <property name="scalac.args" value=""/>
  <property name="javac.args" value=""/>

  <!-- Sets location of pre-compiled libraries -->
  <property name="lib.starr.jar" value="${lib.dir}/scala-library.jar"/>
  <property name="comp.starr.jar" value="${lib.dir}/scala-compiler.jar"/>
  <property name="jline.jar" value="${lib.dir}/jline.jar"/>
  <property name="ant.jar" value="${ant.home}/lib/ant.jar"/>

  <!-- Sets location of build folders -->
  <property name="build.dir" value="${basedir}/build"/>
  <property name="build-locker.dir" value="${build.dir}/locker"/>
  <property name="build-palo.dir" value="${build.dir}/palo"/>
  <property name="build-quick.dir" value="${build.dir}/quick"/>
  <property name="build-pack.dir" value="${build.dir}/pack"/>
  <property name="build-strap.dir" value="${build.dir}/strap"/>
  <property name="build-docs.dir" value="${build.dir}/scaladoc"/>
  <property name="build-libs.dir" value="${build.dir}/libs"/>

  <property name="dists.dir" value="${basedir}/dists"/>

  <property name="copyright.string" value="Copyright 2002-2009, LAMP/EPFL"/>
  <property name="partest.version.number" value="0.9.2"/>

  <!-- These are NOT the flags used to run SuperSabbus, but the ones written
       into the script runners created with scala.tools.ant.ScalaTool -->
  <property name="java.flags" value="-Xmx256M -Xms32M"/>

  <!-- if ANT_OPTS is already set by the environment, it will be unaltered,
       but if it is unset it will take this default value. -->
  <property name="env.ANT_OPTS" value="-Xms512M -Xmx1024M -Xss1M -XX:MaxPermSize=128M" />
  <!--  to find max heap usage: -Xaprof ; currently at 980M for locker.comp -->
  <echo message="Using ANT_OPTS: ${env.ANT_OPTS}" />

  <property
      name="scalacfork.jvmargs"
      value="${env.ANT_OPTS}"/>

  <property name="javac.cmd" value="${env.JAVA_HOME}/bin/javac"/>
  <property name="java.cmd" value="${env.JAVA_HOME}/bin/java"/>

<!-- ===========================================================================
{'fraction_non_alphanumeric': 0.1902100479056627, 'fraction_numerical': 0.004544896204397494, 'mean_word_length': 4.172490470139771, 'pattern_counts': {'":': 0, '<': 258, '<?xml version=': 2, '>': 256, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 3}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6553256', 'n_tokens_mistral': 4761, 'n_tokens_neox': 4536, 'n_words': 1348}