<commit_before><project name="scala.nsc" default="build.nsc">

  <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

                                    nsc 

                               new scala compiler

       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

       %%%
       %%%  Preliminaries
       %%%

	   1) working scala compiler ($fjbg.jar, $scala.jar and $tools.jar)

	   if you want to use the latest CVS one, type 

       make jar target=LIBRARY
       make jar target=TOOLS

	   and set the variables to the places in your projectoutputdir

	   2) working pizza compiler ($jaco.jar)

   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->

  <!-- %%% properties and taskdefs %%%-->

  <property file="build-nsc.properties"/>

  <!-- taskdefs to call compilers -->
  
  <taskdef name="scalac" classname="scala.tools.scala4ant.ScalacTask$class"/>

  <available classname="scala.tools.scala4ant.NscTask$class"
             property="nsc4ant.present"/>

  <!-- taskdef for nsc comes later, because has to be compiled before -->

  <target name="build.nsc">
    <mkdir dir="${tools_util_dir}"/>

    <taskdef name="pico"   classname="jaco.pizza.AntTask"/>

    <pico srcdir="sources" destdir="${tools_util_dir}" source="1.4" scalaHack="true">
      <include name="scala/*.java"/>
      <include name="scala/runtime/*.java"/>
      <include name="scala/runtime/**/*.java"/>
      <include name="scala/tools/util/*.java"/>

      <exclude name="scala/ScalaObject.java"/>
      <exclude name="scala/Array.java"/>
    </pico> 

    <!-- we do *not* want the ScalaObject.class file,
         because in nsc's eyes ScalaObject is a scala file. -->

    <delete file="${tools_util_dir}/scala/ScalaObject.class"/>
    <delete file="${tools_util_dir}/scala/Array.class"/>

    <mkdir dir="${nsc_dir}"/>
    <scalac srcdir="sources" destdir="${nsc_dir}" 
            classpath="${tools_util_dir}" sourcePath="sources" force="true">
      <!-- force = "true" always recompiles all source files, because 
           scalac does not always go find the latest source file (*3) -->

      <include name="scala/tools/nsc/**/*.scala"/>
	  <exclude name="scala/tools/nsc/backend/**"/>
    </scalac>

    <mkdir  dir="${jars_dir}"/>
    <jar    destfile="${jars_dir}/nsc.jar" basedir="${nsc_dir}"/>

  </target>


  <target name="clean">
    <delete dir="${tools_util_dir}"/>
    <delete dir="${nsc_dir}"/>
  </target>


  <!-- builds NscTask for use in this ant file -->

  <target name="build.nsc4ant">

    <mkdir  dir="${nsc4ant_dir}"/>
    <scalac srcdir="sources" destdir="${nsc4ant_dir}/" sourcePath="sources"
            classpath="${ant_jar}:${nsc_dir}:${tools_util_dir}:objects/main/lib/scala" >
      <include name="scala/tools/scala4ant/NscAdaptor.scala"/>
      <include name="scala/tools/scala4ant/NscTask.scala"/>
    </scalac>

    <jar destfile="${jars_dir}/nsc4ant.jar" basedir="${nsc4ant_dir}"/>
  </target>

  <!-- target to define `nsc' task using NscTask$class -->  

  <target name="define.nsc"     if = "nsc4ant.present">
    <taskdef name="nsc"    classname="scala.tools.scala4ant.NscTask$class"/>
  </target>

  <!-- if NscTask$class not found, give error message -->  

  <target name="need.nsc"   unless = "nsc4ant.present">
    <echo message="please call build.nsc4ant in a separate run"/>
  </target>

  <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        
       test                   test nsc compiler 

       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->

  <target name="test" depends="need.nsc, define.nsc">
    <taskdef name="nsc"
             classname="scala.tools.scala4ant.NscTask$class"/>

    <mkdir dir="${nsc_output_dir}"/>
    
    <echo>Compiling predef and runtime</echo>
    <nsc srcdir="sources" destdir="${nsc_output_dir}" 
         classpath="sources:newsources:${tools_util_dir}"
         nscArgs="-nopredefs;-check:term;-check:transmatch;-debug">

      <include name="scala/Predef.scala"/>
      <include name="scala/runtime/ScalaRunTime.scala"/>
    </nsc>

    <echo>Compiling rest</echo>
    <nsc srcdir="sources" destdir="${nsc_output_dir}" 
         classpath="sources:newsources:${tools_util_dir}:${nsc_output_dir}"
         nscArgs="-check:term;-check:transmatch;-debug" force="true"> 

      <include name="scala/**/*.scala"/>
      <include name="../newsources/**.scala"/>

      <exclude name="scala/Predef.scala"/>
      <exclude name="scala/runtime/ScalaRunTime.scala"/>

      <exclude name="scala/tools/**"/>
      <exclude name="scala/io/UTF8String.scala"/>
    </nsc>

  </target>
  <!--
    (*3) for Java, and pico, files are only recompiled if the source file is<commit_msg>clean up, separated test from build script<commit_after><!DOCTYPE project [
  <!ENTITY userExcludes "">
]>

<project name="scala.nsc" default="build.nsc">

  <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

                                    nsc 

                               new scala compiler

       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

       %%%
       %%%  Preliminaries
       %%%

	   1) working scala compiler ($fjbg.jar, $scala.jar and $tools.jar)

	   if you want to use the latest CVS one, type 

       make jar target=LIBRARY
       make jar target=TOOLS

	   and set the variables to the places in your projectoutputdir

	   2) working pizza compiler ($jaco.jar)

   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->

  <!-- %%% properties and taskdefs %%%-->

  <property file="build-nsc.properties"/>

  <!-- taskdefs to call compilers -->
  
  <taskdef name="scalac" classname="scala.tools.scala4ant.ScalacTask$class"/>

  <available classname="scala.tools.scala4ant.NscTask$class"
             property="nsc4ant.present"/>

  <!-- taskdef for nsc comes later, because has to be compiled before -->

  <target name="build.nsc">
    <mkdir dir="${tools_util_runtime_dir}"/>

    <taskdef name="pico"   classname="jaco.pizza.AntTask"/>

    <pico srcdir="sources" destdir="${tools_util_runtime_dir}" source="1.4" scalaHack="true">
      <include name="scala/*.java"/>
      <include name="scala/runtime/*.java"/>
      <include name="scala/runtime/**/*.java"/>
      <include name="scala/tools/util/*.java"/>

      <exclude name="scala/ScalaObject.java"/>
      <exclude name="scala/Array.java"/>
    </pico> 

    <!-- we do *not* want the ScalaObject.class file,
         because in nsc's eyes ScalaObject is a scala file. -->

    <delete file="${tools_util_runtime_dir}/scala/ScalaObject.class"/>
    <delete file="${tools_util_runtime_dir}/scala/Array.class"/>

    <mkdir dir="${nsc_dir}"/>
    <scalac srcdir="sources" destdir="${nsc_dir}" 
            classpath="${tools_util_runtime_dir}" sourcePath="sources" force="true">
      <!-- force = "true" always recompiles all source files, because 
           scalac does not always go find the latest source file (*3) -->

      <include name="scala/tools/nsc/**/*.scala"/>
	  &userExcludes;
    </scalac>

    <mkdir  dir="${jars_dir}"/>
    <jar    destfile="${jars_dir}/nsc.jar" basedir="${nsc_dir}"/>

  </target>


  <target name="clean">
    <delete dir="${tools_util_runtime_dir}"/>
    <delete dir="${nsc_dir}"/>
  </target>


  <!-- builds NscTask for use in this ant file -->

  <target name="build.nsc4ant">

    <mkdir  dir="${nsc4ant_dir}"/>
    <scalac srcdir="sources" destdir="${nsc4ant_dir}/" sourcePath="sources"
            classpath="${ant_jar}:${nsc_dir}:${tools_util_runtime_dir}:${scala_jar}" >
      <include name="scala/tools/scala4ant/NscAdaptor.scala"/>
      <include name="scala/tools/scala4ant/NscTask.scala"/>
    </scalac>

    <jar destfile="${jars_dir}/nsc4ant.jar" basedir="${nsc4ant_dir}"/>
  </target>

  <!--
    (*3) for Java, and pico, files are only recompiled if the source file is
{'fraction_non_alphanumeric': 0.2239314083974278, 'fraction_numerical': 0.004791325179674694, 'mean_word_length': 3.116242864556305, 'pattern_counts': {'":': 0, '<': 123, '<?xml version=': 0, '>': 121, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3043196', 'n_tokens_mistral': 2631, 'n_tokens_neox': 2396, 'n_words': 498}