-
Notifications
You must be signed in to change notification settings - Fork 3.1k
unbundle scala-library-all, scala-swing, scala-parser-combinators #5790
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
Conversation
there is some justification on the discontinuance of scala-library-all at scala/scala-dev#323 (comment) as for scala-swing and scala-parser-combinators, they were modularized in Scala 2.11 but bundled to ease the transition. Scala 2.12 kept them, because in general we didn't remove things from 2.12. but now it's time. ultimately, the Scala Platform is intended to pick up the slack in some form. readers of e.g. Programming in Scala (Odersky, Venners & Spoon) will need to figure out how to obtain and add the dependencies. so it goes. |
note that scala-xml is not included in this because (as per https://issues.scala-lang.org/browse/SI-9560) work would be needed to cut the remaining (pretty thin) dependency of Scaladoc on scala-xml. it would be wonderful if someone volunteered to tackle that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks complete (and therefore good) to me.
readers of Programming in Scala (Odersky, Venners & Spoon) will need to figure out how to obtain and add the dependencies. so it goes
I'm not sure when the UnPickler jumps into action, but it looks like it tries to give guidance:
scala/src/reflect/scala/reflect/internal/pickling/UnPickler.scala
Lines 222 to 224 in f771395
if (missing.startsWith("scala.xml")) Some(("org.scala-lang.modules", "scala-xml")) | |
else if (missing.startsWith("scala.util.parsing")) Some(("org.scala-lang.modules", "scala-parser-combinators")) | |
else if (missing.startsWith("scala.swing")) Some(("org.scala-lang.modules", "scala-swing")) |
good eye. added a commit that adds scala-parallel-collections to the list |
@@ -778,7 +760,7 @@ lazy val scalaDist = Project("scala-dist", file(".") / "target" / "scala-dist-di | |||
), | |||
publishArtifact in (Compile, packageSrc) := false | |||
) | |||
.dependsOn(libraryAll, compiler, scalap) | |||
.dependsOn(library, reflect, compiler, scalap) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this remove xml, swing and parser combinators from the default repl (in the distribution archive)? I guess it's fine, but would be finer if we had a good way to add things to the default repl's classpath..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$ scala -cp \
> ~/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12/bundles/scala-xml_2.12-1.0.6.jar:\
> ~/.ivy2/cache/org.scala-lang.modules/scala-swing_2.12/bundles/scala-swing_2.12-2.0.0.jar:\
> ~/.ivy2/cache/org.scala-lang.modules/scala-parser-combinators_2.12/bundles/scala-parser-combinators_2.12-1.0.5.jar
cat: /release: No such file or directory
Welcome to Scala 2.12.1 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_112).
Type in expressions for evaluation. Or try :help.
scala> import scala.xml._
import scala.xml._
scala> import scala.swing._
import scala.swing._
scala> import scala.util.parsing.combinator._
import scala.util.parsing.combinator._
... with the caveat that you need to (a) have those jars locally and (b) know the full path (that it's org.scala-lang.modules, that the it's a "bundle" jar..)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this remove swing and parser combinators from the default repl
yes
as for making it easier again to access them, I would think that would happen in the context of scala/scala-dev#326
Does this remove scala-xml from the default repl
no
~/scala.213/build/pack % bin/scala
Welcome to Scala 2.13.0-20170321-002852-96c02a3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_112).
Type in expressions for evaluation. Or try :help.
scala> <i>foo</i>
res0: scala.xml.Elem = <i>foo</i>
versions.properties
Outdated
@@ -16,9 +16,6 @@ scala.binary.version=2.13.0-M1 | |||
|
|||
# external modules shipped with distribution, as specified by scala-library-all's pom |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
update comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
96c02a3
to
46f90b9
Compare
@SethTisue there's a merge conflict in Is everyone fine with removing removing xml/swing/parser-combinators from the standard distribution? |
46f90b9
to
f280cf3
Compare
fixed |
after this is merged, changes will be needed in the scala-dist and scala-dist-smoketest repos |
LGTM too. Could someone make the changes in the distro repos and coordinate merging with this PR? |
Or we go for YOLO and deal with the fallout, the 2.13.x build is broken anyway (osgi tests failing) |
TIL California has a whole Yolo County. wonder what housing prices are like there. |
I think this should fix the boostrap failure introduced by #5810. Merging now to give it a try. |
The bootstrap job passed: https://scala-ci.typesafe.com/job/scala-2.13.x-integrate-bootstrap/318/ |
We (as evidenced by the mima filters) don't guarantee binary compatibility for `scala.reflect.io` or `scala.runtime`, as well; both are marked as "not for external consumption". I'm not sure which packages are "we'll change them if we need to" as opposed to "no guarantees whatsoever!", so let me know if this seems over-eager. Also, `scala-library-all` [has been removed](scala/scala#5790) in 2.12.3-M2, so add a note about that.
No description provided.