I just upgraded the scala install on my laptop from 2.9.x to the latest 2.10.0 release candidate, and was depressed to discover that broke my crazy netbeans derived ant build scripts (ugh!).
> ant clean Buildfile: C:\Users\pasquini\Documents\Code\littleware\WIP\littleware\webapp\lit tleId\littleId\build.xml config-check: download-ivy: install-ivy: resolveIfNecessary: -pre-init: -init-private: BUILD FAILED C:\Users\pasquini\Documents\Code\littleware\WIP\littleware\webapp\littleId\littl eId\nbproject\build-impl.xml:50: The following error occurred while executing th is line: jar:file:/C:/Program%20Files/Scala/scala-2.10.0-RC5/lib/scala-compiler.jar!/scal a/tools/ant/antlib.xml:5: taskdef A class needed by class scala.tools.ant.FastSc alac cannot be found: scala/reflect/internal/settings/MutableSettings$SettingVal ue using the classloader AntClassLoader[C:\Program Files\Scala\scala-2.10.0-RC5\li b\scala-compiler.jar;C:\Program Files\Scala\scala-2.10.0-RC5\lib\scala-library.j ar] Total time: 2 seconds
Fortunately - the fix was easy. Scala 2.10.x pushes some classes that its ant task depends on to a new scala-reflect jar file, so I added that to the classpath in one of the xml blocks in nbproject/build-impl.xml, and I was back in business:
<property name="scala.compiler" value="${scala.home}/lib/scala-compiler.jar"/> <property name="scala.library" value="${scala.home}/lib/scala-library.jar"/> <property name="scala.lib" value="${scala.home}/lib"/> <taskdef resource="scala/tools/ant/antlib.xml"> <classpath> <pathelement location="${scala.compiler}"/> <pathelement location="${scala.library}"/> <pathelement location="${scala.lib}/scala-reflect.jar"/> </classpath> </taskdef>
Anyway - scala 2.10 looks to be a great release. A lot of people are excited about the "macro" system, but I've been working with the new akka actors, and also look forward to playing around with the futures and promises APIs.
1 comment:
Thanks, this saved my day.
Or at least unless I change to a new Scala Project, because it seems I have to apply the patch to each new project's build-impl.xml file ?
Post a Comment