summaryrefslogtreecommitdiff
path: root/build.xml
Commit message (Collapse)AuthorAgeFilesLines
* M6 modules, partest depends on scala as provided.Adriaan Moors2013-11-111-32/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new partest now marks its scala dependencies as provided. This is much more robust than before, and it breaks ugly cycles. Updated the build for partest-extras to provide the required scala-compiler dependency. Also, upgrade pax-url-aether to 1.6.0. 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. So, I added the following to `~/.m2/settings`, and then ran into the issue described above. Also removed some non-essential uses of the extra-repo (slows stuff down), and added a comment of how to make the osgi tests look in a certain local m2 repo (for /some/ operations...) ``` <!-- Maven repos are not safe for concurrent access, thus give each job its own. The WORKSPACE env var is set by jenkins to the path of the current job's workspace. This settings file will cause ant/maven to break if WORKSPACE is not set (to a writeable directory). I don't know how to encode a fall back, but I assume it's not needed as this is ~jenkins/.m2/settings.xml --> <localRepository>${WORKSPACE}/m2repo</localRepository> ```
* IDE needs actors/swing/continuations publish for validation.Adriaan Moors2013-11-071-0/+8
| | | | | As soon as they are also modularized, we can go back to only building/publishing the core (lib/reflect/compiler).
* More useful ant targets for faster pr validationAdriaan Moors2013-11-071-9/+5
|
* Extra repository hook via `extra.repo.url` varAdriaan Moors2013-11-071-4/+4
| | | | | | Previously defaulted to 'https://oss.sonatype.org/content/repositories/releases', now must be set manually. PR validation uses it to configure the repository that has the artifacts published during validation.
* Render relevant properties to buildcharacter.propertiesAdriaan Moors2013-11-061-0/+11
|
* Enforce consistency of pack, docs, osgi, maven tasks.Adriaan Moors2013-11-061-141/+201
| | | | | | | | | | | | | Instead of scattering properties all over invocations of staged-docs, staged-pack, make-bundle, copy-bundle and mvn-package, these are now all fully determined by the project they act on. The varying arguments to these macros are all centralized. They are named like `project.prop`, where `prop` is one of: description, package, dir, name, namesuffix, version, targetdir, targetjar, jar, docroot, skipPackage, srcdir, src, srcjar. The defaults for these properties are computed using `init-project-prop`.
* Bundle source and class file bundling in osgi bundling.Adriaan Moors2013-10-251-85/+59
| | | | Fix oversight in not skipping scalap's ad-hoc published docs on docs.skip.
* Build cleanup. Prepare for scaladoc module build.Adriaan Moors2013-10-221-38/+42
|
* Targets for publishing core to maven.Adriaan Moors2013-10-221-11/+42
| | | | | | | | | | | | `ant publish-core-signed-opt-nodocs` creates and publishes the smallest possible set of jars (library/reflect/compiler) we can send to maven. It uploads jars with class files and sources, but no docs (so that we don't need to build scaladoc or any other modules). `ant publish-core-signed-opt` is similar, but also publishes docs. For local experimentation: `ant publish-core-local-nodocs`. With a little bit more work, this can be used instead of `replacestarr`.
* Towards minimal build for publishing core to maven.Adriaan Moors2013-10-221-239/+251
| | | | | | | | | | | | 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.
* Support publishing to maven from main buildAdriaan Moors2013-10-221-0/+28
| | | | | | | | | | | 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`.
* Simplify packing, align maven-deploy and pack-maven.Adriaan Moors2013-10-211-173/+101
|
* Inline src/build/pack.xml into build.xml.Adriaan Moors2013-10-211-10/+233
| | | | It tended too easily to get out of synch with build.xml.
* Continuations plugin gets its own osgi source bundle.Adriaan Moors2013-10-211-9/+14
|
* Generate scaladoc for each subproject.Adriaan Moors2013-10-211-68/+63
|
* Untangle classpaths related to doc targets.Adriaan Moors2013-10-211-16/+26
|
* Remove dead target: locker.actorsAdriaan Moors2013-10-211-8/+0
|
* Clarify comment.Adriaan Moors2013-10-211-1/+2
|
* Fix problem assembling sources and docs of modules.Jason Zaugg2013-10-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent commit added 'overwrite=true' to all usages of the Ant copy task. This was enough to show up a bug in our dist.src and dist.docs tasks, as was seen on the Windows build: Failed to copy: C:\Users\scala\.m2\repository\org\scala-lang\modules\scala-xml_2.11.0-M5\1.0-RC4\scala-xml_2.11.0-M5-1.0-RC4-javadoc.jar to H:\jenkins\workspace\scala-nightly-windows\dists\scala-2.11.0-20131019-064627-8848f24161\doc\scala-devel-docs\C:\Users\scala\.m2\repository\org\scala-lang\modules\scala-xml_2.11.0-M5\1.0-RC4\scala-xml_2.11.0-M5-1.0-RC4-javadoc.jar ... This commit uses a "flattening" copy to put the JARs directly into scala-devel-docs. The Ant docs note [1] this gotcha: > Note that some resources (for example the file resource) return > absolute paths as names and the result of using them without > using a nested mapper (or the flatten attribute) may not be what > you expect. These appear to be the only places we fell into the trap: ack '<file\b' --xml build.xml 1948: <file file="${scala-xml-javadoc}"/> 1949: <file file="${scala-parser-combinators-javadoc}"/> 1992: <file-sets/> 2007: <file file="${scala-xml-sources}"/> 2008: <file file="${scala-parser-combinators-sources}"/> [1] http://ant.apache.org/manual/Tasks/copy.html
* Merge pull request #3029 from xeno-by/ticket/6240Eugene Burmako2013-10-181-1/+3
|\ | | | | reflection sync
| * improves OSGi test runner in AntJason Zaugg2013-10-181-1/+3
| | | | | | | | | | | | | | - Include pack/lib/*.jar in the uptodatecheck - (Hopefully that saves the next guy a few hours) - Switch the the XML formatter (I couldn't find output from the other one) and mention the output directory.
* | Use overwriting copy uniformly in our build.Jason Zaugg2013-10-181-17/+18
| | | | | | | | | | | | | | | | | | | | 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.
* | fix uptodate checking for osgi.doneJason Zaugg2013-10-181-0/+4
| | | | | | | | | | A new file in ./build/pack/lib/scala-compiler.jar should trigger this task, otherwise ./build/osgi/org.scala-lang.scala-compiler.jar becomes stale.
* | Skip more under ant -Ddocs.skip.Jason Zaugg2013-10-181-35/+37
|/ | | | | | | | - 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
* Merge remote-tracking branch 'scala/master' into fix-merge-3018Grzegorz Kossakowski2013-10-141-38/+40
|\ | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/typechecker/Typers.scala
| * An ant property to skip building docsJason Zaugg2013-10-111-38/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | It can be situationally useful to run: ant -Dskip.docs=1 dist-maven When troubleshooting problems that require creation of a distribution, such as pr-integrate-partest. Scaladoc isn't incremental, so you burn a few minutes for a single file change to the compiler or library.
* | Simplify partest.task target, fix typo in comment.Adriaan Moors2013-10-041-2/+2
|/
* Merge pull request #2964 from retronym/topic/ant-18Jason Zaugg2013-09-211-0/+5
|\ | | | | Require Ant >= 1.8.2
| * Require Ant >= 1.8.2Jason Zaugg2013-09-191-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reportedly our build fails with Ant earlier incarnations. Time to raise the bar. Tested by temporarily setting the requirement to 1.8.5 and observing: % ant init Buildfile: /Users/jason/code/scala/build.xml desired.jars.uptodate: boot: init: BUILD FAILED /Users/jason/code/scala/build.xml:216: Ant version 1.8.5 is required. You are running Apache Ant(TM) version 1.8.4 compiled on May 22 2012
* | SI-7862: MANIFEST.MF file for Scala sourcesIulian Dragos2013-09-201-7/+47
|/ | | | | | | 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).
* SI-7843 Restore JSR 223 service entrySom Snytt2013-09-141-2/+1
| | | | | | | | | | | | | The 2.10 fix to remove the ScriptEngine service entry was inadvertently forwarded to 2.11. This commit reverts and adds a test. This situation was entirely foreseen by retronym, proving beyond doubt that he is in fact a time traveler, as hinted by his name. He brings bugs forward into the future and returns into the past with fixes and other alien technology like scalaz.
* Build partest-extras under `pack.done`Jason Zaugg2013-09-101-9/+16
| | | | | | | | | | | | | | | | | ... rather than just in `test.suite.init`. Now: % ant pack.done | egrep -i 'compiling|jar' desired.jars.uptodate: [quick.partest-extras] Compiling 1 file to /Users/jason/code/scala/build/quick/classes/partest-extras [jar] Building jar: /Users/jason/code/scala/build/pack/lib/scala-partest-extras.jar Note: Because of the recent changes to the way that the classpath or partest is build up (it is done via `ant test.suite.init`), partest no longer works with quick/classes, the classpath is always taken as `pack`. So `ant quick.bin && ./test/partest` is insufficient; you need to run `ant pack.done`, or just `ant` if you prefer brevity.
* Merge pull request #2855 from adriaanm/modularize-xml-parsersv2.11.0-M5Grzegorz Kossakowski2013-09-061-104/+125
|\ | | | | Modularize: xml & parser-combinators
| * Include xml and parsers in dist, tool classpath.Adriaan Moors2013-08-291-59/+82
| | | | | | | | | | | | | | | | | | | | This brings the external modules (xml, parsers) back to the classpaths of build/(quick|pack)/bin/scala*. Include the OSGIfied jars for external modules in dist. (TODO: OSGI-fy externally) Download javadoc/sources from maven and include in dist.
| * Don't use sonatype to resolve jars relevant to a release.Adriaan Moors2013-08-281-7/+8
| | | | | | | | | | | | | | | | To eliminate any delay between deploying partest to sonatype and using it for development, we resolve it through sonatype. Not acceptable for jars that ship as part of the release, such as scaladoc (we'd see a jar others might not see).
| * Remove scala-xml and scala-parser-combinatorsAdriaan Moors2013-08-271-71/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'scala/2.10.x' into merge-2.10.xGrzegorz Kossakowski2013-09-051-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bincompat-backward.whitelist.conf bincompat-forward.whitelist.conf src/reflect/scala/reflect/internal/SymbolTable.scala src/reflect/scala/reflect/internal/util/WeakHashSet.scala src/reflect/scala/reflect/runtime/JavaMirrors.scala
| * | [nomaster] SI-7790 No ScriptEngine in 2.10 buildSom Snytt2013-08-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The service entry was inadvertendly added in `e3b5e0ba40447970d621cfeed5cc1770df69884f`, "Sanity for build.xml: exscriptus&positus delendus est," which is ant latin for: "Reduced copy/pasting to the best of my antabilities." With that degree of hubris, it was inevitable that the commit introduced a copy/paste bug. What is the Attic Greek for copy/paste? I'm pretty sure that in fifth century Athens they would just pound one inscription to rubble using a bigger inscription. They had slaves for that kind of work. You never hear about Socrates tweaking the build script. That's the reason he never wrote anything down.
* | | Target junit.clean to clean junit artifactsSom Snytt2013-09-021-1/+5
| | | | | | | | | | | | And all.clean will also junit.clean.
* | | Merge pull request #2880 from huitseeker/update-artifactoryGrzegorz Kossakowski2013-08-301-2/+2
|\ \ \ | | | | | | | | update typesafe.artifactory-online.com to private-repo.typesafe.com
| * | | update typesafe.artifactory-online.com to private-repoFrançois Garillot2013-08-271-2/+2
| | | |
* | | | Echo the location of JUnit test failure reports in `ant test.junit`.Jason Zaugg2013-08-271-0/+1
| |_|/ |/| | | | | | | | For other dummies like me hammering out "My First Scalac JUnit Test."
* | | Use scala-partest 1.0-RC4Adriaan Moors2013-08-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RC3 had a binary incompatibility that led to a crash in parsing options, due to: - https://github.com/scala/scala-partest/commit/9ff138ab4b - https://github.com/scala/scala/commit/2b1563fa74 Also added sonatype as a repo for resolving partest, so we don't have to wait for artifacts to synch to maven central.
* | | Move partest to https://github.com/scala/scala-partestAdriaan Moors2013-08-201-105/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | | SI-7624 Fix -feature warnings and build with -featureSimon Ochsenreither2013-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I added a language.existential import to LazyCombiner.scala which should not be necessary, but causes a spurious warning otherwise: scala/src/library/scala/collection/parallel/mutable/LazyCombiner.scala:33: warning: the existential type scala.collection.parallel.mutable.LazyCombiner[_$1,_$2,_$3] forSome { type _$1; type _$2; type _$3 <: scala.collection.generic.Growable[_$1] with scala.collection.generic.Sizing }, which cannot be expressed by wildcards, should be enabled by making the implicit value scala.language.existentials visible. if (other.isInstanceOf[LazyCombiner[_, _, _]]) { ^ I created ticket SI-7750 to track this issue.
* | | Merge pull request #2741 from retronym/topic/intellij-modularAdriaan Moors2013-08-081-0/+16
|\ \ \ | | | | | | | | Scrubbing up the IntelliJ Config
| * | | Scrubbing up the IntelliJ ConfigJason Zaugg2013-07-291-0/+16
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add recently sprouted modules (xml and parser-combinators) - Replace some of the documentation with a setup script - Update Ant build to copy Maven sourced JARs to ./build/deps. These are included in the IntelliJ classpath. - Define the library for Ant at the project level based on ./lib, rather than asking the user to define global library. - Disable Type Aware Highlighting by default. IntelliJ now can build everything within the IDE with CTRL-F9.
* | | Make junit runner quiet when tests pass.Grzegorz Kossakowski2013-07-271-1/+1
| | | | | | | | | | | | | | | | | | Do not show output printed to standard output by default. When a test fails it will be recorded in a report but when it passes we don't need any debugging logging to be printed.
* | | Update sbt interface version to 0.12.4.Grzegorz Kossakowski2013-07-271-1/+1
|/ / | | | | | | | | | | | | In particular, that version contains the sbt/sbt@1b897a3a9422b698bf2c04103169a5eef1ff5b43 commit which removes all residence compiler infrastructure and makes incremental compiler less dependent on compiler internals.
* | Unfork jline: use vanilla jline 2.11 as a dependency.Adriaan Moors2013-07-051-15/+24
| | | | | | | | | | | | | | | | 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