This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Re: [Lift] Re: RC5 candidate for the first 2.8.0 beta

4 replies
Kevin Wright
Joined: 2009-06-09,
User offline. Last seen 49 weeks 4 days ago.


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

odersky
Joined: 2008-07-29,
User offline. Last seen 45 weeks 6 days ago.
Re: [Lift] Re: RC5 candidate for the first 2.8.0 beta

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

odersky
Joined: 2008-07-29,
User offline. Last seen 45 weeks 6 days ago.
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

extempore
Joined: 2008-12-17,
User offline. Last seen 35 weeks 3 days ago.
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:

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.

odersky
Joined: 2008-07-29,
User offline. Last seen 45 weeks 6 days ago.
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

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland