- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Re: [Lift] Re: RC5 candidate for the first 2.8.0 beta
Tue, 2009-12-22, 15:45
2009/12/22 David Bernard <david.bernard.31@gmail.com>
Dirty solutions (If you already have maven installed and be able to build lift with maven) :
0. replace $HOME/.m2/repository/org/scala-lang/scala-compiler/2.8.0-SNAPSHOT/scala-compiler-2.8.0-SNAPSHOT.jar by symlink to the directory with classes result from scalac scalac compilation
1. Or at the end of scalac scalac compilation create a jar and copy (override) t in place of .m2/..../scala-compiler/2.8.0-SNAPSHOT/scala-compiler-2.8.0-SNAPSHOT.jar
2. Or you could run maven with the -Dmaven.scala.displayCmd=true then the command line used to build will be displayed.
Copy the line into a .sh/.cmd
Modifie the location scala .jar to use the output of your scalac scalac compilation.
The catch here is if there's a line-length limit in your OS - the classpath gets truncated and then it all goes pear-shaped...
Notes :
* the call of scalac is wrapped into a main able to handle a long list of arguments from file (working with any version of scala).
* maven-scala-plugin was created to used classes (scalac) packaged into jar
Sorry to not provide a better solution.
/davidB
On Tue, Dec 22, 2009 at 15:16, martin odersky <martin.odersky@epfl.ch> wrote:
On Tue, Dec 22, 2009 at 2:35 PM, Josh Suereth <joshua.suereth@gmail.com> wrote:
> For curiousities sake, if you're building using fsc, are you running scalac
> via an exploded classpath (i.e. not a JAR file?). If so, I'll try to come
> up with a longer-term solution for this.
Yes, exactly. My usual setup is that my output directory is the first
item on the classpath. So any files I recompile get chosen first.
>
> If we allowed you to do the following:
>
> mvn reactor:make -Dmake.artifacts=net.liftweb:lift-mapper -P local-scala
> -Dscala.local.classpath=classfiledir
>
> would that be sufficient? We could also have this do conditional
> computation in the future.
Does that mean that the scala compiler would then be run out of
classfiledir? Yes, that could work.
Cheers
Tue, 2009-12-22, 17:57
#2
Re: [Lift] Re: RC5 candidate for the first 2.8.0 beta
I just verified that it did indeed use 2.7.7, because the generated
classfiles still have version 4.1.
My new strategy is to build with the last working RC3, and then
recompile just the failing file with the current compiler and all lift
classes on the classpath. That should work.
But I need to know how to build lift with a 2.8.0 compiler. Or
alternatively, if a kind soul can send me a lift 2.8.0 tarball with
all the classfiles in there I can take it from there.
Thanks
Tue, 2009-12-22, 19:17
#3
Re: [Lift] Re: RC5 candidate for the first 2.8.0 beta
On Tue, Dec 22, 2009 at 05:45:52PM +0100, martin odersky wrote:
> But I need to know how to build lift with a 2.8.0 compiler. Or
> alternatively, if a kind soul can send me a lift 2.8.0 tarball with
> all the classfiles in there I can take it from there.
FYI until you have git you can always download a tarball snapshot of the
current head at github. There's a "download" link here:
Except you need the 280_port branch, so here:
http://github.com/dpp/liftweb/tree/280_port
And that download link goes here:
http://github.com/dpp/liftweb/tarball/12d1bf0697c9c792c8c91416989a0ef7e2...
Assuming that gets the files it should, typing "mvn install" will try to
build with 2.80 Beta1 RC3. To use RC5 edit pom.xml with this diff:
- 2.8.0.Beta1-RC3
+ 2.8.0.Beta1-RC5
Instructions from earlier in this thread should get you to the point
where you can build with the local compiler.
Tue, 2009-12-22, 19:37
#4
Re: [Lift] Re: RC5 candidate for the first 2.8.0 beta
On Tue, Dec 22, 2009 at 7:12 PM, Paul Phillips wrote:
> On Tue, Dec 22, 2009 at 05:45:52PM +0100, martin odersky wrote:
>> But I need to know how to build lift with a 2.8.0 compiler. Or
>> alternatively, if a kind soul can send me a lift 2.8.0 tarball with
>> all the classfiles in there I can take it from there.
>
> FYI until you have git you can always download a tarball snapshot of the
> current head at github. There's a "download" link here:
>
> http://github.com/dpp/liftweb
>
> Except you need the 280_port branch, so here:
>
> http://github.com/dpp/liftweb/tree/280_port
>
> And that download link goes here:
>
> http://github.com/dpp/liftweb/tarball/12d1bf0697c9c792c8c91416989a0ef7e2...
>
> Assuming that gets the files it should, typing "mvn install" will try to
> build with 2.80 Beta1 RC3. To use RC5 edit pom.xml with this diff:
>
> - 2.8.0.Beta1-RC3
> + 2.8.0.Beta1-RC5
>
> Instructions from earlier in this thread should get you to the point
> where you can build with the local compiler.
>
yes I got that working. The problem was that the download at 280_port
was not 280_port but (I guess) 280_dev. That got me stuck for a while,
but we sorted it out eventually.
Cheers
Thanks for all the help. I tried to do
mvn clean
mvn install
After upgrading to maven 2.2.1, I got somewhere. It compiled a bunch
of packages including lift-mapper, so it seems it did not in fact take
RC6 as its compiler?
But then it stopped due to a build error here.
Any idea what I need to do to solve this?
Thanks