I am using sbt-0.13 which uses ivy-2.3. I have encounter a bug which has been fixed in ivy-2.4. Now I want to update ivy to 2.4.
How to configure sbt so as to make it use ivy-2.4?
I do not know the answer to this definitively, but after 30 min of searching, I think the answer is that you can't do this without building your own version of sbt.
The principle evidence I have for this is this change to sbt itself in order to upgrade the version of ivy: https://github.com/sbt/sbt/pull/1040.
Related
I need to get acquainted specifically with elm 0.16.XX because some project I am working on is using it, and long story short,e.g. the version cannot be changed. Also, as you guys know there is a significant change between 0.16 and later elm versions. I am doing an online video course that has the 0.16.XX version but when I install elm, it naturally installs the latest version. How can I install the older versions?
The info I see online says to just change in elm.json, the version numbers of dependencies you need, but the problem is that the names of the dependencies have also changed. e.g in a basic hello world project,
0.16.xx
"elm-lang/core": 5.1.1, "elm-lang/html": 2.0.0, "elm-lang/virtual dom": 2.0.4
as opposed to modern elm
"elm/core": 1.0.5, "elm/html": 1.0.0, "elm/virtual-dom": 1.0.3
So how do I go about installing older elm i.e 0.16.XX. Any help is appreciated.
In theory, you could download the source code zip and try to build from sources but I remember people having a lot of trouble with the particular Haskell dependencies.
If the app is an Html based app that used evancz/start-app you might have some luck by first upgrading to 0.17.1. Take a look at https://github.com/elm-lang/elm-platform/blob/master/upgrade-docs/0.17.md
You might be able to install 0.17.1 with npm i -D elm#0.17.1.
elm.json is available only to 0.19 and 0.19.1 projects. The versions before that used elm-package.json
You can download Elm 0.16 installers for Windows and Mac Elm from the official releases.
https://github.com/elm/compiler/releases/tag/0.16.0
But I have no idea if installing the dependencies still works.
So maybe you'll need to incrementally upgrade your code, see https://github.com/elm-lang/elm-platform/tree/master/upgrade-docs
If that is too complicated, maybe you can ask in the Elm slack if someone can upgrade the code for you? E.g. with a small freelancer contract?
Could anyone please tell why while running sbt gen-idea with plugin 'addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")' stucks at creating the module 'lagom-internal-meta-project-cassandra'.
[info] Creating IDEA module for project 'lagom-internal-meta-project-cassandra' ...
[error] Missing extra test configuration
java.lang.IllegalArgumentException at
org.sbtidea.Settings.logErrorAndFail(Settings.scala:11) at
org.sbtidea.Settings$$anonfun$setting$1.apply(Settings.scala:16) at
Because the meta projects are projects that don't have all the regular settings that a normal sbt project has. I'm not surprised that it doesn't work, but we never bothered to test with the gen-idea plugin because that plugin has been superseded by IntelliJ's own sbt support for several years, which is far better than the sbt plugin. You should use IntelliJ support, it's so much simpler, easier to use and provides a much better user experience.
I think I have ran into a bug in ivy, that may have ben solved in version 2.4.0-rc1 of ivy.
But how can i see what version of ivy sbt is using, and how can i change it to 2.4.0-rc1, so i can test if it actually fixes my problem.
A straightforward issue for java new comer:
IMO, Java should keep backward compatible, so a jar built with JDK5 should work on JRE6 or high environment, but the converse case should fail.
However from the netty page,
https://github.com/netty/netty/tree/netty-4.0.17.Final,
I found the following:
You require the following to build Netty:
Latest stable Oracle JDK 7
Latest stable Apache Maven
Note that this is build-time requirement. JDK 5 (for 3.x) or 6 (for 4.0+) is enough to run your Netty-based application.
This really confuses me, could anyone can help explain this?
Yes, if you specified proper -source and -target option to the javac. Netty's pom.xml specifies -source 1.5 and -target 1.5 to ensure that.
I have just taken over a project using SBT 0.7.x and I am trying to convert it to use 0.12.3. The project has config as a *.java file and I can't find where some of the classes/objects that are used were moved to. I found a VERY small table in the migration docs, but is it not complete, for example it says that FileUtilities was moved to IO, which is true only for some of the functions. The following functions/classes/objects are nowhere to be found:
FileUtilities.copyFlat
FileUtilities.clean
Path.lazyPathFinder
BasicScalaProject
MavenStyleScalaPaths
DefaultProject
ProjectInfo
IdeaProject
Can someone please tell me where those went or where there is a complete log of changes?
I don't have a complete log of changes, but I did write an unofficial guide to sbt 0.10 v2.0, which lists some of the changes between 0.7 and modern sbt.