Commit Graph

39 Commits

Author SHA1 Message Date
Simon Schäfer 531ea5f635 Rename CompilerInterfaceProvider to CompilerBridgeProvider
Fix #162
2016-11-03 09:29:41 +01:00
eugene yokota 0539410fdd Merge pull request #128 from Duhemm/wip/compiler-api
Minimal API for `ScalaCompiler`, expose in `Compilers`
2016-06-08 01:30:51 -04:00
Martin Duhem 7799afdef8 Generate `ClasspathOptions` with sbt-datatype
Also rename the previous object called `ClasspathOptions` to
`ClasspathOptionsUtil`.
2016-06-01 16:22:58 +02:00
Eugene Yokota 1ec9fc4b28 Don't use other projects' tests 2016-05-11 15:08:08 -04:00
Eugene Yokota ba398b5b9c Update dependencies 2016-05-04 23:13:28 -04:00
Grzegorz Kossakowski aa0a77930a Rename incrementalcompiler to zinc
Reflect the rename of the repo to zinc in project's structure.
2016-03-31 00:02:59 +02:00
Grzegorz Kossakowski f32ea08a53 Zinc is compatible with Scala 2.10 and 2.11 only
The class-based-dependencies branch nuked compatibility with older Scala
compiler versions.
2016-03-16 20:28:41 +01:00
Martin Duhem b04faef33f Fix compiler bridge sources retrieval 2016-02-24 09:55:22 +01:00
Eugene Yokota 78c76cb775 librarymanagement 0.1.0-M7 2016-02-24 00:08:23 -05:00
Eugene Yokota c2406c0648 Use real local to retrieve compiler bridge during test. Fixes #36 2015-12-24 05:36:31 -05:00
Eugene Yokota 17f55850f6 Quieter log during scripted 2015-12-22 00:20:29 -05:00
Martin Duhem 85a05ed237 Fix command and definition of compiler bridge
The compiler bridge had a dependency on the scala compiler in the
version defined in the build definition. This means that when trying to
fetch the compiler bridge for, say, Scala 2.9.2, we would also pull in
the Scala compiler 2.10.5.

The compiler bridge now has a "provided" dependency on the Scala
compiler.
2015-11-23 15:44:23 +01:00
Martin Duhem 5dd2b1f16a Fix tests that fetch and build the compiler bridge. 2015-11-23 11:54:13 +01:00
Martin Duhem c62f8f4683 Put `util-interface` on classpath when compiling compiler bridge
Also, write tests to make sure that we remain able to compile the
compiler bridge for different versions of Scala.

Fixes sbt/incrementalcompiler#32
2015-11-16 22:46:38 +01:00
Eugene Yokota f2ee845280 Move things around further. 2015-09-16 00:58:48 -04:00
Eugene Yokota 785c639805 Fix the hardcoded ModuleID to compiler-interface 2015-09-14 22:04:19 -04:00
Eugene Yokota 0df130fbe2 New scalariform 2015-09-14 01:22:52 -04:00
Eugene Yokota f26f95fe6a Reorganize subprojects around 2015-09-13 01:13:42 -04:00
Martin Duhem ce915b23ba Retrieve java compiler interfaces using Ivy
Previously the component compiler depended on a `componentID` added to
some interfaces to be able to compile the compiler interface. sbt's
launcher placed artifacts marked with this `componentID` in a special
directory that was then used by the ComponentCompiler to be able to
compile the compiler interface.

This commit modifies the ComponentCompiler so that it does not expect
these components to be already present in some directory, but instead
downloads it using Ivy when required.
2015-09-11 13:53:51 +02:00
Martin Duhem 0cc451b8b2 Fix deprecation message 2015-09-11 10:22:33 +02:00
Martin Duhem c74eae096f Rename binary form of compiler bridge
This will avoid all clashes between modules that may have the same name
as other components of sbt, or two different compiler bridges that would
happen to have the same name.
2015-09-11 10:21:45 +02:00
Martin Duhem f86b8163e8 Retrieve compiler bridge sources in temp directory
Note that they won't be downloaded again, because the component compiler
will look for a previously-compiled version of the compiler bridge
before trying to fetch the sources again. If they've already been
downlaoded, then they have been compiled and a compiled version of the
compiler bridge already exists.
2015-09-11 10:20:05 +02:00
Martin Duhem d110e6937b Specify the compiler bridge module in a setting
In order to restore reproducibility of builds, we no longer cascade over
the possibly available versions of the compiler bridge sources (a
specific version of the bridge sources may not be available one day, but
exist on the next day), but rather let the build definition configure
which module to use.

Fixes sbt/sbt#2196
2015-09-11 10:12:02 +02:00
Martin Duhem 4f0b1071df Retrieve version of compiler interface from properties file
Previously we used the version of the component manager. However, these
two versions do not need to be in sync, which would make us try to
retrieve the wrong version of the compiler interface sources.
2015-09-09 16:49:52 +02:00
Eugene Yokota 90f3b7eb9e Fixes build 2015-09-08 17:06:24 -04:00
eugene yokota 1759027139 Merge pull request #3 from Duhemm/compiler-interface-logging
Compiler interface logging (sbt/sbt#2177)
2015-09-08 16:46:56 -04:00
Martin Duhem f87fe3fb16 Update sbt modules, migrate to scalatest
- Update sbt/util to 1.0.0-M3
 - Update sbt/librarymanagement to 1.0.0-M2

Also, migrate the tests from specs2 to scalatest.
2015-09-08 09:57:12 +02:00
Martin Duhem 00101022e1 Download compiler interface sources in boot directory 2015-09-03 09:45:51 +02:00
Martin Duhem ee0f73addb Hide Ivy logs in compiler-interface sources retrieval
Because in most cases there aren't version-specific sources, we expect
the retrieval to fail a number of times before succeeding. This
generates a lot of noise in sbt's log, so the logs will now be shown if
and only all the versions fail.
2015-09-03 09:42:38 +02:00
Martin Duhem aec1e5fd52 Fix error in migration to sbt/io 2015-09-02 16:46:22 +02:00
Martin Duhem e2ddae8d98 Add recommended compiler flags, suppress a lot of warnings 2015-09-01 15:34:41 +02:00
Martin Duhem 392b91c21f Update to sbt/io 1.0.0-M1, fix dependencies 2015-08-31 03:43:29 +02:00
Eugene Yokota 71e037ea4e moved subprojects around 2015-08-04 18:06:04 -04:00
Pierre DAL-PRA 25dde24eda Replace procedure syntax by explicit Unit annotation 2015-08-04 10:07:38 +02:00
Martin Duhem c4eb670588 Find most specific version of compiler interface sources
This commit introduces a mechanism that allows sbt to find the most
specific version of the compiler interface sources that exists using
Ivy.

For instance, when asked for a compiler interface for Scala 2.11.8-M2,
sbt will look for sources for:

 - 2.11.8-M2 ;
 - 2.11.8 ;
 - 2.11 ;
 - the default sources.

This commit also modifies the build definition by removing the
precompiled projects and configuring the compiler-interface project so
that it publishes its source artifacts in a Maven-friendly format.
2015-07-16 11:18:48 +02:00
Eugene Yokota 2b526e6aa7 added scalariform 2014-05-01 12:50:07 -04:00
Grzegorz Kossakowski 62fcc2a9b3 Follow source layout convention supported by Eclipse.
Moved source files so directory structure follow package
structure. That makes it possible to use Scala Eclipse plugin
with sbt's source code.
2012-12-07 10:27:08 -08:00
Mark Harrah 8869378573 implement embedded interface 2012-04-18 16:01:45 -04:00
Mark Harrah 6b774286d1 reorganize compilation modules 2012-04-18 08:08:25 -04:00