New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump to sbt 0.13. #1537

Merged
merged 7 commits into from May 30, 2014

Conversation

Projects
None yet
8 participants
@farmdawgnation
Copy link
Member

farmdawgnation commented Apr 12, 2014

This is a work in progress. For the time being, to build this, you'll need to publish-local the latest snapshot of sbt-yui-compressor. Things appear to boot though yui is throwing out usage information which leads me to believe something is amiss. Haven't had time to check it out yet, but I'm opening a PR in the event someone else would like to.

@karma4u101

This comment has been minimized.

Copy link
Member

karma4u101 commented Apr 12, 2014

Q: why not create a branch and try to get it all the way as this PR potentially will break things ?

@Shadowfiend

This comment has been minimized.

Copy link
Member

Shadowfiend commented Apr 12, 2014

Hmm… Not sure what you mean. This is on a branch right now, not on master…

@karma4u101

This comment has been minimized.

Copy link
Member

karma4u101 commented Apr 12, 2014

just realized that it may be a public branch ;) looked like it is a pull into master though, so if it is potentially breaking things and as such would it not be better for it to stay in the branch? ... just my 2 cents

or

just ignore my post ;) it's late here in Sweden and I have been having a couple of whisky and beers :) so I shouldn't be posting ... I'm off to bed .... cheers

@farmdawgnation

This comment has been minimized.

Copy link
Member Author

farmdawgnation commented Apr 12, 2014

So, the point of the pull request is to serve as a reminder to me (and everyone else) that this is ongoing work that should be completed soon, and to allow others to go ahead and start whacking it with a test stick if they feel so inclined. I have no intention of this being merged before it's working and all the published dependencies are up to date. :)

@karma4u101

This comment has been minimized.

Copy link
Member

karma4u101 commented Apr 13, 2014

ah now it makes perfect sense ;)

@indrajitr

This comment has been minimized.

Copy link
Member

indrajitr commented on project/build.properties in bf64e81 Apr 18, 2014

Would recommend 0.13.5 if possible. There are lots of improvements there.

This comment has been minimized.

Copy link
Member Author

farmdawgnation replied Apr 19, 2014

I don't think 0.13.5 exists... though I did just notice 0.13.2 does. So, that probably does need to happen.

@fmpwizard

This comment has been minimized.

Copy link
Member

fmpwizard commented May 11, 2014

could you also update the unsafepublish.sh script?

@japgolly

This comment has been minimized.

Copy link
Contributor

japgolly commented May 12, 2014

Is there any reason not to use Scala 2.10.4 instead of 2.10.0?

@fmpwizard

This comment has been minimized.

Copy link
Member

fmpwizard commented May 12, 2014

iirc, master already uses 2.10.4 or one of those big PRs Antonio made has that change

@japgolly

This comment has been minimized.

Copy link
Contributor

japgolly commented May 12, 2014

Oh cool, I was looking at https://github.com/lift/framework/pull/1537/files#diff-fdc3abdfd754eeb24090dbd90aeec2ceR15 in this PR when I had the thought.

@dpp

This comment has been minimized.

Copy link
Member

dpp commented May 13, 2014

FWIW, I think compiling against 2.10.0 is the right way to do things unless there's a known bug in the compiler. Typesafe makes 2.10.x compatible with code generated by 2.10.0, but there are no guarantees that code compiled with 2.10.4 will work on 2.10.2.

@Shadowfiend

This comment has been minimized.

Copy link
Member

Shadowfiend commented May 13, 2014

Aha. That's an excellent (if wonderfully annoying) point, actually.

@dpp

This comment has been minimized.

Copy link
Member

dpp commented May 13, 2014

They don't call me "Mr. Wonderfully Annoying" for nothing... 😁

@farmdawgnation

This comment has been minimized.

Copy link
Member Author

farmdawgnation commented May 13, 2014

Sorry, wait, it was my understanding that the 2.10 series is binary compatible. That should mean code compiled under any 2.10.x will import correctly into code compiled into any other 2.10.x. Is that not true?

As a followup, if that's not the case, why would it be bad to require the latest version of the compiler within 2.10.x? As long as we build on 2.10.4 and our consumer builds their app on 2.10.4 we should be kosher yes?

@dpp

This comment has been minimized.

Copy link
Member

dpp commented May 13, 2014

At least in the 2.9.x series, there were things added to the post 2.9.1 Scala... the 2.9.0/1 compiled libraries would run with 2.9.2, but not vice versa. It may have just been a library issue, but there
may have been other changes as well.

I think someone should raise this issue on scala-dev and get a 100% for certain answer.

@Shadowfiend

This comment has been minimized.

Copy link
Member

Shadowfiend commented May 13, 2014

“As long as we build on 2.10.4 and our consumer builds their app on 2.10.4 we should be kosher yes?” -> yes, but since we know that Scala can break compilation between minor versions, we should avoid requiring latest minor versions if possible.

Now that I think about it, though, the binary compatibility guarantee that started in 2.10 should cover this. Quoting from the 2.11 release notes:

Just like the 2.10.x series, we guarantee forwards and backwards compatibility of the "org.scala-lang" % "scala-library" % "2.11.x" and "org.scala-lang" % "scala-reflect" % "2.11.x" artifacts, except for anything under the scala.reflect.internal package, as scala-reflect is still experimental. We also strongly discourage relying on the stability of scala.concurrent.impl and scala.reflect.runtime, though we will only break compatibility for severe bugs here.

So we're safe here. That's also why %% for >2.9 now simply does _2.10 or _2.11 instead of the full version.

@fmpwizard

This comment has been minimized.

Copy link
Member

fmpwizard commented May 15, 2014

Note that by upgrading sbt to 0.13.x, we will all have to have the sbt-launcher.jar version 0.13.x. I guess this shows why having the actual jar in the repo is needed, even if we use project/build.properties.

I just run into this issue when building the paypal module, on my laptop I use sbt 0.12, but trying to start sbt in the paypal module gives me a long stack trace and an error about needing the 0.13 launcher jar

@fmpwizard

This comment has been minimized.

Copy link
Member

fmpwizard commented May 15, 2014

java.lang.IncompatibleClassChangeError: JLine incompatibility detected.  Check that the sbt launcher is version 0.13.x or later.
    at sbt.ConsoleLogger$.ansiSupported(ConsoleLogger.scala:96)
    at sbt.ConsoleLogger$.<init>(ConsoleLogger.scala:79)
    at sbt.ConsoleLogger$.<clinit>(ConsoleLogger.scala)
    at sbt.GlobalLogging$.initial(GlobalLogging.scala:40)
    at sbt.StandardMain$.initialGlobalLogging(Main.scala:54)
    at sbt.StandardMain$.initialState(Main.scala:60)
    at sbt.xMain.run(Main.scala:26)
    at xsbt.boot.Launch$.run(Launch.scala:55)
    at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:45)
    at xsbt.boot.Launch$.launch(Launch.scala:69)
    at xsbt.boot.Launch$.apply(Launch.scala:16)
    at xsbt.boot.Boot$.runImpl(Boot.scala:31)
    at xsbt.boot.Boot$.main(Boot.scala:20)
    at xsbt.boot.Boot.main(Boot.scala)
@Shadowfiend

This comment has been minimized.

Copy link
Member

Shadowfiend commented May 15, 2014

The idea I think was to have liftsh download the JAR for you. If you run through ./liftsh instead of just sbt does it work as expected?

@fmpwizard

This comment has been minimized.

Copy link
Member

fmpwizard commented May 15, 2014

will try that tomorrow, but looks like that should solve it, thanks

@farmdawgnation farmdawgnation changed the title [WIP] Bump to sbt 0.13. Bump to sbt 0.13. May 28, 2014

@farmdawgnation

This comment has been minimized.

Copy link
Member Author

farmdawgnation commented May 28, 2014

Ok, removing the WIP here. I had to switch the sbt yui thing to pull directly from git. At some point I'll make a pass and figure out how to get publish access for it, but I'd rather not continue waiting. Let's ship this.

@farmdawgnation farmdawgnation added this to the 2.6-M4 milestone May 28, 2014

@ijuma

This comment has been minimized.

Copy link

ijuma commented May 28, 2014

FWIW, SBT 0.13.5 was released yesterday https://groups.google.com/forum/#!topic/sbt-dev/TNRQKcsI-YQ

@Shadowfiend

This comment has been minimized.

Copy link
Member

Shadowfiend commented May 28, 2014

If bumping to 0.13.5 doesn't require any work other than a number change, then let's do that and then get this merged. Either way I'll try to look at it tonight.

@ijuma

This comment has been minimized.

Copy link

ijuma commented May 28, 2014

That's the claim and it worked for us. That's no guarantee that it will work for lift, of course. :)

@farmdawgnation

This comment has been minimized.

Copy link
Member Author

farmdawgnation commented May 28, 2014

Shouldn't be an issue. I'll take a look at it.

On Wed, May 28, 2014 at 9:41 AM, Ismael Juma notifications@github.com
wrote:

That's the claim and it worked for us. That's no guarantee that it will work for lift, of course. :)

Reply to this email directly or view it on GitHub:
#1537 (comment)

@farmdawgnation

This comment has been minimized.

Copy link
Member Author

farmdawgnation commented May 28, 2014

Was able to boot the project using 0.13.5 with no issues! I think we're good here folks. I'll merge by tonight unless @Shadowfiend, @fmpwizard, or someone else wants to take merge honors sooner!

@Shadowfiend

This comment has been minimized.

Copy link
Member

Shadowfiend commented May 30, 2014

A'ight, let's do it.

Shadowfiend added a commit that referenced this pull request May 30, 2014

@Shadowfiend Shadowfiend merged commit a1554fe into master May 30, 2014

@Shadowfiend Shadowfiend deleted the zero-point-thirteen branch May 30, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment