summaryrefslogtreecommitdiff
path: root/test-nsc.xml
blob: 5fbe1eec2b2e15ec1c0711e9e64772bf2740c023 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<!DOCTYPE project [
  <!ENTITY userExcludes "">
]>
<project name="scala.nsc" default="test">

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

                                    nsc 

                               new scala compiler

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

       %%%
       %%%  Preliminaries
       %%%

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

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

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

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

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

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

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

	   <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="test" depends="init">

    <mkdir dir="${nsc_output_dir}"/>
    
    <echo>==== running nsc on predef and runtime</echo>
    <nsc srcdir="sources" destdir="${nsc_output_dir}" 
         classpath="sources:newsources:${tools_util_runtime_dir}"
		 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_output_dir}" 
         classpath="sources:newsources:${tools_util_runtime_dir}:${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>

  </target>

</project>