Skip to content
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

Update dependencies, drop scala 2.9 and add scala 2.11 support #185

Closed
wants to merge 12 commits into from

Conversation

c089
Copy link
Contributor

@c089 c089 commented Dec 15, 2014

Update dependencies, build scripts and documentation for moving to scala 2.11. 2.10 is still supported, while 2.9 has to be dropped.

  • update scalatest in order to support scala 2.11
  • drop scala 2.9 support because scalatest is not compatible anymore
  • update twitter-server to 1.9.x to support scala 2.11
  • wait for mustache.java to update scala-extensions for scala 2.11 (see build scala-extensions for 2.11 spullara/mustache.java#118)
  • update mustache.java to 0.9.0 (blocked by Push a new release spullara/mustache.java#122)
  • fix mvn build
  • merge master / backport remove dependency on scalatest #179
  • added TwitterObjectHandler here, which has been removed from mustache (TODO: ok like this?)
  • updated scoverage to support scala 2.11 (and sbt because scoverage required it)
  • build snapshot jar and test with some apps
  • document breaking changes / migration steps

@c089 c089 mentioned this pull request Dec 15, 2014
@travisbrown
Copy link
Contributor

Thanks for doing this, @c089! One note: scala-extensions-2.10 0.8.17 seems to be "accidentally" compatible with 2.11—at least I was able to get Finatra with ++2.11.4 to compile, pass tests, and render simple views with a dependency on the 2.10 Mustache.java version.

I haven't looked closely enough to figure out whether this is likely to cause problems later on, and it's obviously not a solution, but it might allow you to do some local experimentation while we work toward a real fix.

@c089
Copy link
Contributor Author

c089 commented Dec 15, 2014

Ah yes, forgot to mention, there is some issue with the coverage plugins not being found, too (that's why CI failed). WIll investigate that.

@c089
Copy link
Contributor Author

c089 commented Dec 16, 2014

You're right, it seems their 2.10 extensions work fine with 2.11. I did a PR to explicitly build a 2.11 version anyway: spullara/mustache.java#118

this fixes using the new coverage plugin and should fix the travis build
@c089 c089 changed the title Update dependencies and drop scala 2.9 support in preparation for scala 2.11 support Update dependencies, drop scala 2.9 and add scala 2.11 support Dec 16, 2014
@c089
Copy link
Contributor Author

c089 commented Dec 16, 2014

That seems to work pretty good now. There are some compile-time warnings I'm not sure how to handle:

[warn] There may be incompatibilities among your library dependencies.
[warn] Here are some of the libraries that were evicted:
[warn] * com.github.spullara.mustache.java:compiler:0.8.12.1 -> 0.8.17 (caller: com.github.spullara.mustache.java:scala-extensions-2.10:0.8.17, com.twitter:twitter-server_2.11:1.9.0, com.twitter:finatra_2.11:1.5.4-SNAPSHOT)
[warn] * com.fasterxml.jackson.module:jackson-module-scala_2.11:2.2.2 -> 2.4.4 (caller: com.twitter:twitter-server_2.11:1.9.0, com.twitter:finatra_2.11:1.5.4-SNAPSHOT)
[warn] * com.google.code.findbugs:jsr305:1.3.9 -> 2.0.1 (caller: com.twitter:util-collection_2.11:6.23.0, com.twitter:finatra_2.11:1.5.4-SNAPSHOT, com.fasterxml.jackson.module:jackson-module-scala_2.11:2.4.4)

@c089
Copy link
Contributor Author

c089 commented Dec 16, 2014

@travisbrown do you think we need to keep the two scala versions in .travis.yml? I think that both travis jobs build for both scala versions (because sbt cross-compiles).

@travisbrown
Copy link
Contributor

@c089 It can be nice to tell at a glance whether the build is failing only for a particular Scala version, so I'd vote to leave them.

@c089
Copy link
Contributor Author

c089 commented Dec 16, 2014

Oh yeah that makes sense compared with sbt's verbose logging :)

@c089
Copy link
Contributor Author

c089 commented Dec 19, 2014

Updated the description with a task list, let me know if there's any other things to do.

as an long-term idea, wouldn't it make sense to decouple the mustache-depdendent part? sucks to be blocked from release by a templating engine (even though it's my preferred one ;))

@caniszczyk
Copy link
Contributor

:/ would like to see this happen, but looks like mustache.java work isn't done yet

@caniszczyk
Copy link
Contributor

Prodded Sam and mustache.java has scala-extensions for scala 2.11

@c089
Copy link
Contributor Author

c089 commented Jan 8, 2015

Nice, thanks :) I'm having trouble building this PR right now. Will investigate later today and build against the new mustache release.

@c089
Copy link
Contributor Author

c089 commented Jan 9, 2015

FYI, we're still blocked by mustache.java. The release is tagged, but not published :/

(I still get some refelction error when building with mvn though :/)
@capotej
Copy link
Contributor

capotej commented Jan 9, 2015

We're actually not going to support scala 2.11 in the 1.x.x series, Finatra 2.x.x is dropping soon and supports both scala 2.11 and 2.10 (but not 2.9). Thanks everyone.

@c089
Copy link
Contributor Author

c089 commented Jan 12, 2015

Sounds like a good reason to bump a major version :) Have you already started work on this on another branch / is this PR still needed?

@scosenza
Copy link
Contributor

Hi Christoph,
We're planning to push Finatra v2 to Github this February.
Thanks,
Steve

@scosenza scosenza closed this Jan 16, 2015
@shadow-fox
Copy link

Can we have a sneak peek of the new 2.x branch ? @capotej

@gianluca-sabena
Copy link

+1

2 similar comments
@Wanderfalke
Copy link

+1

@colinmarc
Copy link

+1

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

Successfully merging this pull request may close these issues.

9 participants