Skip to content

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

Merged
merged 2 commits into from
Apr 7, 2017

Conversation

SethTisue
Copy link
Member

No description provided.

@scala-jenkins scala-jenkins added this to the 2.13.0-M2 milestone Mar 20, 2017
@SethTisue
Copy link
Member Author

SethTisue commented Mar 20, 2017

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.

@SethTisue
Copy link
Member Author

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.

@SethTisue SethTisue added the release-notes worth highlighting in next release notes label Mar 20, 2017
@SethTisue SethTisue modified the milestones: 2.13.0-M1, 2.13.0-M2 Mar 20, 2017
Copy link
Member

@dwijnand dwijnand left a 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:

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"))

@SethTisue
Copy link
Member Author

UnPickler [...] looks like it tries to give guidance

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)
Copy link
Member

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..

Copy link
Member

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..)

Copy link
Member Author

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>

@@ -16,9 +16,6 @@ scala.binary.version=2.13.0-M1

# external modules shipped with distribution, as specified by scala-library-all's pom
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update comment

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@SethTisue SethTisue force-pushed the no-more-scala-library-all branch from 96c02a3 to 46f90b9 Compare March 21, 2017 15:37
@lrytz
Copy link
Member

lrytz commented Mar 27, 2017

@SethTisue there's a merge conflict in versions.properties.

Is everyone fine with removing removing xml/swing/parser-combinators from the standard distribution?

@SethTisue SethTisue force-pushed the no-more-scala-library-all branch from 46f90b9 to f280cf3 Compare March 27, 2017 15:25
@SethTisue
Copy link
Member Author

there's a merge conflict

fixed

@SethTisue
Copy link
Member Author

after this is merged, changes will be needed in the scala-dist and scala-dist-smoketest repos

@adriaanm
Copy link
Contributor

adriaanm commented Apr 5, 2017

LGTM too. Could someone make the changes in the distro repos and coordinate merging with this PR?

@lrytz
Copy link
Member

lrytz commented Apr 6, 2017

Or we go for YOLO and deal with the fallout, the 2.13.x build is broken anyway (osgi tests failing)

@SethTisue
Copy link
Member Author

scala/scala-dist#177

@SethTisue
Copy link
Member Author

@SethTisue
Copy link
Member Author

Or we go for YOLO

TIL California has a whole Yolo County. wonder what housing prices are like there.

@lrytz
Copy link
Member

lrytz commented Apr 7, 2017

I think this should fix the boostrap failure introduced by #5810. Merging now to give it a try.

@lrytz lrytz merged commit b5f1d3b into scala:2.13.x Apr 7, 2017
@lrytz
Copy link
Member

lrytz commented Apr 7, 2017

@lrytz
Copy link
Member

lrytz commented Apr 7, 2017

@SethTisue SethTisue deleted the no-more-scala-library-all branch April 7, 2017 13:12
hrhino added a commit to hrhino/docs.scala-lang that referenced this pull request Dec 9, 2017
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.
@SethTisue SethTisue mentioned this pull request Jan 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-notes worth highlighting in next release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants