Commit Graph

61 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
Mark Harrah 4164ad3529 fix detecting existence of default arguments 2010-09-27 18:48:12 -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 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 b2077ce60c more 2.8 updates, launcher compiles and runs with 2.8 2010-06-15 20:38:18 -04:00
Mark Harrah 33e957a47c support warn fatal options in 2.8.0.RC2 2010-05-13 18:31:37 -04:00
Mark Harrah a2f96255eb consoleOptions 2010-04-25 13:18:36 -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 794d137051 Remove code no longer needed for running Scala code 2010-03-07 19:06:54 -05:00
Mark Harrah a33223a02c legal cleanup 2010-02-07 23:45:19 -05:00
Mark Harrah 743d4556ae Fix compiler interface to compile against 2.8 trunk 2010-02-05 18:58:52 -05:00
Mark Harrah 125e0adad8 Decrease compilation time of compiler interface by ~20% 2010-02-04 22:08:17 -05:00
Mark Harrah b6f017c508 Work with latest compiler changes. API is commented for stability in 0.7. 2010-02-04 21:04:22 -05:00
Mark Harrah a2758afd43 Fix main method detection involving Application 2010-01-30 21:40:25 -05:00
Mark Harrah e8eae7d7bb Look at names during flattenPhase.next to get proper class names 2010-01-26 09:10:42 -05:00
Mark Harrah af4f41e052 API: fix annotation handling 2010-01-24 00:11:43 -05:00
Mark Harrah af288bb199 API: base types with applied type parameters
Compile task: fix detection of classpath changes
Aggressive compiler seems to work on scalaz now
2010-01-23 11:52:39 -05:00
Mark Harrah 5f9f3729d1 work on source api parts 2010-01-22 20:17:49 -05:00
Mark Harrah 1673a2a3e2 Remove use of reflection for compatibility in Analyzer 2010-01-09 18:22:58 -05:00
Mark Harrah fb3cfd3b39 * Polymorphic type extraction
* Use simple names instead of full names where appropriate
 * Handle local classes, which have NoPrefix
2010-01-07 21:41:20 -05:00
Mark Harrah 6f6b795b39 * Basic API serialization
* Fixes to API extraction and equality checking
 * Reworked tracking
 * New compile infrastructure based on API changes
 * Example application for testing
2010-01-05 19:50:43 -05:00
Mark Harrah 8ebbb7b420 fix issue processing qualifiers in API phase 2009-12-31 18:55:35 -05:00
Mark Harrah bb0a3b3d2f Fix Scaladoc interface for 2.8.0.Beta1-RC4 and later. 2009-12-20 12:02:49 -05:00
Mark Harrah cbb0f1a0a8 Fix 2.8 external dependency tracking 2009-12-14 18:37:17 -05:00
Mark Harrah c951156d9f print API phase time only if it is enabled 2009-11-29 18:25:09 -05:00
Mark Harrah cd1cdf3c24 Scaladoc interface should be compatible with latest 2.8 updates 2009-11-29 18:13:47 -05:00
Mark Harrah a872ebc5e5 Annotations on definintions and implicit parameters in 2.7 2009-11-24 23:01:05 -05:00
Mark Harrah 7affb3526f Cache reflective lookups in the compiler interface 2009-11-24 08:56:23 -05:00
Mark Harrah bf7affd344 Starting documentation on API of sources files, updating notes a bit 2009-11-23 20:01:13 -05:00
Mark Harrah 38dbb1d23c Type member support, linearization instead of parents and add inherited members for structure 2009-11-22 22:54:17 -05:00
Mark Harrah 2977fd4131 Source API extractor 2009-11-21 15:53:04 -05:00
Mark Harrah 8e54e5ddde Fix class path fix. 2009-11-02 21:23:42 -05:00
Mark Harrah 871b9bbcc2 Compatible with latest 2.8 nightly 2009-11-01 21:21:59 -05:00
Mark Harrah 94a0fb5916 Allow version property names to be specified 2009-10-19 23:18:13 -04:00
Mark Harrah 4fda9f0690 Workaround for private access modifier for Global.computePhaseDescriptors in 2.8. 2009-10-15 18:06:57 -04:00
Mark Harrah e88214efbd Additions to help the sbt/xsbt combination 2009-10-09 19:12:14 -04:00
Mark Harrah 7bb72ecb8b Scaladoc, run, and console interfaces 2009-10-07 21:27:53 -04:00