summaryrefslogtreecommitdiff
path: root/build.xml
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | Align how ant builds asm & forkjoinGrzegorz Kossakowski2015-04-171-4/+4
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were two inconsistencies in building asm & forkjoin: 1. Asm classes lived in `build/asm`, while forkjoin's were in `build/libs/classes/forkjoin`. 2. Though no jars are needed for these projects, forkjoin was packaged, but asm was not. No reason for these inconsistencies could be found in the history.
* | | Remove akka-actor from scala-library-allLukas Rytz2015-04-301-2/+0
| | | | | | | | | | | | The 2.12 distribution will no longer ship an akka-actors jar.
* | | remove references to private-repo.typesafe.comLukas Rytz2015-04-301-2/+2
|/ /
* | Remove scala.actors and the actors migration module dependencyLukas Rytz2015-04-231-46/+7
| |
* | Remove the continuations plugin module dependencyLukas Rytz2015-04-231-32/+3
| |
* | Merge commit '32f520f' into merge/2.11-to-2.12-apr-1Lukas Rytz2015-04-011-0/+1
|\|
| * SI-9038 fix scaladoc syntax highlightning to leave unicode aloneAntoine Gourlay2015-03-261-0/+1
| | | | | | | | | | | | | | | | Syntax highlightning in code blocks used to manipulate the raw bytes of a String, converting them to chars when needed, which breaks Unicode surrogate pairs. Using a char array instead of a byte array will leave them alone.
* | Merge commit 'fcc20fe' into merge/2.11-to-2.12-apr-1Lukas Rytz2015-04-011-10/+11
|\|
| * Reuse the same compiler instance for all tests in a JUnit classLukas Rytz2015-03-111-0/+9
| | | | | | | | | | | | | | | | | | | | Note that JUnit creates a new instance of the test class for running each test method. So the compiler instance is added to the companion. However, the JVM would quickly run out of memory when running multiple tests, as the compilers cannot be GCd. So we make it a `var`, and set it to null when a class is done. For that we use JUnit's `@AfterClass` which is required to be on a static method. Therefore we add a Java class with such a static method that we can extend from Scala.
| * Correct dependency for test.junit.compAdriaan Moors2015-02-181-10/+2
| | | | | | | | | | | | It needs a packed build. Skip the optimization of only compiling junit tests when those source change, since we should also rebuild when e.g., library source changes
* | Merge remote-tracking branch 'origin/2.11.x' into ↵Jason Zaugg2015-01-291-3/+4
|\| | | | | | | | | | | | | | | | | merge/2.11.x-to-2.12.x-20150129 Conflicts: build.number src/library/scala/concurrent/Future.scala versions.properties
| * SI-8642 Enable OSGi tests under Java 8Jason Zaugg2015-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use the PAX Exam framework to integration test that the OSGi metadata we add to our JARs allows them to be loaded into the Felix and Equinox containers. However, we had to disable this test under Java 8 due to an incompatibility between that framework and the modern Java version. I have found a combination that works in Java 6, 7, and 8, so the test is now run under all Java versions. I have left a `skip` property to disable them, following the established convention. Tip of the hat to: - @soc / @rkrzewski for the work in #4066 that paved the way for this small change - Harald Wellman, for sharing [1] the Java 8 compatible combination of PAX and Felix . Testing: ``` for V in 1.6 1.7 1.8; do java_use $V; ant -q test.osgi; done java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode) ... [echo] Running OSGi JUnit tests. Output in /Users/jason/code/scala3/build/osgi [echo] Test pass 1 of 2 using Apache Felix 4.4.0 [echo] Test pass 2 of 2 using Eclipse Equinox 3.7.1 BUILD SUCCESSFUL Total time: 31 seconds java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode) ... [echo] Running OSGi JUnit tests. Output in /Users/jason/code/scala3/build/osgi [echo] Test pass 1 of 2 using Apache Felix 4.4.0 [echo] Test pass 2 of 2 using Eclipse Equinox 3.7.1 BUILD SUCCESSFUL Total time: 22 seconds java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode) ... [echo] Running OSGi JUnit tests. Output in /Users/jason/code/scala3/build/osgi [echo] Test pass 1 of 2 using Apache Felix 4.4.0 [echo] Test pass 2 of 2 using Eclipse Equinox 3.7.1 BUILD SUCCESSFUL Total time: 16 seconds ``` [1] https://groups.google.com/d/msg/ops4j/TN0sZFf6wLs/vUP0GML6-TQJ
| * Add an IntelliJ module for the Pax Exam based OSGi testsJason Zaugg2015-01-281-2/+3
| | | | | | | | We can now edit these in IntelliJ, as per the regular JUnit tests.
* | Merge commit '7ba38a0' into merge/2.11.x-to-2.12.x-20150129Jason Zaugg2015-01-291-14/+45
|\| | | | | | | | | | | | | | | Conflicts: build.number src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala src/library/scala/collection/Iterator.scala versions.properties
| * Merge pull request #4130 from mpociecha/let-specify-build-repos-homeGrzegorz Kossakowski2014-11-261-0/+2
| |\ | | | | | | Let users specify a different location for build repos than user home
| | * Let users specify a different location for build repos than user homempociecha2014-11-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is helpful e.g. when setting up CI for Scala and it's important which directories are used by a build. By default it uses .m2, .pax and .sbt/cache from user home (in general $HOME). Sometimes it's not possible to use this location and also changing a value of $HOME is not an option. The required location should be specified both for ant's build.xml and used scripts. In the first case specifying -Duser.home is all, what we need. But we can't just set _JAVA_OPTIONS as then partest tests fail due to the unexpected output (an additional 'Picked up java options (...)' messages). We can set ANT_OPTS instead of this. The only problem was that OSGi JUnit tests (only they) were using $HOME anyway. I forced them to use -Duser.home by propagating this option in build.xml. binary-repo-lib.sh is changed to use a special env variable or $HOME, when this variable is not set. Then we can do: export SCALA_BUILD_REPOS_HOME=<some_dir> export ANT_OPTS="$ANT_OPTS -Duser.home=$SCALA_BUILD_REPOS_HOME" ant dist and it will create all directories .m2, .pax and .sbt/cache in a specified $SCALA_BUILD_REPOS_HOME directory. Note: maven's settings.xml should be located in this used $SCALA_BUILD_REPOS_HOME/.m2 and point to the repository like <some_dir>/.m2/repository
| * | SI-8977 remove duplicate decoder.properties from scalapAntoine Gourlay2014-11-111-2/+1
| |/ | | | | | | | | All .properties files in sources folder are already included in the packed jar (see line 1028), so there is no need to add it again.
| * SI-8927 Update OSGi stuff to get rid of bndlib warningRafał Krzewski2014-10-231-12/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The way the desired OSGi frameworks are chosen has changed between Pax Exam versions: On earlier versions, specifying it in code was fine, but PAX Exam 4.x runs the tests on the first OSGi framework it finds on classpath. An exclusion for the transitive dependency org.osgi.core was added, because it seems that artifact has broken dependecies (which would have brought us back to square one). Good thing is that it isn't needed here, because the OSGi framework JARs contain all necessary classes.
* | Merge commit 'eb15950' into merge/2.11.x-to-2.12.x-20150129Jason Zaugg2015-01-291-1/+1
|\|
| * Better ant / junit interactionAntoine Gourlay2014-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'origin/2.11.x' into ↵Jason Zaugg2014-09-171-5/+11
|\| | | | | | | | | | | | | | | | | | | | | merge/2.11.x-to-2.12.x-20140917 Conflicts: build.xml The merge conflict was centred around the introduction of the build property `test.bc.skip`, and was straight forward to resolve.
| * Merge pull request #3972 from lrytz/BCodeDelambdafyFixJason Zaugg2014-09-161-2/+7
| |\ | | | | | | isAnonymousClass/Function for delambdafy classes is not true
| | * isAnonymousClass/Function for delambdafy classes is not trueLukas Rytz2014-09-121-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 for dead code elimination.Lukas Rytz2014-09-101-0/+1
| |/ | | | | | | JUnit tests may use tools from partest-extras (ASMConverters)
* | Merge commit '47908f1' into ↵Lukas Rytz2014-09-021-1/+7
|\| | | | | | | | | | | | | merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer Conflicts: src/library/scala/util/matching/Regex.scala
| * Add support for running a specific Junit test/method.Antoine Gourlay2014-08-251-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * Also update jline.version when update.versions is set during buildLukas Rytz2014-07-221-0/+2
| |
* | Merge commit '01f2d27' into ↵Lukas Rytz2014-09-021-2/+0
|\| | | | | | | merge/2.11-to-2.12-is-it-really-sept-2-already-where-was-summer
| * Bump jline version to 2.12 (Re: SI-8535)Adriaan Moors2014-07-151-2/+0
| | | | | | | | Move version info where it belongs: versions.properties
* | Merge remote-tracking branch 'origin/2.11.x' into merge/2.11.x-to-2.12.xJason Zaugg2014-06-101-14/+18
|\|
| * Disable OSGi tests under Java 8Jason Zaugg2014-06-041-14/+18
| | | | | | | | | | I've lodged SI-8642 with more details of the failure to make sure we get them going again.
* | Merge remote-tracking branch 'origin/2.11.x' into merge/2.11.x-to-2.12.xJason Zaugg2014-05-091-1/+1
|\|
| * Use 2.11.0 as the MiMa baseline for 2.11.xJason Zaugg2014-05-071-1/+1
| | | | | | | | Rather than 2.11.0-RC3.
* | Disable MiMa on the 2.12.x branchJason Zaugg2014-05-061-2/+3
|/
* IntelliJ project filesLukas Rytz2014-05-021-1/+2
| | | | Fixes compilation within IDEA. Allows compiling and running JUnit tests directly withing the IDE.
* Another spot to fully cross version continuations pluginJason Zaugg2014-04-211-0/+1
| | | | | | | | | | | | 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.
* Render scala.full.version to versions.properties.Adriaan Moors2014-04-041-0/+2
| | | | | | | | | | | | | | | 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.
* Remove distribution building from ant build, see scala/scala-dist.Adriaan Moors2014-03-031-177/+60
| | | | | | | | | | | | | | | | | | | | | | | 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 ```
* No longer generate deprecated dists/maven/latest/build.xmlAdriaan Moors2014-03-031-33/+7
| | | | | The distpack-maven-* targets no longer create said dir/build. Use the publish tasks directly instead.
* Check library/reflect bincompat against 2.11.0-RC1Adriaan Moors2014-03-031-8/+3
| | | | Changes in the package scala.reflect.internals are ignored.
* Update ant build's update.versions mechanism.Adriaan Moors2014-02-271-12/+22
|
* Revert "SI-7624 Fix -feature warnings in scala/tools/scalap"Grzegorz Kossakowski2014-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix ./build/<stage>/bin/scaladocJason Zaugg2014-02-221-0/+1
| | | | | | | | | | | | | | | | | 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
* Merge pull request #3395 from adriaanm/dist-cleanupJason Zaugg2014-02-061-1/+1
|\ | | | | Dist cleanup
| * Scaladoc jars should go to /api.Adriaan Moors2014-01-211-1/+1
| |
* | Merge pull request #3404 from gkossakowski/java8-supportGrzegorz Kossakowski2014-01-241-0/+4
|\ \ | | | | | | Preliminary support for building and testing with Java 8
| * | Add support for Java 8 in our build.Grzegorz Kossakowski2014-01-211-0/+4
| |/ | | | | | | | | We explicitly check for supported Java versions in our build. Add Java 8 to the list of supported versions.
* | fix to partest.crossAntonio Cunei2014-01-221-2/+2
| |
* | Add cross suffix customizability for modulesAntonio Cunei2014-01-221-7/+17
|/ | | | | | | | | | 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.
* Merge pull request #3277 from adriaanm/scala-dist-mavenAdriaan Moors2014-01-091-114/+125
|\ | | | | Scala dist maven