| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix the scoping of files/lib/*.jar. These files were not on the
classpath when running partest from sbt.
- Pass the same standard Java options to partest as from the command
line. This requires new versions of scala-partest and
scala-partest-interface.
- Fix the classpath scanning in jvm/innerClassEnclMethodJavaReflection.
It only worked for JARs and relative directories but not for absolute
directory paths (which are produced by sbt).
|
|
|
|
|
|
|
|
|
| |
- Create the directory for the output file when building an OSGi
bundle. Otherwise a publishing command would fail if dist/mkPack had
not been run before.
- Depend only on “packagedArtifact” in “mkPack”, not on “packageBin”.
The latter is sbt’s standard packaging task but some of the required
dependencies need to be packaged as OSGi bundles.
|
|\
| |
| | |
Create a full Scala distribution from sbt
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This replicates the results of `ant -Dlocker.skip=1 distpack` with the
following differences:
- The POM files produced by the ant build under dists/maven still
contain unresolved variables like `@VERSION@`. The ant build resolves
them in the actual publishing process. The sbt build generates the
correct version numbers directly.
- Scaladoc sets in the ant build are created with the scaladoc tool from
“quick”. The sbt build uses the STARR scaladoc.
- The scaladoc sets for scala-actors, scala-compiler, scala-reflect and
scalap from the ant build contain documentation for the classes
`Null`, `Nothing`, `Any` and `AnyRef`. The sbt build omits those
classes from all doc sets (except for scala-library, of course) under
the assumption that this is a bug in the ant build.
Other idiosyncracies of the ant build like declaring a packaging type of
`jar` (instead of `bundle`) for OSGi bundles, or using slightly
different module names and descriptions in scaladocs, OSGi bundles and
POMs, are reproduced faithfully for now.
Publishing from the sbt build is done in the usual sbt way. No actual
publishing targets are currently defined in the build. In order to test
stability of the publishing process, the `publishDists` task can be used
to publish to dists/maven-sbt with the same directory layout and naming
conventions employed by the ant build for publishing to dists/maven.
Source and binary JARs are OSGi-enabled. For the source JARs this is
done by hand-crafting the appropriate MANIFEST.MF entries (like the ant
build does). Binary JARs are packaged with BND, using the same outdated
BND version as the ant build for now to get identical results. We do not
use sbt-osgi because it depends on a newer version of BND (probably OK
to upgrade in the future) and does not allow a crucial bit of
configuration that we need: Setting the classpath for BND. In sbt-osgi
this is always `fullClasspath in Compile` whereas we really want
`products in Compile in packageBin` to keep things simple.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
It is not enough to check the return value of `process()` to determine
whether a class file should be kept or deleted. The classes that should
not be kept are only known after processing everything and files that
have already been written to disk may need to be deleted.
|
| |
| |
| |
| |
| |
| |
| |
| | |
- ManMaker is compiled in a new subproject “manual”. A simple command
line runner complements the ant task so that it can be run from sbt.
- Another new subproject “scala-dist” is responsible for building
the scala-dist.jar artifact.
|
|\ \
| | |
| | | |
Update number of subsections in Value Conversions
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
janekdb/2.11.x-scaladoc-fix-one-off-dot-restart-note
Align DotRunner dot restart count with command option description
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the command option description,
val docDiagramsDotRestart = IntSetting(
"-diagrams-dot-restart",
"The number of times to restart a malfunctioning dot process before disabling diagrams (default: 5)",
5,
None,
_ => None
)
Prior to this change dot was restarted four times instead of five. Maybe the
intention of the option was to allow a total number of attempts to be specified
but with 5 restarts we need 6 attempts. The local var was renamed to reflect this.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
janekdb/2.11.x-remove-lagged-scaladoc-setttings-notes
Remove notes about -doc-title and -doc-version not being used
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Confirmed these options are used by editing build-ant-macros.xml and viewing
the output,
<scaladoc docRootContent="${src.dir}/@{project}/${@{project}.docroot}"
destdir="${build-docs.dir}/@{project}"
- doctitle="${@{project}.description}"
+ doctitle="${@{project}.description} - test-title"
docfooter="epfl"
- docversion="${version.number}"
+ docversion="${version.number} - test-version"
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
janekdb/2.11.x-add-missing-scaladoc-commands-to-help-output
Add two missed scaladoc commands into scaladoc specific help section
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prior to this change these scaladoc options were buried in the scalac section
of the help text,
-doc-external-doc
-implicits-sound-shadowing
With this change the options are listed in the scaladoc section.
This will make the commands easier to discover.
|
|\ \ \
| | | |
| | | | |
upgrade to MiMa 0.1.8
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
just for general dogfooding purposes. also because the new version
understands 2.12 bytecode better, and this commit will get merged onto
2.12
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
janekdb/2.11.x-scaladoc-excluded-classnames-more-data-like
Refactor excluded qname test to be more data like
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
This refactoring extracts data from code into a form which is closer to
configuration data.
This is a step change toward making this configurable.
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
janekdb/2.11.x-scaladoc-fix-List-performance-time-space-formatting
Fix List Scaladoc time & space formatting
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The Performance section got sucked into a wormhole and popped up in the
example tag. The laws of physics differ in the attributes block resulting
in the loss of the line break between the Time and Space paragraphs.
Fixed by moving the section out of the example tag.
|
|\ \ \
| | | |
| | | | |
Attacking exponential complexity in TypeMaps
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Don't normalize existentials during the `contain`-s type map;
`ExistentialType#normalize' calls contains internally and
an exponential blowup ensues.
- Ensure that the type map used in variance validation never
returns modified types in order to avoid needless cloning of
symbols.
The enclosed test case still gets stuck in Uncurry, thanks to
the way that `TypeMap#mapOver(List[Symbol])` recurses through the
type first to check whether the type map would be an no-op or not.
If not, it repeats the type map with cloned symbols. Doing the work
twice at each level of recursion blows up the complexity.
Removing that "fast path" allows the enclosed test to compile
completely. As at this commit, it gets stuck in uncurry, which
dealiases `s.List` to `s.c.i.List` within the type.
Some more background on the troublesome part of `TypeMap`:
http://lrytz.github.io/scala-aladdin-bugtracker/displayItem.do%3Fid=1210.html
https://github.com/scala/scala/commit/f8b2b21050e7a2ca0f537ef70e3e0c8eead43abc
|
|\ \ \ \
| |_|_|/
|/| | | |
less confusing wording for a dependent method type error
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
note to reviewers: the error messages in this file are over the place
about whether they're called "parameter sections", or "argument
lists", or what, so there's no point in being picky about that here
for context see SI-823
|
|\ \ \
| | | |
| | | | |
Improvements to the sbt build
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Move version-related code into a separate VersionUtil object
- Fix the canonical version. The sbt build previously took the full
version including the suffix (plus timestamp and hash) whereas the ant
build uses the version without the suffix
- Include the version number in the generated scaladocs
- Add project descriptions and include them in the scaladocs (like the
ant build does)
- Add other missing scaladoc options to the sbt build
- Copy resources in all subprojects when building dist/mkQuick and
fix `includeFilter` settings to include all required files
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Docs for actors, compiler, library, reflect and scalap are built by
default. Generated artifacts are removed when cleaning the respective
subproject.
- Fix some exclude patterns for scaladoc sources in the ANT build
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Add dependencies for scala-swing, scala-continuations-library and
scala-continuations-plugin
- Build all JARs for “pack” in dist/packageBin
- Add “dist/mkQuick” task for building all required projects for
“quick” and creating the launcher scripts
- Add “dist/mkPack” task for packaging all required projects for
“pack” and creating the launcher scripts
- Include classes from “forkjoin” project in scala-library.jar
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Reusing parts of #4593, this commits adds two additional subprojects to
the sbt build:
- repl-jline, which is already used by the ant build, builds the part of
the REPL that depends on JLine. The actual JLine depenency is moved to
this project.
- repl-jline-shaded uses JarJar to create a shaded version of repl-jline
and jline.jar.
Unlike the ant build, this setup does not use any circular dependencies.
dist/mkBin puts all of quick/repl, quick/repl-jline and
quick/repl-jline-shaded onto the classpath of build-sbt/quick/bin/scala.
A future addition to the sbt build for building build-sbt/pack will have
to put the generated classfiles into the correct JARs, mirroring the old
structure.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Set the correct unmanagedResourceDirectories for the compiler and
library projects. These projects already had includeFilter definitions
to copy the correct resource files to the target dirs but they were
meaningless without a source dir.
- Set a target path for ‘dist’ to make stream files go to the proper
.gitignored dir.
- Set permissions ugo+rx on all generated script and batch files.
|
|\ \ \
| | | |
| | | | |
Multi output problem with delambdafied compilation
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This source is then used to figure out output folder for
compilation product.
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
User code compilation with -Ybackend:GenBCode -Ydelambdafy:method
fails for projects with multiple output directories.
The problem has its root in a fact that some `lambdaClass` symbols
the `associatedFile` field is not set. It can be done in Delambdafy.scala
(`makeAnonymousClass` method) and is working for following lambda
examples:
{{{
package acme
object Delambdafy {
type -->[D, I] = PartialFunction[D, I]
def main(args: Array[String]): Unit = {
val result = List(1, 2, 4).map { a =>
val list = List("1", "2", "3").map { _ + "test" }
list.find { _ == a.toString + "test" }
}
lazy val _foo = foo(result) {
case x::xs if x isDefined => x.get.length
case _ => 0
}
lazy val bar: Int => Int = {
case 2 => 13
case _ =>
val v = List(1).map(_ + 42).head
v + 1
}
}
def foo(b: List[Option[String]])(a: List[Option[String]] => Int): Int =
a(b)
}
}}}
but is NOT working for following lambda:
{{{
package acme
object Delambdafy {
type -->[D, I] = PartialFunction[D, I]
def main(args: Array[String]): Unit = {
lazy val _baz = baz {
case 1 =>
val local = List(1).map(_ + 1)
local.head
}
}
def baz[T](f: Any --> Any): Any => Any = f
}
}}}
so that's why source of compilation unit is used to determine output
directory in case when source file is not found for symbol.
|
|\ \ \
| |_|/
|/| | |
it's Scaladoc, not ScalaDoc
|
| | |
| | |
| | |
| | |
| | | |
renaming the existing ScalaDoc and ScalaDocReporter classes might
break stuff, sadly, but at least we can fix the rest
|
|\ \ \
| | | |
| | | | |
SI-9497 Fix SetLike#clear() default implementation
|
| | | |
| | | |
| | | |
| | | | |
When dealing with mutable collections, it is not safe to assume iterators will remain consistent when the collection is modified mid-traversal. The bug reported in SI-9497 is very similar to SI-7269, "ConcurrentModificationException when filtering converted Java HashMap". Then, only the `retain` method was fixed. This commit fixes `clear`, which had the same problem.
|
|\ \ \ \
| | | | |
| | | | | |
[SI-9503] Deprecate scala.collection.immutable.PagedSeq
|
| | | | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | | |
janekdb/2.11.x-collection-documentation-fixes-previously-4651
2.11.x collection documentation fixes
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Remove some duplicate method documentation that is now inherited
- Whitespace edits
- Rewording of method docs
- Clearer usage examples
- tparam alignment for some usecase tags
- Prefer () to { } for do nothing bodies
|
|\ \ \ \
| |/ / /
|/| | | |
"macro" is a reserved word since Scala 2.11
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Conform foreach tparam to majority naming convention
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
'U' is the common choice for the foreach function result tparam.
This command summarises the naming diversity before and after this change.
$ fgrep -r 'def foreach[' *|cut -f2 -d:|cut -f1 -d'('|tr -s ' '|sed 's/override //g'|sort|uniq -c|sort -nr
Before,
80 def foreach[U]
6 def foreach[C]
6 def foreach[B]
4 final def foreach[U]
3 def foreach[S]
2 inline final def foreach[U]
2 def foreach[A]
1 inline final def foreach[specialized
1 final def foreach[B]
1 * def foreach[U]
1 def foreach[Q]
1 def foreach[D]
1 def foreach[A,B,U]
After,
98 def foreach[U]
5 final def foreach[U]
2 inline final def foreach[U]
1 inline final def foreach[specialized
1 * def foreach[U]
1 def foreach[A,B,U]
(@ symbols removed.)
|
|\ \ \
| |_|/
|/| | |
SI-4950 Test reduction
|
|/ /
| |
| |
| |
| |
| | |
A session test with extra filtering best expresses the intentions.
No check file is required.
|