summaryrefslogtreecommitdiff
path: root/project
Commit message (Collapse)AuthorAgeFilesLines
...
* | Fields does bitmaps & synch for lazy vals & modulesAdriaan Moors2016-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Essentially, we fuse mixin and lazyvals into the fields phase. With fields mixing in trait members into subclasses, we have all info needed to compute bitmaps, and thus we can synthesize the synchronisation logic as well. By doing this before erasure we get better signatures, and before specialized means specialized lazy vals work now. Mixins is now almost reduced to its essence: implementing super accessors and forwarders. It still synthesizes accessors for param accessors and early init trait vals. Concretely, trait lazy vals are mixed into subclasses with the needed synchronization logic in place, as do lazy vals in classes and methods. Similarly, modules are initialized using double checked locking. Since the code to initialize a module is short, we do not emit compute methods for modules (anymore). For simplicity, local lazy vals do not get a compute method either. The strange corner case of constant-typed final lazy vals is resolved in favor of laziness, by no longer assigning a constant type to a lazy val (see widenIfNecessary in namers). If you explicitly ask for something lazy, you get laziness; with the constant-typedness implicit, it yields to the conflicting `lazy` modifier because it is explicit. Co-Authored-By: Lukas Rytz <lukas@lightbend.com> Fixes scala/scala-dev#133 Inspired by dotc, desugar a local `lazy val x = rhs` into ``` val x$lzy = new scala.runtime.LazyInt() def x(): Int = { x$lzy.synchronized { if (!x$lzy.initialized) { x$lzy.initialized = true x$lzy.value = rhs } x$lzy.value } } ``` Note that the 2.11 decoding (into a local variable and a bitmap) also creates boxes for local lazy vals, in fact two for each lazy val: ``` def f = { lazy val x = 0 x } ``` desugars to ``` public int f() { IntRef x$lzy = IntRef.zero(); VolatileByteRef bitmap$0 = VolatileByteRef.create((byte)0); return this.x$1(x$lzy, bitmap$0); } private final int x$lzycompute$1(IntRef x$lzy$1, VolatileByteRef bitmap$0$1) { C c = this; synchronized (c) { if ((byte)(bitmap$0$1.elem & 1) == 0) { x$lzy$1.elem = 0; bitmap$0$1.elem = (byte)(bitmap$0$1.elem | 1); } return x$lzy$1.elem; } } private final int x$1(IntRef x$lzy$1, VolatileByteRef bitmap$0$1) { return (byte)(bitmap$0$1.elem & 1) == 0 ? this.x$lzycompute$1(x$lzy$1, bitmap$0$1) : x$lzy$1.elem; } ``` An additional problem with the above encoding is that the `lzycompute` method synchronizes on `this`. In connection with the new lambda encoding that no longer generates anonymous classes, captured lazy vals no longer synchronize on the lambda object. The new encoding solves this problem (scala/scala-dev#133) by synchronizing on the lazy holder. Currently, we don't exploit the fact that the initialized field is `@volatile`, because it's not clear the performance is needed for local lazy vals (as they are not contended, and as soon as the VM warms up, biased locking should deal with that) Note, be very very careful when moving to double-checked locking, as this needs a different variation than the one we use for class-member lazy vals. A read of a volatile field of a class does not necessarily impart any knowledge about a "subsequent" read of another non-volatile field of the same object. A pair of volatile reads and write can be used to implement a lock, but it's not clear if the complexity is worth an unproven performance gain. (Once the performance gain is proven, let's change the encoding.) - don't explicitly init bitmap in bytecode - must apply method to () explicitly after uncurry
* | Switch remaining uses of ant over to sbtStefan Zeiger2016-08-231-19/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Modify `tools/scaladoc-diff` to use sbt instead of ant. - Move `stability-test.sh` from `tools` to `scripts`. With the new build process without separate `locker` and `strap` stages, it doesn’t make sense to call this script without first setting up the proper test environment in a CI build. - Replace the use of `build.number` in `bootstrap` with a new `SHA-NIGHTLY` mode for `baseVersionSuffix`. - Make `partest` call sbt instead of ant for initializing the classpath and use the new classpath location (`quick` instead of `pack`).
* | Merge pull request #5292 from szeiger/wip/sbt-windowsAdriaan Moors2016-07-282-32/+28
|\ \ | | | | | | Switch Windows CI build to sbt (w/ some sbt build improvements) [ci: last-only]
| * | Switch Windows CI build to sbt (w/ some sbt build improvements)Stefan Zeiger2016-07-212-32/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use sbt in `integrate/windows`: This essentially combines the Unix CI jobs `validate/publish-core` and `validate/test`, first publishing a local release built with STARR and then building a new version with that and running all tests on it. - Unify repository handling across build scripts: A new function `generateRepositoriesConfig` in `common`, based on the existing code in `integrate/bootstrap`, writes the `repositories` file for sbt, either with or without an extra bootstrap repository for resolving a previously built version. It is used in all CI scripts to ensure that artifacts are only resolved through the sanctioned proxies and upstream repositories. - The repository URL arguments in `setupPublishCore` and `setupValidateTest` are now optional as well. These commands are used without a URL from `integrate/windows`, which publishes to `local` instead of a temporary remote repository. - `testAll` is now a task instead of a command. It runs the same sequence of sub-tasks as before but does not propagate failures immediately. It always runs all subtasks and reports errors at the end. - The `generateBuildCharacterPropertiesFile` task now includes all properties from `versions.properties` (whose values have potentially been overwritten with `-D` options) in `buildcharacter.properties`.
* | | Improve sbt-based IntelliJ integration in case of WindowsMichał Pociecha2016-07-221-2/+2
|/ / | | | | | | | | | | | | | | | | | | Use File.pathSeparator when processing classpath instead of just : to don't end up with classpath like "C:\sth\a.jar:C:\sth\b.jar" what was causing problems after split(":"). Display questions first and then wait for user input. I tested on 3 computes and without flush the printed questions were always displayed just after user replied - never before.
* | Switch the bootstrap build over to sbtStefan Zeiger2016-07-153-21/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All of the individual ant builds that occured during `bootstrap` are replaced by equivalent sbt builds. - Allow extra dashes in version suffix when using SPLIT - Clean up ScriptCommands - Building an extra `locker` for stability testing with ant was not necessary but sbt also drops `strap`, so we need to build again with `quick` to get the equivalent of `strap`. The script for checking stability is invoked directly from the bootstrap script, not from sbt. - `STARR` and `locker` build output is still logged to `logs/builds`, the main build runs log directly to the main console with colored output. - Allow `—show-log` option on partest command line in sbt - Normalize inferred LUB in `run/t7747-repl.scala` - Add `normalize` feature from `ReplTest` to `InteractiveTest` - Normalize inferred LUBs in `presentation/callcc-interpreter`
* | Use 2.12.0-M4-9901daf as STARR (see #5152)Adriaan Moors2016-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit switches to using 2.12.0-M3-dc9effe as STARR, so that we can switch to the new trait encoding where each concrete trait member gets a a static member, which has the actual implementation (as well as serving as a target for for super calls using invokestatic), and a default member (forwards to the static member). Also bump partest to 1.0.17 -- the release that goes with the in-sourcing of scalacheck. Replace a few more -Yopt with -opt (for our new STARR)
* | Fix test failures of the sbt build in 2.12.xLukas Rytz2016-06-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - More memory for compiling partest tests - Enable more detailed logging for partest failures: Partest’s `AntRunner` has extra code for logging details of all failed tests at the end of a run which is not present in `SbtRunner` but we can set the `--show-log` and `--show-diff` options to get similar output interspersed with the main test log. - Update OSGi test dependencies for sbt build to same versions as in ant (see 8247b8f077c96ba9a017b53de4d8062fe428c4a7 for the motivation for this change). - Disable MiMa checks (to be reactivated after M5).
* | Merge commit 'aaf7bc0' into merge-2.11-to-2.12-june-19Lukas Rytz2016-06-218-17/+167
|\|
| * Remove bnd warnings from log outputStefan Zeiger2016-06-141-1/+1
| |
| * Use sbt for PR validationStefan Zeiger2016-06-148-17/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Support directories in `-doc-external-doc`: It is documented as accepting a “classpath_entry_path” for the keys but this only worked for JARs and not for individual class files. When checking for external-doc mappings for a Symbol, we now find the root directory relative to a class file instead of using the full class file path. The corresponding tests for SI-191 and SI8557 are also fixed to support individual class files instead of JARs in partest. This is required for the sbt build which runs partest on “quick” instead of “pack”. - Fix version and repository handling for bootstrapping. The bootstrap `scalaInstance` can now be resolved from any repository added to the project (not just the bootstrap repositories) by using a different workaround for https://github.com/sbt/sbt/issues/1872. - Workaround for https://github.com/sbt/sbt/issues/2640 (putting the wrong `scalaInstance` on partest’s classpath). The required `ScalaInstance` constructor is deprecated, so we have to disable deprecation warnings and fatal warnings until there is a better fix. - Add MiMa to the sbt build (port of the old `test.bc` ant task). The sbt-mima plugin doesn’t have all the features we need, so we do it manually in a similar way to what the plugin does. Checks are done in both directions for the `library` and `compiler` projects. The base version has to be set in `build.sbt`. When set to `None`, MiMa checks are skipped. MiMa checks are run sequentially to avoid spurious errors (see https://github.com/typesafehub/migration-manager/issues/115). - Port the OSGi tests to the sbt build. The set of JARs that gets copied into build/osgi as bundles is a bit different from the ant build. We omit the source JARs but add additional modules that are part of the Scala distribution, which seems more correct. - Get rid up `pull-binary-libs.sh` for the sbt build. Add artifacts are resolved from the special bootstrap repository through Ivy. The special `code.jar` and `instrumented.jar` artifacts are copied to the location where partest expects them (because these paths are hardcoded in partest). Other extra JARs for partest in `test/files/lib` are referenced directly from the Ivy cache. - Move common settings that should be available with unqualified names in local `.sbt` files and on the command line into an auto-plugin. - Add an `antStyle` setting to sbt to allow users to easily enable ant-style incremental compilation instead of sbt’s standard name hashing with `set antStyle := true`. - Disable verbose `info`-level logging during sbt startup for both, `validate/test` and `validate/publish-core` jobs. Update logging is no longer disabled when running locally (where it is useful and doesn’t generate excessive output). - Pass optimization flags for scalac down to partest, using the new partest version 1.0.15\6. - Call the new sbt-based PR validation from `scripts/jobs/validate/test`. - Disable the tests `run/t7843-jsr223-service` and `run/t7933` from https://github.com/scala/scala/pull/4959 for now. We need to set up a new test project (either partest or junit) that can run them on a packaged version of Scala, or possibly move them into a separate project that would naturally run from a packaged Scala as part of the community build.
* | Merge commit '139f6bf' into merge-2.11-to-2.12-june-1Lukas Rytz2016-06-011-2/+11
|\|
| * Jarlist scala-library in build.sbtRaphael Jolly2016-05-211-2/+11
| |
* | Merge pull request #5102 from milessabin/2.12.xJason Zaugg2016-05-271-1/+1
|\ \ | | | | | | SI-2712 Add support for partial unification of type constructors
| * | SI-2712 Add support for higher order unificationMiles Sabin2016-05-241-1/+1
| | |
* | | Rename -Yopt to -opt, -Yopt-warnings to -opt-warningsLukas Rytz2016-05-251-1/+1
|/ / | | | | | | Keep -Yopt-inline-heuristics and -Yopt-trace unchanged
* | Merge remote-tracking branch 'origin/2.11.x' into ↵Jason Zaugg2016-05-172-1/+34
|\| | | | | | | | | | | | | | | | | merge/2.11.x-to-2.12.x-20160517 Conflicts: build.sbt test/files/run/repl-javap-app.check test/files/run/repl-javap-app.scala
| * Merge pull request #5152 from retronym/topic/silencioJason Zaugg2016-05-172-1/+34
| |\ | | | | | | Eliminate major sources of daily noise in SBT build.
| | * Eliminate major sources of daily noise in SBT build.Jason Zaugg2016-05-162-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Intercept incorrect "binary conflict" warning issued by SBT. Fixes https://github.com/scala/scala-dev/issues/100 - Bump to a new version of pantsbuild/jarjar to fix an incompatibility with Java 8 parameter names in class files, which we run into on the 2.12.x branch. See: https://github.com/pantsbuild/jarjar/pull/19 - Disable info level logging for dependency resolve/download.
* | | Merge commit 'd06ce96' into merge/2.11.x-to-2.12.x-20160511Jason Zaugg2016-05-111-1/+0
|\| |
| * | Merge pull request #5128 from szeiger/wip/sbt-ivy-2.11Jason Zaugg2016-05-111-1/+0
| |\ \ | | |/ | |/| Publish usable Scala distributions to Ivy repositories
| | * Publish usable Scala distributions to Ivy repositoriesStefan Zeiger2016-05-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - sbt requires a `default` configuration in the Scala distribution but doesn’t publish such a configuration to Ivy repositories by default. This is not a problem when publishing to a Maven repository because Maven doesn’t use the concept of configurations and Ivy creates a standard set (including `default`) when resolving artifacts from Maven repositories, but it prevents the use of any Scala distribution published with `publishLocal`. The underlying issue is that sbt requires `default` instead of `default(compile)`. We work around this limitation by publishing a dummy `default` configuration. - sbt has hardcoded dependencies on the `scala-library` artifact of type `jar`. In the tradition of `sbt-osgi` we used type `bundle` when publishing via Ivy but this makes the artifacts unusable from sbt. We now publish the OSGi bundles directly as type `jar` (which is compatible with how they appear in Ivy after resolving from a Maven repository). - We have to be more aggressive about not publishing certain subprojects, otherwise `ivy.xml` files could still be published even when using `publishArtifacts := false`. - `removePomDependencies` now also modifies `ivy.xml` in addition to the Maven POM so that bogus dependencies do not leak into the Ivy descriptors. Fixes https://github.com/scala/scala-dev/issues/130
* | | SI-9684 Deprecate JavaConversionsSom Snytt2016-04-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Implicit conversions are now in package convert as ImplicitConversions, ImplicitConversionsToScala and ImplicitConversionsToJava. Deprecated WrapAsJava, WrapAsScala and the values in package object. Improve documentation.
* | | SI-6710 / PR 5072 follow-up: fix Unit.box / Unit.unboxLukas Rytz2016-04-201-4/+8
| | | | | | | | | | | | | | | | | | | | | The backend replaces .box / .unbox methods by corresponding invocations to BoxesRunTime, but not for Unit. This commit restores the body of `Unit.box` and `Unit.unbox`.
* | | Generate AnyVal source stubs from sbtStefan Zeiger2016-04-061-0/+486
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sbt command `generateSources` now generates both the AnyVal sources and the tuple/function sources (previously done by `genprod`). Source generation is part of the sbt build, the `scala.tools.cmd.gen` package is removed from `scala-compiler`. This simplifies bootstrapping. Generated sources are still in the same location and checked into git. The shell scripts `tools/codegen` and `tools/codegen-anyvals` are also removed. The ant build and the build scripts do not call these. Regenerating sources is a manual step at the moment.
* | | Merge pull request #5021 from szeiger/wip/remove-deprecationsSeth Tisue2016-03-291-0/+2
|\ \ \ | | | | | | | | Seal collection classes that were annotated with deprecatedInheritance in 2.11.0
| * | | Add a `genprod` command to the sbt buildStefan Zeiger2016-03-171-0/+2
| | | |
* | | | Merge commit '5f5cc18' into merge-2.11-to-2.12-mar-21Lukas Rytz2016-03-212-0/+13
|\ \ \ \ | | |/ / | |/| |
| * | | Update IntelliJ build for use with sbtLukas Rytz2016-03-212-0/+13
| | |/ | |/|
* | | Fix some typos in `spec` documents and comments.Dongjoon Hyun2016-03-152-2/+2
| |/ |/|
* | Merge commit 2.11.x into 2.12.x.Adriaan Moors2016-03-141-1/+1
|\|
| * Merge pull request #4993 from SethTisue/sbt-0.13.11Seth Tisue2016-02-261-1/+1
| |\ | | | | | | upgrade to sbt 0.13.11
| | * upgrade to sbt 0.13.11Seth Tisue2016-02-221-1/+1
| | | | | | | | | | | | yum! delicious dogfood!
* | | Merge remote-tracking branch 'origin/2.11.x' into ↵Jason Zaugg2016-02-251-1/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | merge/2.11.x-to-2.12.x-20160225 Conflicts: scripts/jobs/integrate/bootstrap src/build/maven/scala-actors-pom.xml test/files/pos/t3420.flags Conflicts were trivial to resolve.
| * | [sbt] Allow system properties to override entries in verions.propsJason Zaugg2016-02-191-1/+3
| |/
* | Remove -Y settings that are no longer used in 2.12Lukas Rytz2016-02-161-7/+5
| | | | | | | | | | | | Added a deprecation warning for `-optimize`. Later we'll also graduate `-Yopt` to `-opt`, probably for 2.12.0-M5.
* | Merge commit '39a858d' into topic/merge-2.11.x-to-2.12.x-20160210Jason Zaugg2016-02-113-18/+17
|\|
| * Fix SBT tab completion of scala commandJason Zaugg2016-02-113-18/+17
| | | | | | | | | | | | | | | | | | | | | | `scala -deprecation` (without a trailing script argument) wasn't allowed. Now it is. I also supported trailing whitespace on all commands. Also fixed: a bug with completion of `scalac ./san<TAB>`. It was completing as though the `./` had not been typed, which threw the suggestion off by a few characters.
* | Merge branch '2.11.x' into topic/merge-2.11.x-to-2.12.x-20160210Jason Zaugg2016-02-104-1/+275
|\| | | | | | | | | | | | | | | | | Conflicts: src/library/scala/collection/Iterator.scala | `-- trivial conflicts only. Parens were added to the next() calls in 2.12.x, while in the meantime `{Concat,Join}Iterator` were optimized in 2.11.x
| * Add SBT tab completion for scala{,c,doc}Jason Zaugg2016-02-093-11/+203
| | | | | | | | | | Also refactor the partest parser to use the improved tab completion for test paths.
| * Add tab completion to the partest commandJason Zaugg2016-02-061-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can complete partest options (I've excluded some that aren't relevant in SBT), as well as test file names. If `--srcpath scaladoc` is included, completion of test paths will be based on `test/scaladoc` rather than the default `test/files`. Note that the `--srcpath` option is currently broken via scala partest interface, this change to scala-partest is needed to make it work: https://github.com/scala/scala-partest/pull/49 I've also hijacked the `--grep` option with logic in the SBT command itself, rather than passing this to `partest`. Just like `./bin/partest-ack`, this looks for either test file names or regex matches within the contents of test, check, or flag files. I tried for some time to make the tab completion of thousands of filenames more user friendly, but wasn't able to get something working. Ideally, it should only suggest to `test/files/{pos, neg, ...}` on the first <TAB>, and then offer files on another TAB. Files should also be offered if a full directory has been entered. Hopefully a SBT parser guru will step in and add some polish here.
| * bump copyright year to 2016Seth Tisue2016-02-031-1/+1
| |
* | Merge commit 'cc6fea6' into merge/2.11.x-to-2.12.x-20160203Jason Zaugg2016-02-044-48/+95
|\| | | | | | | | | | | Conflicts: build.sbt scripts/jobs/integrate/bootstrap
| * Merge pull request #4884 from szeiger/wip/sbt-pr-validationSeth Tisue2016-01-292-39/+79
| |\ | | | | | | sbt-based PR validation job
| | * Use sbt for PR validation builds.Stefan Zeiger2016-01-122-39/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Improve version handling in the sbt build: The new settings `baseVersion` and `baseVersionSuffix` make it easier to set version numbers for different kinds of builds in a consistent way without e.g. having to first get a git SHA outside of sbt. The new task `generateBuildCharacterPropertiesFile` writes the file `buildcharacter.properties` to the root dir. The format is compatible with the same file produced by the ANT build but it only contains a subset of the properties, in particular the Maven version, which is needed in publishing scripts and passed around between different Jenkins jobs as `jenkins.properties`. SHAs in version numbers are consistently shortened to 7 digits (as used by git and github). Previously we used 7 digits in Maven snapshot version numbers but 10 digits in canonical and OSGi version numbers. # Add Jenkins script support to the sbt build: The new command `setupPublishCore` takes the PR validation snapshot repository as an argument and changes the required settings for the `publish-core` build (use SHA-SNAPSHOT versioning, compile with optimization enabled, do not publish scaladoc sets) For example, the following command can be used to generate `buildcharacter.properties` with the version numbers needed for PR validation builds: sbt setupPublishCore dummy generateBuildCharacterPropertiesFile The sbt build will now automatically detect and use a “~/.credentials” file with the credentials for publishing to a remote repository. # Call sbt from `publish-core`: The correct`$SBT_CMD` is set directly in `bootstrap` and used by `publish-core` to first generate `buildcharacter.properties` and then build and publish. Parsing the git revision, computing a version number and getting binary dependencies are no longer required in the script. This is all done in the sbt build.
| * | Improved EOL handling for scripts generated by the sbt buildStefan Zeiger2016-01-251-9/+10
| | | | | | | | | | | | | | | | | | | | | We now normalize EOLs in `ScalaTool` to LF when reading the templates, and write them as CRLF or LF depending on the target platform. This allows the script templates to be stored locally with either LF or CRLF line endings (which can both happen, depending on the platform and git configuration).
| * | Use Windows classpath in sh scripts when building in sbt on WindowsStefan Zeiger2016-01-211-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The generated scripts for "quick" are not portable anyway (neither in the sbt build nor in the ant build) because they contain absolute paths. When using the sh versions on Windows in MSYS or Cygwin, the classpath must be in Windows format because "java" expects it that way. Note that none of this applies to "pack" (and thus to distribution builds) where the classpath is constructed dynamically by the launcher scripts itself.
| * | Normalize Windows paths when calling JarJar from the sbt buildStefan Zeiger2016-01-141-2/+2
| |/
* | Merge commit 'bf599bc' into merge/2.11.x-to-2.12.x-20160203Jason Zaugg2016-02-031-0/+1
|\| | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/backend/opt/ConstantOptimization.scala src/compiler/scala/tools/nsc/transform/Constructors.scala src/compiler/scala/tools/nsc/typechecker/Contexts.scala src/scaladoc/scala/tools/nsc/doc/html/page/Template.scala src/scaladoc/scala/tools/nsc/doc/html/resource/lib/jquery.layout.js
| * Fix dependency problems in the sbt buildStefan Zeiger2015-11-301-0/+1
| | | | | | | | | | | | | | | | | | - 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.