| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently junit test sources are always rebuilt, that's wasteful. The
second dependency on the junit task is there so that the first can be
skipped if sources haven't changed.
Also normalize package names versus location in the `test/junit` folder:
ant isn't very clever when it comes to selectively recompiling tests, so
now editing a test will only cause that one to be recompiled (instead of
~13 files every time).
This makes TDD with junit even faster.
|
|\
| |
| | |
isAnonymousClass/Function for delambdafy classes is not true
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ydelambdafy:method lambda classes are not anonymous classes, and not
anonymous function classes either. They are somethig new, so there's
a new predicate isDelambdafyFunction.
They are not anonymous classes (or functions) because anonymous
classes in Java speak are nested. Delambdafy classes are always
top-level, they are just synthetic.
Before this patch, isAnonymous was sometimes accidentailly true: if
the lambda is nested in an anonymous class. Now it's always false.
|
|/
|
|
| |
JUnit tests may use tools from partest-extras (ASMConverters)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unless I really missed something, there is currently no way to run a
specific Junit test (class or method). Running the whole thing is going
to get worse and worse since Junit is supposed to be the preferred way,
so here it goes:
// will run all methods in a test file
ant test.junit -Dtest.class=scala.WhateverTest
// will run a specific method (just an alias for the one below)
ant test.junit -Dtest.class=scala.WhateverTest -Dtest.method=mymethod
// will run several methods (comma separated)
ant test.junit -Dtest.class=scala.WhateverTest -Dtest.methods="foo,bar"
`test.method(s)` without `test.class` is just ignored (all tests are
run).
|
| |
|
|
|
|
| |
Move version info where it belongs: versions.properties
|
|
|
|
|
| |
I've lodged SI-8642 with more details of the failure to make sure we
get them going again.
|
|
|
|
| |
Rather than 2.11.0-RC3.
|
|
|
|
| |
Fixes compilation within IDEA. Allows compiling and running JUnit tests directly withing the IDE.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The continuations plugin is fully cross versioned, as it
dependes on the non-BC compiler API.
I had to make the same change externally releasing 2.11.0:
https://github.com/scala/jenkins-scripts/pull/99/files
This fix addresses the problem in scala/scala. Without it,
we can't resolve dependencies in development.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When called with -Dupdate.versions, the build will render its current
set of versions to versions properties. This is used during releases,
when bootstrapping to a consistent set of modules that constitute
a release.
Particularly, scala.full.version is the non-SNAPSHOT full version
of scala that's closed to maven.version.number. It's similar in
spirit to the module build's snapshotScalaBinaryVersion,
except that it's always the full version, so, e.g., 2.11.1 rather than 2.11.
This version is so far only used to determine the dependency on
scala-continuations-plugin in scala-dist.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only result of all this duplication was bitrot.
The main build is responsible for building, testing, documenting and publishing.
(It publishes everything needed to build a distribution to maven in
`pack-maven.dist`.)
The sbt build over at scala/scala-dist handles distribution building for the
various platforms.
Note: after `ant build`, `build/pack` will have a pretty complete distribution.
(The only thing missing are the docs: see targets `pack.doc` and `docs.done`.)
To build your own distribution, do, e.g.:
```
ant publish-local-opt -Dmaven.version.suffix="-foo"
cd ~/git
hub clone scala/scala-dist
cd scala-dist
sbt 'set version := "2.11.0-foo"' 'set resolvers += Resolver.mavenLocal' universal:package-bin
```
|
|
|
|
|
| |
The distpack-maven-* targets no longer create said dir/build.
Use the publish tasks directly instead.
|
|
|
|
| |
Changes in the package scala.reflect.internals are ignored.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit f2de2c4ec43180351ef1f306bcc5f24643ba5477 because it
broke both lift-json and json4s libraries that depend on scalap's APIs.
Arguably, those libraries shouldn't depend on unofficial APIs but they do
because they had no better alternative at the time (no Scala reflection).
The cost of breaking them is not worth minor change of the package.
The f2de2c4ec43180351ef1f306bcc5f24643ba5477 mixed two things:
1. Fixing feature warnings
2. Changing package name
When reverting (and resolving conflicts) I tried to keep 1. and revert just
2. However, there were also some questionable changes related to 1. that
got reverted. In particular, a package object with implicit members that
enable language features is an anti-pattern because members of package
object are visible both _within_ and _outside_ of the package. Therefore,
user could use wildcard import for importing everything from scalap
package and enabled postfixOps language feature unknowingly. I went for
just adding imports in just those few files where they were needed.
Amended by Adriaan:
To allow faster turn around, I re-enabled resolving partest from sonatype,
as its version needs to be bumped and I don't want to wait for maven central synch.
Conflicts:
src/partest/scala/tools/partest/nest/Runner.scala
src/scalap/scala/tools/scalap/scalax/rules/Memoisable.scala
src/scalap/scala/tools/scalap/scalax/rules/Rule.scala
src/scalap/scala/tools/scalap/scalax/rules/Rules.scala
src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala
src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Was:
./build/quick/bin/scaladoc -version
Exception in thread "main" java.lang.NoClassDefFoundError: scala/tools/nsc/ScalaDoc
Caused by: java.lang.ClassNotFoundException: scala.tools.nsc.ScalaDoc
Now:
% for tool in ./build/quick/bin/{fsc,scala,scalac,scaladoc,scalap}; do $tool -version; done
Fast Scala compiler version 2.11.0-20140222-144307-b0dcf79875 -- Copyright 2002-2013, LAMP/EPFL
Scala code runner version 2.11.0-20140222-144307-b0dcf79875 -- Copyright 2002-2013, LAMP/EPFL
Scala compiler version 2.11.0-20140222-144307-b0dcf79875 -- Copyright 2002-2013, LAMP/EPFL
Scaladoc version 2.11.0-20140222-144307-b0dcf79875 -- Copyright 2002-2013, LAMP/EPFL
Scala classfile decoder version 2.0.1 -- (c) 2002-2013 LAMP/EPFL
|
|\
| |
| | |
Dist cleanup
|
| | |
|
|\ \
| | |
| | | |
Preliminary support for building and testing with Java 8
|
| |/
| |
| |
| |
| | |
We explicitly check for supported Java versions in our build.
Add Java 8 to the list of supported versions.
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
For each module whose version can be specified using
the property "xxx.version.number", it is now possible
to specify its cross version suffix by using an
optional property "xxx.cross.suffix".
If such a property is not defined, then continue to
use the string "_${scala.binary.version}", as before.
|
|\
| |
| | |
Scala dist maven
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
If you'd rather depend on all Scala has to offer, module-wise,
depend on scala-library-all. This dependency determines the
jars that ship with the Scala distribution. To achieve parity
via maven resolution, this is the artifact to depend on.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We now publish a scala-dist artifact every time we publish to maven.
It captures everything needed to build a Scala distribution.
The packager should resolve all transitive dependencies of scala-dist,
put the class-file jars in the lib/ directory,
the scaladoc jars in the api/ directory,
and the source jars in the src/ directory,
in addition to unpacking the scala-dist jar itself,
which contains the bin/, doc/ and man/ directories,
which previously weren't available on maven.
This also removes the `@{dir}` abstraction, which was used to
package the continuations plugin. Since it's moved out,
we can go back to hard-coding it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
NOTE: `maven/latest/build.xml` is now deprecated.
To publish a Scala build, simply call `ant publish` or `ant publish-local`.
`maven/latest/build.xml` will soon disappear from `dists/`
The idea is that a Scala distribution is a simple
repackaging of artifacts already available on maven.
Already available: typical jars for the artifacts (classes, sources, scaladoc).
To add: the bin/, doc/, and man/ directories.
Thus, move the contents that should end up in the distribution
from docs/ to doc/, create the man/ directory with the manpages,
and include the scripts in bin/.
Next up: package these directories in a jar and publish to maven,
with a dependency on scala-library-all, scala-reflect and scala-compiler,
for the jars that should end up in the distribution.
Refactorings:
- Pull filter-pom out from deploy-one.
- Rename maven-base to dist.maven.
- Set all properties in the init target (dist.maven)
|
| | |
|
| |
| |
| |
| |
| | |
This was recently refactored from build.xml. Changing either file
should invalidate caches.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes to the compiler or library were not triggering recreation
of the OSGI JARs, which are used in the local maven deployment tasks.
Reason: this Ant-ipattern:
<fileset base="/foo">
<include name="/foo/bar.baz"/>
</fileset>
Instead, we should use a <filelist/>, which doesn't require
a base directory. This can be composed into a <srcresources/>
element in the <uptodate/>.
Phew!
|
|
|
|
|
| |
The Scala Swing library will still ship with 2.11 (albeit unsupported).
It now resides at https://github.com/scala/scala-swing.
|
|
|
|
|
| |
The continuations plugin and library will still ship with 2.11 (albeit unsupported).
They now reside at https://github.com/scala/scala-continuations.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
build.examples.xml
build.xml
docs/examples/actors/pingpong.scala
docs/examples/fors.scala
docs/examples/iterators.scala
docs/examples/jolib/Ref.scala
docs/examples/jolib/parallelOr.scala
docs/examples/monads/callccInterpreter.scala
docs/examples/monads/directInterpreter.scala
docs/examples/monads/errorInterpreter.scala
docs/examples/monads/simpleInterpreter.scala
docs/examples/monads/stateInterpreter.scala
docs/examples/parsing/ArithmeticParser.scala
docs/examples/patterns.scala
docs/examples/pilib/elasticBuffer.scala
docs/examples/pilib/handover.scala
docs/examples/pilib/piNat.scala
docs/examples/typeinf.scala
src/build/pack.xml
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We forgot to copy the licenses directory to the dists/ directory,
so that they weren't included in the binary distribution.
I did some house cleaning while I was at it. We no longer distribute
ant as far as I can see (we used to for the sbt build,
but that was long since removed).
Added license for ASM, and Jansi (just to be sure).
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since our jenkins uses mirrors with passwords,
we needed a fix for https://ops4j1.jira.com/browse/PAXURL-217
in order to run osgi.test on jenkins, now that we use maven more.
We didn't hit this bug before because we were using a standard
location for the maven local repository, but that causes problems
with concurrent jenkins jobs accessing it.
Also, upgrade STARR because Jenkins is using `skip.locker` now.
See https://groups.google.com/d/msg/scala-internals/7R-Y5txP8NI/DX_JWFO2fu4J
for a discussion of the problem this should fix.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to be able to use published Scala jars as OSGi bundles in the
Eclipse build, Eclipse needs to match sources and binaries. That is
done by making source jars *source bundles*. This PR adds the required
manifest entries. Nothing else should be affected (file names remain
the same).
Cherry picked from 655b7d2601d7db9e98bb405da0a67c9068c98626
Conflicts:
build.xml
After this commit:
```
% ant -q dist.src
% for f in dists/scala-2.10.3-20130921-144112-892aa93cf7/src/*.jar; do \
echo $f \
unzip -p $f META-INF/MANIFEST.MF \
done
dists/scala-2.10.3-20130921-144112-892aa93cf7/src/fjbg-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
dists/scala-2.10.3-20130921-144112-892aa93cf7/src/msil-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-actors-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Actors Sources
Bundle-SymbolicName: org.scala-lang.scala-actors.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-actors;version="2.10.3.v201
30921-144112-892aa93cf7";roots:="."
dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-compiler-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Compiler Sources
Bundle-SymbolicName: org.scala-lang.scala-compiler.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-compiler;version="2.10.3.v2
0130921-144112-892aa93cf7";roots:="."
dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-library-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Library Sources
Bundle-SymbolicName: org.scala-lang.scala-library.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-library;version="2.10.3.v20
130921-144112-892aa93cf7";roots:="."
dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-partest-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-reflect-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Reflect Sources
Bundle-SymbolicName: org.scala-lang.scala-reflect.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-reflect;version="2.10.3.v20
130921-144112-892aa93cf7";roots:="."
dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-swing-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
Bundle-Name: Scala Swing Sources
Bundle-SymbolicName: org.scala-lang.scala-swing.source
Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7
Eclipse-SourceBundle: org.scala-lang.scala-swing;version="2.10.3.v2013
0921-144112-892aa93cf7";roots:="."
dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scalap-src.jar
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.)
```
|
| |\
| | |
| | | |
update typesafe.artifactory-online.com to private-repo
|
| | | |
|
|\ \ \
| | | |
| | | | |
Use -Dupdate.versions to update versions.properties
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The STARR ("stable reference") compiler is used to bootstrap the compiler.
It is now always resolved from maven, based on the `starr.version`
property (stored in `versions.properties`).
Before, we used the `.desired.sha1` mechanism to pull a set of jars
that define the compiler used to build locker ("local reference"),
which then builds quick.
From now on, we only support officially released versions of STARR.
Milestones are allowed of course, which means that, instead of
breaking change, STARR evolution must support old and new behavior
for at least one milestone cycle.
For local development, use the `replacestarr` target as before.
It builds quick (core only) and publishes it to your local maven repo
with a generated version number, which is saved as `starr.version`
in `build.properties` for convenience (overriding `versions.properties`),
so that your next build will use this version of the compiler for STARR.
You may now think of STARR as STAble Reference Release -- if you will.
|
|/ / /
| | |
| | |
| | | |
No functional changes -- in an effort to separate state from behavior.
|