| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use `unless` attribute in targets so that `docs.skip` influences dependency graph.
Create `scaladoc` task in `pack.core` so that we don't need `pack.done`
for publishing the core.
Move source bundle creation from `dist.src` to `osgi.core`/`osgi.done`.
Split dependencies of maven publishing into core/all variants:
`osgi.core` creates osgi bundles for just lib/reflect/comp.
|
|
|
|
|
|
|
|
|
|
|
| |
Publish to maven with `ant publish.local`,
`ant publish`, or `ant publish.signed`.
For now, we must keep copying `src/build/maven/maven-deploy.xml`
to `dists/maven/latest.build.xml`, along with its dependencies,
as it's used by jenkins jobs and PR validation.
TODO: `inline src/build/maven/maven-deploy.xml` into `build.xml`.
|
|
|
|
| |
It tended too easily to get out of synch with build.xml.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The staleness problem in our build had its roots in
the flawed uptodate check fixed in the previous commit,
but I spent a lot of time looking at these first. Maybe
one was also complicit.
We've got better things to worry about, so lets make
the all overwrite.
|
|
|
|
|
|
|
|
| |
- skip docs.lib, which doesn't route through the staged-docs
macro
- skip copying docs to the staged maven distribution
- skip maven local deploy of doc jar under this mode
- skip devel docs tarring
|
|\
| |
| | |
Remove build.number.maven
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I can't find any justification for having this information
in both build.number and build.number.maven.
They have drifted apart on the 2.10.x branch, although that
doesn't matter because build.number is correct, and loaded first,
and Ant properties are write-once.
I'm assuming that the Ant tasks in src/build/pack.xml are only
invoked through the <antcall>-s in ./build.xml.
Here's a test of that from the 2.10.x branch:
% cat build.number
#Tue Sep 11 19:21:09 CEST 2007
version.major=2
version.minor=10
version.patch=3
# This is the -N part of a version. if it's 0, it's dropped from maven versions.
version.bnum=0
# Note: To build a release run ant with -Dbuild.release=true
# To build an RC, run ant with -Dmaven.version.suffix=-RCN
% cat build.number.maven
version.major=2
version.minor=10
version.patch=0
% git diff
diff --git a/build.xml b/build.xml
index 3a83aa4..5cb952c 100644
--- a/build.xml
+++ b/build.xml
@@ -62,6 +62,9 @@ TODO:
<target name="distpack" depends="dist.done, docs.done">
<ant antfile="${src.dir}/build/pack.xml" target="pack-all.done" inheritall="yes" inh
+ <target name="distpack.maven.info">
+ <ant antfile="${src.dir}/build/pack.xml" target="pack-maven.info" inheritall="yes" i
+
<target name="distpack-maven" depends="dist.done, docs.done">
<ant antfile="${src.dir}/build/pack.xml" target="pack-maven.done" inheritall="yes" i
diff --git a/src/build/pack.xml b/src/build/pack.xml
index 20c4034..56863ff 100644
--- a/src/build/pack.xml
+++ b/src/build/pack.xml
@@ -133,6 +133,10 @@ MAIN DISTRIBUTION PACKAGING
<mkdir dir="${dists.dir}/maven/${version.number}"/>
</target>
+ <target name="pack-maven.info">
+ <echo message="version.patch = ${version.patch}"/>
+ </target>
+
<target name="pack-maven.libs" depends="pack-maven.start">
<macrodef name="mvn-copy-lib">
<attribute name="mvn.artifact.name"/>
% ant distpack.maven.info
Buildfile: /Users/jason/code/scala2/build.xml
distpack.maven.info:
pack-maven.info:
[echo] version.patch = 3
Notice how the stale `version.patch=0` in build.number.maven is
ignored.
|
|/
|
|
| |
In a sign of decreased optimism about that facility.
|
|
|
|
|
|
|
|
|
| |
That is, scaladoc is still in the scala-compiler artifact.
Let dbuild know so that it won't freak out.
ps: dbuild-meta.json should be kept in synch with
src/build/dbuild-meta-json-gen.scala until we can
automate that in the build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These modules move to their own repositories:
- https://github.com/scala/scala-xml (v1.0-RC3)
- https://github.com/scala/scala-parser-combinators (v1.0-RC1)
The modularization depends on the new partest, as the old one's
classpath handling did not support a modularized scala.
The compiler pom now depends on the artifacts published separately,
with versions specified in versions.properties.
NOTES:
- The osgi tests resolve the xml and parsers jars and osgi-fy them,
as they are no longer built locally.
TODO: Can we move the osgification to the module builds?
- Disabled local repositories: don't want to accidentally include
unpublished artifacts in releases etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As partest is now resolved from maven, `test/partest` uses `ant test.suite.init`
to determine the classpath (serialized to build/pack/partest.properties)
that's necessary to run `scala.tools.partest.nest.ConsoleRunner`.
Thus, partest gets exactly the same classpath, whether run from
the command line through `test/partest` or via `ant test`.
The version of partest we're using is specified by
properties defined in versions.properties (formerly `starr.number`).
Currently, we're using:
```
scala.binary.version=2.11.0-M4
partest.version.number=1.0-RC3
```
NOTES:
- The version of Scala being tested must be backwards binary compatible with
the version of Scala that was used to compile partest.
- Once 2.11 goes final, `scala.binary.version=2.11`, and `starr.version=2.11.0`.
- Need scalacheck on classpath for test/partest scalacheck tests.
- Removed atrophied ant tests (haven't been run/changed for at least two years
I checked 81d659141a as a "random" sample).
- Removed scalacheck. It's resolved as a partest dependency.
- For now, use a locally built scalap
- Kept the trace macro in the main repo (partest-extras)
- New targets for faster pr validation: test-core-opt, test-stab-opt
- Reused partest eclipse/intellij project to partest-extras
(note: the partest dependency is hard-coded)
|
|
|
|
|
|
|
|
| |
Concretely, update scala-compiler's pom
to list scala-xml and scala-parser-combinators
on behalf of scaladoc.
NOTE: when spinning off scaladoc, move dependencies to its own pom
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The next version of [dbuild](http://typesafehub.github.io/distributed-build/0.5.3/index.html)
will parse `dbuild-meta.json` to determine which jars are produced by a Scala build.
This way we can modularize without changing dbuild itself.
Yes, I know `dbuild-meta.json` should be generated during the build.
However, given the state of our build.xml, I think this is pointless.
My goal is to generate build.xml, dbuild-meta.json and Eclipse projects
from a higher-level description of our build. Baby steps...
Including improvements by @cunei:
- Removing outdated field "uri" from ExtractedBuildMeta
- Changed "partest" to "scala-partest" (the actual jar name)
|
|
|
|
|
|
|
|
| |
Notes:
- no longer specifying terminal by class name in scripts (using 'unix')
- jline doesn't need a separate jansi dependency;
it includes its own version according to:
http://mvnrepository.com/artifact/jline/jline/2.11
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- Remove the last vestiges of xml from Predef and Contexts.
- Change build to compile scala.xml to scala-xml.jar.
- Deploy scala-xml module to maven.
- Update partest accordingly.
Note:
An older compiler cannot use the new standard library to
compile projects that use XML. Thus, skipping locker will
break the build until we use 2.11.0-M4 for STARR.
In the future build process, where we drop locker,
we would have to release a milestone that supports the old
and the new approach to xml. As soon as we'd be using that
new milestone for starr, we could drop support for the old approach.
|
|
|
|
|
| |
I just couldn't stand the incredible mess in there anymore. More cleanup to come.
For now, suffice it to say you need only add one line per new module.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
src/compiler/scala/tools/nsc/typechecker/Implicits.scala
src/reflect/scala/reflect/runtime/JavaMirrors.scala
|
| |
| |
| |
| |
| |
| |
| |
| | |
The project/properties/info.apiURL pom property is used by SBT
to link to an artifact's scaladoc.
For scala library version $v, the url is http://www.scala-lang.org/api/$v/
Note that actors, reflect and swing are included in the library docs in 2.10.x.
|
|\ \
| | |
| | | |
Merge 2.10.x
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
bincompat-forward.whitelist.conf
src/compiler/scala/tools/nsc/matching/Patterns.scala
src/compiler/scala/tools/nsc/transform/patmat/Logic.scala
src/compiler/scala/tools/nsc/typechecker/Infer.scala
src/scaladoc/scala/tools/nsc/doc/model/ModelFactory.scala
test/files/neg/t5663-badwarneq.check
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To simplify building a release on jenkins, we run distpack-opt in one job,
store the `dists/` directory in a tar ball, archive that artifact and
copy it to the downstream jobs that package on windows and unix.
To make the tarball portable between machines, it must not use absolute symlinks.
|
|/ / |
|
|\ \
| | |
| | | |
Sanity for build.xml: exscriptus&positus delendus est.
|
| |\|
| | |
| | |
| | |
| | |
| | | |
Merges the relevant part of #2295 (build.xml cleanup),
with the relevant differences in build.xml carried forward,
as well as a fix in interactive/RangePositions for the sbt interface.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Reduced copy/pasting to the best of my antabilities.
The next person to duplicate anything without written
permission will be sentenced to a week in xmhell.
While I was at it, made sure that layering is respected.
The quick phase exclusively uses the locker compiler for building.
The jar task will fail when trying to create an empty jar.
Replaced the crazy if/unless/depends constructs by if/then/else.
Version suffix computation should now be comprehensible.
I threw in some validation to make sure the various suffixes are consistent.
Also, no more init/pre-foo tasks unless absolutely necessary.
Introduced a couple of macros to capture the essence of staged compilation.
Notes:
- remove lib.extra, standardize on aux.libs
- collapse *.javac.path and *.build.path
- rename starr.classpath to starr.compiler.path
- only repl needs jline, locker.compiler.path = locker.comp.build.path + forkjoin
- more uniform build.paths (compiler = reflect + library)
- uniformity means slightly bigger classpaths
(e.g. forkjoin is only used in library, but inherited by compiler)
- pruned: some spurious dependencies removed
- compilerpathref = compiler build path
- silence test.osgi, by hook or by crook
- centralized clean tasks
- reduce duplication in property usage
- fix pack.xml to pack scaladoc/partest instead of scaladoc/scala-partest
- TODO: -XDignore.symbol.file necessary for library? only needed for forkjoin?
- document usage from jenkins, fix typo: partest.scalac*_*opts
New targets:
- quick-opt
- strap-opt
- test.bc
- test.osgi
- test.osgi.comp
- test.osgi.init
- test.stability-opt
Removed/replaced targets:
- asm.clean asm.lib asm.start
- bc.run
- dist.latest dist.latest.unix dist.latest.win dist.start
- docs.all docs.manmaker docs.pre-comp docs.pre-continuations-plugin
- docs.pre-jline docs.pre-lib docs.pre-man docs.pre-partest docs.pre-scalap
- forkjoin.clean forkjoin.lib forkjoin.pack forkjoin.start
- graph.clean
- init.build.nopatch.release init.build.patch.release init.build.release
- init.build.snapshot init.build.suffix.done init.extra.tasks
- init.fail.bad.jdk init.hasbuildnum init.hasmavensuffix init.jars
- init.jars.check init.maven.jars init.maven.tasks init.osgi.suffix
- init.osgi.suffix.final init.osgi.suffix.snapshot init.testjava6
- init.version.done init.version.git init.version.release init.version.snapshot
- init.warn.jdk7 locker.pre-comp locker.pre-lib locker.pre-reflect
- locker.unlock.comp locker.unlock.lib locker.unlock.pre-comp
- locker.unlock.pre-lib locker.unlock.pre-reflect locker.unlock.reflect
- osgi.clean osgi.test osgi.test.comp osgi.test.init
- pack.clean pack.pre-bin pack.pre-comp pack.pre-lib pack.pre-partest
- pack.pre-plugins pack.pre-reflect pack.pre-scalap pack.start
- palo.comp palo.lib palo.pre-bin palo.pre-comp palo.pre-lib palo.pre-reflect
- palo.reflect palo.start quick.pre-bin
- quick.pre-comp quick.pre-interactive quick.pre-lib quick.pre-partest
- quick.pre-plugins quick.pre-reflect quick.pre-repl quick.pre-scalacheck
- quick.pre-scaladoc quick.pre-scalap
- sbt.clean sbt.compile sbt.done sbt.libs sbt.start
- starr.clean
- strap.clean strap.pre-comp strap.pre-lib strap.pre-reflect strap.start
- test.debug test.pre-run
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
The motivation is to provide static warnings
in cases like:
scala> (1, 2) match { case Seq() => 0; case _ => 1 }
res9: Int = 1
|
|/ |
|
|
|
|
|
|
|
| |
* Removes actors-migration hooks from partest
* Removes actors-migration code
* removes actors-migration tests
* removes actors-migration distribution packaging.
|
|
|
|
|
|
|
| |
* Adds BND manifest generation to the build.
* Adds OSGi pax-exam testing infrastructure
* Adds simple OSGi verification test for bundle resolution.
* Modifies distribution to use bundles.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These things are killing me. Constructions like
package scala.foo.bar.baz
import foo.Other
DO NOT WORK in general. Such files are not really in the
"scala" package, because it is not declared
package scala
package foo.bar.baz
And there is a second problem: using a relative path name means
compilation will fail in the presence of a directory of the same
name, e.g.
% mkdir reflect
% scalac src/reflect/scala/reflect/internal/util/Position.scala
src/reflect/scala/reflect/internal/util/Position.scala:9: error:
object ClassTag is not a member of package reflect
import reflect.ClassTag
^
src/reflect/scala/reflect/internal/util/Position.scala:10: error:
object base is not a member of package reflect
import reflect.base.Attachments
^
As a rule, do not use relative package paths unless you have
explicitly imported the path to which you think you are relative.
Better yet, don't use them at all. Unfortunately they mostly work
because scala variously thinks everything scala.* is in the scala
package and/or because you usually aren't bootstrapping and it
falls through to an existing version of the class already on the
classpath.
Making the paths explicit is not a complete solution -
in particular, we remain enormously vulnerable to any directory
or package called "scala" which isn't ours - but it greatly
limts the severity of the problem.
|
|\
| |
| | |
Allow skipping the xz archives
|
| |
| |
| |
| | |
Using 'ant -Darchives.skipxz=true'
|
|/
|
|
|
|
|
|
|
|
| |
As discussed in #999, #1025 and
https://groups.google.com/forum/?hl=en&fromgroups#!topic/scala-internals/5P5TS9ZWe_w
instrumented.jar is generated from the current source, there's no need
for a bootstrap commit.
Review by @paulp.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Kit consists of:
1) The StashingActor which adopts an interface similar to Akka.
2) Props mockup for creating Akka like code
3) Pattern mockup
4) Test cases for every step in the migration.
5) MigrationSystem which will paired on the Akka side.
Review of the code : @phaller
Review of the build: @jsuereth
|
|
|
|
|
|
|
| |
All those wildcards in a default-scoped implicit are expensive,
they each lead to a typevar on every search. Restructured the
Tuple2/Tuple3 Zipped classes, they're better this way anyway.
This also gets all that Tuple[23] code out of genprod.
|
|
|
|
|
|
|
|
|
| |
Suppresses specialization on a per-method basis.
I would have preferred to call it @nospecialize, but seeing as the
positive form of the annotation is @specialized, that would have sown
unnecessary grammatical confusion. @nospecialized sounds a bit too
caveman for my tastes. "Grog no specialized! Grog generic!"
|
|
|
|
|
|
| |
This reverts commit 1d0372f84f9a7325a47beb55169cc454895ef74b.
I forgot about polymorphic dispatch. Have to seek another way.
|
|
|
|
|
|
|
| |
Moved compose/andThen off Function1, curried/tupled off Function2.
Pushed Tuple2 zipped into auxiliary class. Created implicits to
plaster over the changes. This drops several hundred classfiles and
takes (unoptimized) scala-library.jar from 7.8 Mb to 7.4 Mb.
|
|
|
|
| |
Fix SI-5168.
|
|
|
|
| |
Another deprecated soul passes on to ether world.
|
| |
|
|
|
|
| |
This reverts commit f67a00a3cef270835369b8ab1bb57cbe8b2bd2a3.
|