Commit Graph

174 Commits

Author SHA1 Message Date
Mark Harrah a94247d1b6 more release-worthy compile message and analysis toString 2011-05-29 19:17:31 -04:00
Mark Harrah e840d66622 Turn some errors in API into warnings+emptyType 2011-05-25 08:09:24 -04:00
Mark Harrah eef1fd8a10 fix #26 2011-05-25 07:57:14 -04:00
Mark Harrah 24dfb69400 an annotation can reference a non-simple type, fixes #24 2011-05-23 18:40:03 -04:00
Mark Harrah 9dec02ee51 fix analysis of Java sources being overwritten 2011-04-26 21:19:56 -04:00
Mark Harrah 801c0567fd handle information only options that disable a full compilation 2011-04-01 21:04:08 -04:00
Mark Harrah a79d06ab1f temporary fix for #4426 2011-04-01 21:03:44 -04:00
Mark Harrah d53d5fb7cf api extraction fixes for self types and expanded names 2011-03-11 16:57:15 -05:00
Mark Harrah 4f4ae170d3 work on plugins, added console-project, re-integrated more tests 2011-02-24 23:30:06 -05:00
Mark Harrah cc06667f3e handle constant types 2011-02-14 18:59:54 -05:00
Mark Harrah 2a4f7ac564 compiler interface: 2.9 compatibility
nme.LOCALCHILD -> tpename.LOCAL_CHILD
handle NullaryMethodType
2011-02-08 20:30:15 -05:00
Mark Harrah 04e16ee86c api extraction fixes
get members of nested modules by pulling from moduleClass
ignore classes ending with LOCALCHILD, which only appear with separate compilation
2010-11-09 20:49:23 -05:00
Mark Harrah 403fa42fa2 Type cache in API extraction for smaller cache size and faster I/O
manually implement Modifiers, use byte-size bit field
2010-10-30 17:46:56 -04:00
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
Mark Harrah 651a84ebaf Fix 2.8 scaladoc interface 2009-10-05 22:43:11 -04:00
Mark Harrah 85346bd9d8 Fix compilation test, add scaladoc interface, remove structural types (#2265) 2009-10-03 09:39:16 -04:00
Mark Harrah 72ce84933d Fixed tests 2009-09-06 16:05:31 -04:00
Mark Harrah 8bfb2802fb Filling in logging and making cross-compile work. 2009-09-05 12:19:34 -04:00
Mark Harrah 12c5f5a0d5 Mostly working cross-compile task.
Analyzer plugin is now a proper internal phase to get around bootstrapping issues.
Correctly handle source tags.
2009-09-03 23:40:47 -04:00
Mark Harrah 50d350abd0 Compilation with analysis independent of Scala version of sbt.
Basic test for this.
2009-08-23 22:21:15 -04:00
Mark Harrah 108807a773 Tests and fixes for component manager and cache interface. 2009-08-20 00:02:06 -04:00
Mark Harrah a70ddd8e32 Tests and fixes for analysis plugin and the task scheduler. 2009-08-18 23:25:34 -04:00
Mark Harrah ec7074a340 More plugin tests 2009-08-18 10:25:43 -04:00
Mark Harrah 67e13ad887 Setup interface project for testing 2009-08-18 00:51:08 -04:00
Mark Harrah 5644b936fe Setting up compiler support and several related additions to util/io
* Added the top-level interface project for communicating across scala versions within a jvm.
 * Added plugin project containing analysis compiler plugin
 * Added component compiler to build xsbt components against required version of Scala on the fly
 * Added interface to compiler that runs in the same version of Scala
 * Added frontend that compiles against a given version of Scala with or without analysis.
2009-08-17 10:51:43 -04:00