summaryrefslogtreecommitdiff
path: root/src/build
Commit message (Collapse)AuthorAgeFilesLines
* Typo and spelling correctionsJanek Bogucki2016-11-111-1/+1
|
* Remove the ant buildStefan Zeiger2016-09-0216-518/+0
| | | | | | | | | | | | - Remove ant scripts. - Remove shell scripts that were specific to the ant build or the old `*.desired.sha1` binary artifact management. - Remove `build.number`. - Remove `src/build/maven` and `src/build/bnd`. The POM and Manifest metadata is generated in a different way by sbt.
* clean up genprod, get rid of warning (#5361)Seth Tisue2016-08-291-10/+8
| | | | | No more "Selecting value MAX_ARITY from object genprod, which extends scala.DelayedInit, is likely to yield an uninitialized value" at start of every build.
* SI-9560 Remove dependency on parser-combinators/jsonSimon Ochsenreither2016-07-224-14/+2
| | | | | | | Also update a few example IDE files for Eclipse and IntelliJ. This drops the dependency by integrating the bare minimum functionality to keep things working.
* SI-7301 Make tuple classes finalStefan Zeiger2016-07-071-2/+1
| | | | | This includes undoing the special case for `-Xfuture` introduced in https://github.com/scala/scala/pull/2299 and updating tests to take the new errors into account.
* Merge remote-tracking branch 'origin/2.11.x' into ↵Jason Zaugg2016-02-259-18/+17
|\ | | | | | | | | | | | | | | | | | | | | 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.
| * Typesafe is now LightbendSeth Tisue2016-02-249-18/+18
| |
| * Fix off-by-one documentation error in Product<N>Janek Bogucki2016-02-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sanity check: scala> case class P2(i: Int, j: Int) defined class P2 val p2 = P2(1, 3) p2.productElement(0) res0: Any = 1 p2.productElement(1) res1: Any = 3 p2.productElement(2) java.lang.IndexOutOfBoundsException: 2 at P2.productElement(<console>:10)
* | Remove further references to forkjoinJason Zaugg2015-07-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use j.u.c.Forkjoin directly in active and disabled tests Remove bitrotted benchmarks code I was going to update these to use `java.util.concurrent.ForkJoin` directly, instead of our deprecated stubs. But most of them don't compile anymore (e.g. scala.testing.Benchmark has been removed, ClassTag imports missing). While I'm all for benchmarks, we should have large swathes of code checked in that isn't at compiled and run automatically. I'm happy to help someone resurrect these in a suitable form.
* | Prepare build for inclusion of java8-compatLukas Rytz2015-07-018-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <h1>Allow mixed builds in ant</h1> The `JFunction` classes depend on the `FunctionN` traits, so the Java compiler needs the Scala library on the classpath. At the same time, while compiling the Scala library, the symbols for `JFunction` classes need to be available to emit indy-lambda closures. Therefore we pass the `JFunctions` as Java sources while compiling the Scala library. <h1>Upgrade versions of osgi tools</h1> Set the required java version in bnd files (JavaSE-1.8). Introduce `scala-swing.version.osgi` as a quick hack to allow manually deriving an osgi-friendly version number for the `scala-swing.version.number`. The latter is used to resolve the artifact, the osgi version is just so we can generate a bundle that osgi will accept. Bnd 1.50 doesn't work with Java 8 classfiles, so upgrade to 2.4.1. Also upgrade all other tools to make tests pass. For `org.eclipse.osgi` we moved to the group ID `org.eclipse.tycho`, where there's a newer version available. The osgi tests would fail with the most recent version available in the `org.eclipse.osgi` groupID. The new version of bnd only copies *classfiles* from the original into the resulting jar, while the old version also copied all other files. This caused osgi test failure with a `NoClassDefFound`, which was really due to a `NumberFormatException` in `ScalaVersion`, as it couldn't find the properties file to parse the version in... Include resources from source jar into osgi bundle as follows: ``` Include-Resource: @@SOURCE_JARNAME@ ``` This makes bnd copy all resources from the source jar. I ran the following on the osgi artifacts of this branch, and on 2.11.x: ``` for f in `find build/osgi -name '*.jar' -a -not -name '*src.jar'`; do unzip -l $f | grep -v '\.class' ; done ``` Comparing the two file lists, things look OK: https://gist.github.com/lrytz/be08db051a53eded192d
* | Merge commit 'bb102e7' into merge-2.11-to-2.12-june-26Lukas Rytz2015-06-261-1/+1
|\|
| * Fix 8 typos (j-l)Janek Bogucki2015-06-231-1/+1
| |
* | Merge branch '2.11.x' into merge/2.11.x-to-2.12.x-20150624Jason Zaugg2015-06-241-8/+5
|\|
| * SI-8858 doc: fix note about PartialFunction in Function0, F1 and F2vsalvis2015-06-171-8/+5
| |
* | Remove traces of scala-actorsLukas Rytz2015-05-201-9/+14
| |
* | Remove akka-actor from scala-library-allLukas Rytz2015-04-301-5/+0
| | | | | | | | The 2.12 distribution will no longer ship an akka-actors jar.
* | Remove scala.actors and the actors migration module dependencyLukas Rytz2015-04-234-67/+0
| |
* | Remove the continuations plugin module dependencyLukas Rytz2015-04-234-30/+0
|/
* Include scalap in the distro.Adriaan Moors2014-05-281-0/+5
|
* Re-added the scala.util.parsing package import, with optional resolution.Tobias Roeser2014-05-091-1/+1
|
* Refined package imports for scala modules.Tobias Roeser2014-05-061-2/+2
| | | | Made scala.xml.* import optional and removed scala.util.parsing.json import.
* Add JavaSE-1.7 to set of required execution environments.Tobias Roeser2014-05-0511-21/+11
| | | | Without it, Equinox on Java 7 might spit out some warnings, which might lead to the wrong impression, that the Scala bundles are not well supported for newer platforms.
* Restrict Import-Package for scala.*Tobias Roeser2014-04-3011-8/+40
| | | | | | | | Restrict the Import-Package OSGi manifest entry to match only binary compatible scala.* packages. This is necessary, because the Scala OSGi versions do not match the OSGi semantic versioning policy and are not binary compatible between their OSGi minor versions. This means that e.g. the scala-compiler-2.11 bundle will never work if it imports a scala.* package from 2.10 or 2.12. Thus this patch enforces a tight version range, only accepting versions within the same minor version. E.g. Applied to version 2.11.1 the range would expand to "[2.11,2.12)". Additionally, a Java 6 execution environment will be enforced for OSGi. All module bundles need to have their own version numbers. This was not the case before this commit. Although these module bundles were only build for testing, they are needed to be correct, now, that we have stricter package import constraints and some test cases rely on them.
* Further tweak version of continuations plugin in scala-dist.pomJason Zaugg2014-04-031-1/+2
| | | | | | | | | | | | | | | | | | | | While we must use full version, rather than the cross version (12720e699), we need to use latest non-snapshot version. This should avoid failures like: https://jenkins.scala-ide.org:8496/jenkins/view/Scala%20Xsource%20flag%20nightlies/job/Akka/63/console Such as: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: org.scala-lang.plugins#scala-continuations-plugin_2.11.0-SNAPSHOT;1.0.1: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: sbt.ResolveException: unresolved dependency: org.scala-lang.plugins#scala-continuations-plugin_2.11.0-SNAPSHOT;1.0.1:
* Remove scala-continuations-plugin from scala-library-allAdriaan Moors2014-03-282-5/+10
| | | | | | The continuations plugin should instead be a dependency of scala-dist, as scala-library-all should be a drop-in replacement for scala-library, and as such should not (indirectly) depend on plugins/the compiler.
* No longer generate deprecated dists/maven/latest/build.xmlAdriaan Moors2014-03-031-281/+0
| | | | | The distpack-maven-* targets no longer create said dir/build. Use the publish tasks directly instead.
* Remove cruft from pom.Adriaan Moors2014-01-219-100/+1
| | | | | My understanding is distributionManagement is only needed to configure maven locally for publishing. Since we do that it ant, getting rid of it.
* Explicit jline dependency.Adriaan Moors2013-12-202-1/+12
| | | | | | | | | Duplicated from scala-compiler's pom (where it's optional), so that resolving scala-dist's transitive dependencies include jline. We won't see scala-compiler's optional dependency on jline when depending on scala-compiler. TODO: remove duplication once we have the scala-compiler-repl module
* Fix typo in scala-library-all-pom.xml.Adriaan Moors2013-12-201-2/+2
|
* scala-library-all: dependency for those who want it allAdriaan Moors2013-12-193-34/+165
| | | | | | | 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.
* scala-dist: all you need to roll your own scala distributionAdriaan Moors2013-12-192-10/+130
| | | | | | | | | | | | | | | | | 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.
* Prepare maven-based distribution building.Adriaan Moors2013-12-191-11/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Fix osgi bundle name for continuations.Adriaan Moors2013-12-132-2/+2
|
* Modularize the swing library.Adriaan Moors2013-12-134-68/+1
| | | | | The Scala Swing library will still ship with 2.11 (albeit unsupported). It now resides at https://github.com/scala/scala-swing.
* Modularize continuations plugin.Adriaan Moors2013-12-136-67/+11
| | | | | The continuations plugin and library will still ship with 2.11 (albeit unsupported). They now reside at https://github.com/scala/scala-continuations.
* Refactoring to prepare modularization of the compiler.Adriaan Moors2013-11-126-15/+165
| | | | | | | | | | | | | | | | | | Actual modularization is delayed until 2.12. The one big (one-line) change is to make the interactive compiler independent of scaladoc. We have one "integration test": `MemoryLeaksTest`. This commit adds a bunch of comments marked `TODO: modularize the compiler`, that should be uncommented when we're ready to continue the modularization effort. I decided to merge them commented out to avoid having to rebase xml patches. There's still some chance of bitrot, but I'm willing to take my chances. I previously refactored the build to make it easier to add jars in a coherent way, which hinges on the `init-project-prop` mechanism, so the relevant properties are already injected there.
* De-duplicate logic in maven deployment.Adriaan Moors2013-11-061-22/+47
|
* Tidy pom xml files.Adriaan Moors2013-10-257-366/+358
|
* Fail build on error in signed maven publish.Adriaan Moors2013-10-251-1/+1
|
* Build cleanup. Prepare for scaladoc module build.Adriaan Moors2013-10-221-11/+10
|
* Towards minimal build for publishing core to maven.Adriaan Moors2013-10-222-2/+2
| | | | | | | | | | | | 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-100/+101
| | | | | | | | | | | 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`.
* Inline src/build/pack.xml into build.xml.Adriaan Moors2013-10-211-263/+0
| | | | It tended too easily to get out of synch with build.xml.
* Correct license to 3-clause BSD in poms.Adriaan Moors2013-10-217-21/+14
|
* Use overwriting copy uniformly in our build.Jason Zaugg2013-10-181-11/+11
| | | | | | | | | | 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 more under ant -Ddocs.skip.Jason Zaugg2013-10-182-8/+17
| | | | | | | | - 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 pull request #2942 from retronym/topic/build-number-mavenGrzegorz Kossakowski2013-09-171-1/+1
|\ | | | | Remove build.number.maven
| * Remove build.number.mavenJason Zaugg2013-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | SI-7841 Remove commented out AnyRef specialization from Function{0,1}.Jason Zaugg2013-09-151-2/+2
|/ | | | In a sign of decreased optimism about that facility.
* Fix dbuild meta info: remove scaladoc projectJosh Suereth2013-09-061-4/+8
| | | | | | | | | 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