summaryrefslogblamecommitdiff
path: root/test-nsc.xml
blob: 221040353b70974d706f3fad0df9875564aea1fb (plain) (tree)
1
                                      




















                                                                            
                                                                    
 
                                                              
 


                                                       
 


                                            
 




































                                                                                                             
 

                                               
 
                                                                          
 
                                                       

                                                          






                                                        

                                                                             











                                                        






                                                                      
 

                                          


           
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE project [
  <!ENTITY userExcludes "">
]>
<project name="scala.nsc" default="test">

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

                                    nsc 

                               new scala compiler

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

       %%%
       %%%  Preliminaries
       %%%

	   1) working nsc compiler (see build-nsc.xml)

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

  <property file="build-nsc.properties.${platform}" prefix="nsc." />

  <property file="developer/${user.name}/custom.properties" />

  <target name="init.args" if="nscArgs">
     <property name="moreNscArgs" value="${nscArgs}" />
  </target>

  <target name="init.noargs">
    <property name="moreNscArgs" value="" />
  </target>

   <target name="init" depends="init.args, init.noargs">
     <echo> Hi, I am your helpful test script. Passing options to nsc?</echo>
     <echo> Either, add a line to developer/${user.name}/custom.properties</echo>
     <echo>   nscArgs = -check:term;-debug </echo>
     <echo> or set a property nscArgs on the cmd line</echo>
     <echo>   sh ant-test-nsc.sh -DnscArgs="-check:term;-debug" </echo>
     <echo/>
     <echo> Note the hyphens, the quotes on the cmd line, no spaces between options, the ';' separator</echo>
   </target>

  <target name="check.env">
    <fail>
      <condition><not><available file="${nsc.fjbg_jar}" /></not></condition>
      Missing library file ${nsc.fjbg_jar}.
      Check your property file build-nsc.properties.${platform}.
    </fail>
    <fail>
      <condition><not><available file="${nsc.scala_jar}" /></not></condition>
      Missing library file ${nsc.scala_jar}.
      Check your property file build-nsc.properties.${platform}.
    </fail>
    <fail>
      <condition><not><available file="${nsc.tools_jar}" /></not></condition>
      Missing library file ${nsc.tools_jar}.
      Check your property file build-nsc.properties.${platform}.
    </fail>
    <fail>
      <condition><not><available file="${nsc.nsc_jar}" /></not></condition>
      Missing library file ${nsc.nsc_jar}.
      Check your property file build-nsc.properties.${platform}.
    </fail>
    <fail>
      <condition><not><available file="${nsc.nsc4ant_jar}" /></not></condition>
      Missing library file ${nsc.nsc4ant_jar}.
      Check your property file build-nsc.properties.${platform}.
    </fail>
  </target>

  <target name="test" depends="init,check.env">
    <mkdir dir="${nsc.nsc_output_dir}" />

    <taskdef name="nsc" classname="scala.tools.scala4ant.NscTask$class" />

    <echo>==== running nsc on predef and runtime</echo>
    <nsc srcdir="sources" destdir="${nsc.nsc_output_dir}" 
         classpath="sources:newsources:${nsc.nsrt_jar}"
		 nscArgs="-nopredefs;${moreNscArgs}">

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

    <echo>===== running nsc on the rest</echo>
    <nsc srcdir="sources" destdir="${nsc.nsc_output_dir}" 
         classpath="sources:newsources:${nsc.nsrt_jar}:${nsc.nsc_output_dir}"
         nscArgs="${moreNscArgs}" 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/**"/>
	  &userExcludes;
    </nsc>

    <!-- couldn't get parameter "update" to work on Windows (mics) -->
    <jar destfile="${nsc.nsrt_jar}">
      <fileset dir="${nsc.tools_util_runtime_dir}" />
      <fileset dir="${nsc.nsc_output_dir}" />
    </jar>

  </target>

  <target name="clean">
    <delete dir="${nsc.nsc_output_dir}" />
  </target>

</project>