Mark Harrah
cc06667f3e
handle constant types
2011-02-14 18:59:54 -05:00
Mark Harrah
a3a81dc26e
fix issue in API comparison where ordering was required but not done
2011-02-14 18:58:20 -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
14990b5127
cache Eval results
...
still need to clean up stale class files
2011-02-02 19:38:41 -05:00
Mark Harrah
6b91ad59fd
Eval-related improvements
...
- support import clauses
- error display: source name, line numbers for each expression
- for 'eval', 'get', 'set', and .sbt files, use default imports and import from Plugins, Builds
2011-01-26 19:49:54 -05:00
Mark Harrah
837bb80d40
cleanup and fixes
2011-01-24 18:08:43 -05:00
Mark Harrah
20a5e3b3c7
add option to show inferred type of an expression
2011-01-18 18:48:32 -05:00
Mark Harrah
0b3c2dada5
expression evaluator
2011-01-18 18:48:32 -05:00
Mark Harrah
ccf0508ce6
cleanup, small fixes
2010-11-24 14:08:20 -05:00
Mark Harrah
4fd7611074
add jline jar to classpath for :power mode
2010-11-24 14:05:26 -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
89c557d0b5
temporary workaround for dangling type parameter references
2010-11-09 20:45:26 -05:00
Mark Harrah
f788437164
fill out Visit some more
2010-10-30 17:52:18 -04: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
1795ddadb3
Format wrapper for timing read/writes
2010-10-30 15:53:32 -04:00
Mark Harrah
aa90051338
go back to using basic Java serialization for API persistence
...
Java serialization is a bit slower (by 0.15 s for reading scalaz core),
but it is simpler and more lightweight than using sbinary
still use sbinary Formats for other Analysis data structures
2010-10-30 15:49:18 -04:00
Mark Harrah
9135a26fb3
buffer before gzip when writing analysis data
...
there were already buffered streams between the gzip streams
and the file streams; however, the performance improved after
putting a buffer on top of the gzip streams
2010-10-30 15:46:44 -04:00
Mark Harrah
b601804046
only write resulting Analysis back if compilation was performed
2010-10-30 15:44:36 -04:00
Mark Harrah
730b613007
make serializable abstract Lazy template
2010-10-30 11:56:40 -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
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
Mark Harrah
e18f8101d7
Fix compiler interface tests for 2.8
2010-02-08 18:34:43 -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
4a566eb581
fix project creation prompt and launcher cache
2010-01-27 18:22:42 -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
80780d9bec
comments and reorganization in SameAPI/ShowAPI
2010-01-24 00:12:47 -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
fa93a64cf9
Replace Ivy interface with the component from xsbt
2010-01-15 19:05:23 -05:00
Mark Harrah
d97d693cc1
Fix issue with jline not being on compiler-interface compile-time classpath
2010-01-13 22:19:48 -05:00
Mark Harrah
1673a2a3e2
Remove use of reflection for compatibility in Analyzer
2010-01-09 18:22:58 -05:00
Mark Harrah
8f0371d21a
Compare polymorphic types
2010-01-07 21:48:56 -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
bf5dbadc53
Handle changes to Source serialization format by returning empty Source
2010-01-07 21:39:16 -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
833688cdd9
API equality testing. Still includes debugging statements.
2009-12-31 18:56:37 -05:00
Mark Harrah
8ebbb7b420
fix issue processing qualifiers in API phase
2009-12-31 18:55:35 -05:00
Mark Harrah
b63b955dca
Add Java class file version to compiler interface ID so that it is recompiled when moving between Java versions.
2009-12-29 22:14:56 -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
74202668c6
Datatype generating subproject, to be used to represent public API of sources
2009-11-21 15:52:44 -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
80e1a4f60f
Add toString for ScalaInstance and verify that version does not contain spaces
2009-10-20 18:47:51 -04:00
Mark Harrah
94a0fb5916
Allow version property names to be specified
2009-10-19 23:18:13 -04:00
Mark Harrah
fa73205ac3
Extra logging, update default sbt.boot.properties
...
Tests for standard library substitutes
2009-10-18 22:25:50 -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
1d40e5e71d
Synchronize caches
2009-10-10 22:01:03 -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
34fd967c66
General support for searching for the working directory to use for the launched application
2009-10-01 22:59:02 -04:00
Mark Harrah
b2fdc07505
Turned sbt launcher into a general Scala application launcher as described in launch.specification
2009-09-27 14:39:26 -04:00
Mark Harrah
72ce84933d
Fixed tests
2009-09-06 16:05:31 -04:00
Mark Harrah
39546077ee
Some comments and better organization of compile-related code.
2009-09-05 15:01:04 -04:00
Mark Harrah
8bfb2802fb
Filling in logging and making cross-compile work.
2009-09-05 12:19:34 -04:00
Mark Harrah
e388ffd3a6
Remove hard-coded scala version in compile test.
2009-09-04 09:22:48 -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
edca6620e4
factor out context for compile test
2009-08-31 10:46:22 -04:00
Mark Harrah
6e414e96c5
Compile task with dependency tracking. Checkpoint: compiles successfully.
2009-08-30 11:10:37 -04:00
Mark Harrah
573994dd4e
tuple caches, stamped caches, Path API, another type of change detection, and copying/archiving based on (source,target) tuples
2009-08-29 10:19:00 -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