Last modified by Ravi Mendis on 2010/03/01 16:59

Show last authors
1 === Step1. Setup Properties for Scalac Task ===
2
3 You may edit (or add to) the {{code language="none"}}init.properties{{/code}} Ant target in order to set up the appropriate properties for the {{code language="none"}}scalac{{/code}} Ant task.
4
5 {{code 0="xml"}}
6
7 <property name="scala-library.jar" value="${scala.home}/lib/scala-library.jar" />
8
9 <path id="build.classpath">
10 <pathelement location="${scala-library.jar}" />
11 <pathelement location="${wo.local.frameworks}/ERExtensions.framework/Resources/Java/ERExtensions.jar" />
12 <pathelement location="${wo.local.frameworks}/ERJars.framework/Resources/Java/log4j-1.2.14.jar" />
13 <pathelement location="${wo.system.frameworks}/JavaWebObjects.framework/Resources/Java/javawebobjects.jar" />
14 <pathelement location="${wo.system.frameworks}/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar" />
15 <pathelement location="${wo.system.frameworks}/JavaEOControl.framework/Resources/Java/javaeocontrol.jar" />
16 <pathelement location="${wo.system.frameworks}/JavaFoundation.framework/Resources/Java/javafoundation.jar" />
17 <pathelement location="${wo.local.frameworks}/ERAttachment.framework/Resources/Java/ERAttachment.jar" />
18 <!--pathelement location="Other custom framework path, etc" /-->
19
20 <pathelement location="bin" />
21 <fileset dir="Libraries">
22 <include name="*.jar" />
23 </fileset>
24 <fileset dir="${wo.extensions}">
25 <include name="*.jar" />
26 </fileset>
27 </path>
28
29 <taskdef resource="scala/tools/ant/antlib.xml">
30 <classpath>
31 <pathelement location="${scala.home}/lib/scala-compiler.jar" />
32 <pathelement location="${scala-library.jar}" />
33 </classpath>
34 </taskdef>
35
36 {{/code}}
37
38 ===== Notes: =====
39
40 1. The first block of {{code language="none"}}pathelements{{/code}} define the classpaths required by the scala compiler.
41 1. The {{code language="none"}}taskdef{{/code}} sets up the Ant scalac task
42
43 === Step2. Edit the {{code language="none"}}compile{{/code}} Target ===
44
45 Add the {{code language="none"}}scalac{{/code}} task to the {{code language="none"}}compile{{/code}} target. Make sure that it's placed after the {{code language="none"}}mkdir{{/code}} task:
46
47 {{code 0="xml"}}
48
49 <scalac srcdir="Sources" destdir="bin" classpathref="build.classpath">
50 <include name="**/*.scala" />
51 </scalac>
52
53 {{/code}}
54
55 === Step3. Add an {{code language="none"}}<otherclasspath>{{/code}} entry for {{code language="none"}}scala-library.jar{{/code}} ===
56
57 In the {{code language="none"}}build.woapp{{/code}} target, add the following entry to add Scala to the built classpath for your WebObjects app.
58
59 {{code 0="xml"}}
60
61 <otherclasspath root="${scala.home}">
62 <include name="lib/scala-library.jar" />
63 </otherclasspath>
64
65 {{/code}}
66
67 === Step4. Add {{code language="none"}}scala.home{{/code}} to {{code language="none"}}build.properties{{/code}} ===
68
69 Finally, you must set the {{code language="none"}}scala.home{{/code}} property in the {{code language="none"}}build.properties{{/code}} file.
70 This is the location of the Scala installation on your system. e.g: {{code language="none"}}/usr/share/scala{{/code}}