Commit Graph

109 Commits

Author SHA1 Message Date
Mark Harrah a76d75bca6 more flexible scalac logging
the custom scalac Reporter now delegates to an instance of
  an sbt interface called xsbti.Reporter
handling compilation logging is now mainly done on the sbt-side of the
  compiler interface
the xsbti.Reporter interface provides access to richer information
  about errors and warnings, including source file, line, and offset
xsbti.Reporter can be implemented by users to get access to
  detailed information without needing to parse the logging output
the CompileFailed exception that is thrown when compilation fails now
  includes an array of the problems, providing detailed
  error and warning information that can, for example, be consumed
  by doing a mapFailure on 'compile' and using 'Compile.allProblems'
2010-10-23 16:34:22 -04:00
Mark Harrah 5ed8f3c042 improving incremental compilation
support lazy arguments in data type generator
SafeLazy implementation that explicitly clears the reference to the thunk
in API representation, drop synthetic modifier and merge deferred into abstract
handle cyclic structures in API generation, display, comparison, persistence
gzip compile cache file
bump to 2.8.1.RC3, project definition cleanup
fix main method detection to check for the right name
properly view inherited definitions
exclude constructors of ancestors
2010-10-22 21:55:16 -04:00
Artyom Olshevskiy 3c5d8ab29b support -J options when forking (#124) 2010-10-21 09:12:00 -04:00
Mark Harrah a3f1b9c22f fix tests, discovery
updated compile tests for new minimal AnalysisCallback
moved discovery to discovery/ subproject and updated for new approach
fixed discovery to only find public methods when searching for annotated definitions
extracting inherited definitions unimplemented in api/, so some discovery tests fail
moved discovery classes from sbt.inc package to sbt.compile
2010-10-06 08:24:13 -04:00
Mark Harrah ce068d7fbc Java source support
generate API for Java sources from class files (currently, uses reflection)
hook into partial recompilation process
2010-09-27 18:57:00 -04:00
Mark Harrah 4164ad3529 fix detecting existence of default arguments 2010-09-27 18:48:12 -04:00
Mark Harrah 3c4e5c4f54 fix product tracking and handling of removed sources 2010-09-27 18:47:11 -04:00
Mark Harrah 540ab7e470 show detected API when debugging incremental 2010-09-27 18:41:34 -04:00
Mark Harrah 484c2ca3a5 discovery convenience method 2010-09-27 18:40:57 -04:00
Mark Harrah f3de1d728c fix printing sources 2010-09-23 10:29:25 -04:00
Mark Harrah 28f1eecbef changes to make latest preview easier 2010-09-23 09:21:39 -04:00
Mark Harrah ce9db82771 fixes to API extraction phase
reverse the mapping of vals/vars to
  private[this] fields and accessors
merge annotations from related members
don't handle bean getters/setters specially
  because they are indistinguishable from
  user-defined members as far as I can tell
2010-09-17 22:14:48 -04:00
Mark Harrah 0d5814e2b3 Rework external dependency tracking and multi-projects
Reduce AnalysisCallback interface:
  remove discovery
  simplify dependency notification methods
Use map of classpath entry to Analysis for locating
  source API for external dependencies
Handle classpath changes by locating class
  on classpath and either locating Analysis/Source
  as above or comparing Stamp.  This requires storing
  the class name of a binary dependency now.
Make this process aware of full classpath, including
  boot classpath
2010-09-17 21:59:43 -04:00
Mark Harrah 820a2b6851 remove discovery from Scala Analyzer phase 2010-09-17 21:38:03 -04:00
Mark Harrah ccf9714b4d fixes for API extraction phase
correct order of value parameters of a method
preserve source order of members
more information for unknown type error message
2010-09-17 21:30:47 -04:00
Mark Harrah 4db2c1df6a merge Pkg into Private
this better represents the original source
2010-09-17 21:29:29 -04:00
Mark Harrah 9bcd68d28c rework REPL support
allow bindings, which requires specifying the parent class loader
same code can be used for both 'console' and 'console-project' now
provide interface through main/Console
2010-09-04 08:18:06 -04:00
Mark Harrah 37594904f9 remove unused parameter and fix comment 2010-09-04 08:13:36 -04:00
Mark Harrah d3f02f7c80 control incremental compiler debugging with xsbt.inc.debug system property 2010-08-10 08:35:26 -04:00
Mark Harrah 767a1e47c1 adding more commands 2010-07-27 23:01:45 -04:00
Mark Harrah d7b66458f2 first shot at general command/definition model 2010-07-17 12:07:41 -04:00
Mark Harrah d0fa1eb461 * move Environment classes to util/env module
* move TrapExit, SelectMainClass to run module
* rearrange some compilation-related code
* Jetty-related code moved to web module
2010-07-14 19:24:50 -04:00
Mark Harrah 6f3c699435 - Stuart's improvements to triggered execution
- continue splitting original sbt module
 * separated process, testing modules
 * various IO, logging, classpath migration
 * split out javac interface
2010-07-05 12:53:37 -04:00
Mark Harrah 37185c0fb6 discovery, persistence, frontend, and various fixes to incremental 2010-07-02 06:57:03 -04:00
Mark Harrah 9ad9df42b6 first part of semantic, multi-stage incremental compilation 2010-06-27 09:18:35 -04:00
Mark Harrah f9a7a0a28e Set -> Seq for sources, classpaths 2010-06-27 09:16:53 -04:00
Mark Harrah b8c4c2b6da minor rearrangements of SameAPI 2010-06-21 21:23:42 -04:00
Mark Harrah 603d2be2e9 basic type parsing for testing/prototyping 2010-06-21 21:23:10 -04:00
Mark Harrah b2077ce60c more 2.8 updates, launcher compiles and runs with 2.8 2010-06-15 20:38:18 -04:00
Mark Harrah 5e4fe71560 fix typo 2010-06-07 10:51:02 -04:00
Mark Harrah 7be7cc34d5 fix a compile test 2010-05-13 18:32:49 -04:00
Mark Harrah 33e957a47c support warn fatal options in 2.8.0.RC2 2010-05-13 18:31:37 -04:00
Mark Harrah cc604b57a2 Sort input source files for consistency, addressing scalac's issues with source file ordering. 2010-05-10 18:50:59 -04:00
Mark Harrah 99edb01d8c improve error message when Scala instance is invalid 2010-05-05 08:34:34 -04:00
Mark Harrah 61fefc0f66 * move autoBootClasspath, compilerOnClasspath options into ClasspathOptions data structure and add 'extra' option
* put ScalaInstance.extraJars on classpath for ComponentCompiler
2010-05-05 08:30:03 -04:00
Mark Harrah a2f96255eb consoleOptions 2010-04-25 13:18:36 -04:00
Mark Harrah 5b833a6b72 * Seth's patch for running javac in the same jvm
* Fixed LoggerWriter, added test
 * Added it test
2010-04-05 18:47:06 -04:00
Mark Harrah 589904a6d0 support precompiled components 2010-04-01 20:19:29 -04:00
Mark Harrah 27922a3256 In component compiler, only consider files from jars with sources. This avoids including dependencies in generated jars. 2010-03-31 22:33:42 -04:00
Mark Harrah c05bf93830 fix annotations detection test 2010-03-28 21:29:03 -04:00
Mark Harrah b26ca870b1 annotation detection test 2010-03-28 20:20:17 -04:00
Mark Harrah 77567b6ad3 Support for tests written in Java and annotation-based test frameworks 2010-03-28 00:05:40 -04:00
Mark Harrah 948aeb3f97 eliminate import warning 2010-03-26 16:15:52 -04:00
Mark Harrah 27816f32f6 Jason's patch to work with latest changes to CompilerCommand 2010-03-26 07:55:02 -04:00
Mark Harrah a438d389e2 compatibility with 2.8 trunk 2010-03-23 08:30:53 -04:00
Mark Harrah 7edcc68a92 support cross-compiling/bootstrapping 2010-03-22 20:42:59 -04:00
Mark Harrah 54bc694081 * cleaned up build
* made Launcher usable outside of official jar
2010-03-19 19:29:57 -04:00
Mark Harrah e1e60fe859 preserve compiler interface classes across invocations 2010-03-13 13:25:08 -05:00
Mark Harrah 794d137051 Remove code no longer needed for running Scala code 2010-03-07 19:06:54 -05:00
Mark Harrah 9f524cbf83 convenience method on ScalaInstance to get both library and compiler jars 2010-02-14 20:23:56 -05:00