Commit Graph

5412 Commits

Author SHA1 Message Date
Josh Suereth f0adf92345 Fixes @eed3s1gn's comments
* Use verbs.
* compile actually saves the analysis
* previousCompile loads previous anlaysis
* explicit task to override for bytecode manipulation folkel.
2014-12-01 15:20:17 -05:00
Josh Suereth 59ba35ce90 Finish rearchitecting.
* IncrementalCompiler IC object now holds the actual logic to start incremental compilation (rather than AggresiveCompiler or other)
* MixedAnalyzingCompiler ONLY does anlaysis of Java/Scala code
* Moved the AnalyzingJavaCompiler into the integration library so that necessary dependencies are visible.
2014-12-01 13:35:51 -05:00
Josh Suereth 3c4bc23cdb First set of refactorings from review.
* Split Java analyzing compile into its own class.
* MixedAnalyzingCompiler now only does the mixing
* Start moving methods around to more-final locations
* Static analyzingCompile method now constructs a MixedAnalyzingCOmpiler and delegates to incremental compile.
2014-12-01 13:35:51 -05:00
Josh Suereth ae4721aba0 Adding more scaladoc to incremental compiler library. 2014-12-01 13:35:51 -05:00
Josh Suereth fa57346a66 Fix scripted test to understand new compile/compileIncremental task switch. 2014-12-01 13:35:51 -05:00
Josh Suereth 067479f59e Debug issues with implicit usage for CompileSetup.
* Force CompileSetup Equiv typeclass to use Equiv relations defined locally.
* Add toString methods on many of the incremental compiler datatypes.
* Remove remaining binary compatibility issues in Defaults.scala.
2014-12-01 13:35:51 -05:00
Josh Suereth 045ac1d984 Tweak remaining binary compatibility issues with design. 2014-12-01 13:35:51 -05:00
Josh Suereth 40bf599f4a Deprecating old APIs and attempting to document behavior correctly.
* Removed as many binary incompatibilities as I could find.
* Deprecating old APIs
* Attempt to construct new nomenclature that fits the design of Incremental API.
* Add as much documentation as I was comfortable writing (from my understanding of things).
2014-12-01 13:35:51 -05:00
James Roper 0f784ab101 Allow bytecode enhancement to update analysis
This breaks the loading/saving of the incremental compiler analysis out
into separate task, thereby providing the necessary hooks for byte code
enhancement tasks to enhance bytecode and update the analysis before the
analysis gets stored to disk.
2014-12-01 13:35:50 -05:00
Josh Suereth e2942f167b Merge pull request #1740 from j-keck/0.13
fix typo
2014-12-01 10:09:01 -05:00
Martin Duhem 18c521dd4b Check for null type trees in dependency extraction
In some cases the dependency extraction may encounter a null `TypeTree`
(eg. arguments of macro annotations that are untyped). In such cases,
we simply ignore the node.

Fixes #1593, #1655.
2014-11-29 12:17:32 +01:00
eugene yokota d47d0b1463 Merge pull request #1746 from j-keck/fix/filter-hidden-files
ignore hidden build files from the build.
2014-11-25 04:49:36 -05:00
j-keck 928de373cd update notes 2014-11-25 09:57:25 +01:00
j-keck 2624e3aad6 add scripted test 2014-11-25 09:54:42 +01:00
j-keck 2e8c98f1a4 filter out hidden files 2014-11-24 06:34:56 +01:00
j-keck f6c8faa992 fix typo 2014-11-23 13:59:42 +01:00
Josh Suereth 75744746a3 Merge pull request #1744 from eed3si9n/fix/1743
Fixes #1743. Fixes IndexOutOfBoundsException on Java warning with no position
2014-11-21 09:10:53 -05:00
andrzej.jozwik@gmail.com ce75c5a9b0 For backward compatibility - do not used duplicated imports 2014-11-21 09:11:09 +01:00
Eugene Yokota 8c2149dfb6 Fixes #1743. Fixes IndexOutOfBoundsException on Java warning with no position
Enbugged in #1702.
The d.getPosition, d.getStartPosition uses -1 as NOPOS value, but they
weren’t being checked.
Added checkNoPos.
2014-11-20 20:54:06 -05:00
andrzej.jozwik@gmail.com d9aadaf1e1 Multi import in one line 2014-11-20 23:10:03 +01:00
Peter Vlugter 5704e31256 Fix sbinary cache limit when caching doc inputs
Cache the classpath as Seq[File] rather than String in RawCompileLike.
2014-11-19 14:41:17 -05:00
Eugene Yokota 416ffa76d1 merge 0.13.7 manually 2014-11-19 14:34:08 -05:00
Martin Duhem 98c789b826 Abstract over dependency context in Compile
This commit completes the abstraction over dependency kinds in the
incremental compiler, started with #1340.
2014-11-19 10:35:07 +01:00
Martin Duhem deda8eee70 Remove trait `DependencyContext` in favor of enum
Since `DependencyContext` is needed in the compiler interface
subproject, it has to be defined in this same subproject.

`DependencyContext` is needed in this subproject because the
`AnalysisCallback` interface uses it.
2014-11-19 10:35:07 +01:00
Eugene Yokota b6a2011734 notes 2014-11-19 01:57:28 -05:00
Eugene Yokota 80b9cd0cc0 notes 2014-11-19 01:55:56 -05:00
Eugene Yokota 37bf97dfce notes 2014-11-19 01:55:07 -05:00
Eugene Yokota 46f7e2d258 notes 2014-11-19 01:53:59 -05:00
Eugene Yokota 48b8b94927 launchconfig 2014-11-19 01:40:59 -05:00
Eugene Yokota 98e241f5a7 notes 2014-11-19 01:25:52 -05:00
Grzegorz Kossakowski b2c2ff698e Merge pull request #1340 from Duhemm/abstract-over-dependency-kind
Abstract over dependency kind in Analysis
2014-11-18 16:32:06 +01:00
Martin Duhem 191c3ed675 Use new infrastructure in `AnalysisTest`
A new infrastructure to register sources and their dependencies has
been introduced in `c09a391`.

This commit brings the required modifications to `AnalysisTest`,
so that it uses it.
2014-11-18 13:09:07 +01:00
Martin Duhem b1a608cf1d Use new infrastructure in `AnalysisCallback`
A new infrastructure to register sources and their dependencies has
been introduced in `c09a391`.

This commit brings the required modifications to `AnalysisCallback`,
so that it uses it.
2014-11-18 13:08:51 +01:00
Martin Duhem c09a3912d1 Implement abstraction over dependency kinds
This commit implements the abstraction over the dependency kinds and
deprecates the methods that were used to register files and their
dependencies.

Dependencies are now divided into two categories : Internal and
External dependencies. Moreover, each internal or external dependency
has a Context, which describes what introduced the dependency (for
instance, a dependency may be introduced by member reference or by
inheritance).

Dependencies must now be registered using the method `addSource` in
`Analysis` and in `Relations`. This method has the advantage of being
independent from the existing dependency contexts. That is, its
signature does not need to be modified whenever a new dependency
context is introduced.
2014-11-18 13:07:58 +01:00
eugene yokota f842bee44e Merge pull request #1724 from sbt/fix/1723
Fixes #1723. classifier-related fixes
2014-11-12 07:03:37 -05:00
Eugene Yokota cef4479685 Fixes #1723. classifier-related fixes
- minigraph sha now contains extra attributes from artifacts
- artifacts are merged from different mini graphs (in some cases, this
should result to better resolution than stock ivy)
2014-11-11 21:15:11 -05:00
Josh Suereth d4a8e4079d Merge pull request #1720 from sbt/fix/1719
cached resolution: Fixes #1711, #1716, #1719
2014-11-10 21:06:24 -05:00
Eugene Yokota 867e2b7a18 fixes #1711, #1716. Fixes configuration remapping
The actual change is one line at line 64. nextConfMap takes dep instead
of dd.
2014-11-10 01:10:37 -05:00
Eugene Yokota 4fd5d505f1 fixes #1719. cached resolution: fixes handling of classifier and other explicit artifacts 2014-11-09 23:32:03 -05:00
Eugene Yokota a832b4e6db 0.13.7-RC3 2014-11-06 13:56:24 -05:00
Josh Suereth aae0f6ef40 Merge pull request #1715 from sbt/fix/1711
Fixes #1711 and #1704. Cached resolution fixes
2014-11-06 07:45:54 -05:00
Eugene Yokota af9e520e28 expand internal dependencies more accurately 2014-11-06 00:28:26 -05:00
Eugene Yokota 760a4ab5d2 Fixes #1704. Fixes cached resolution + module-level exclusions 2014-11-04 19:01:30 -05:00
Eugene Yokota ca0f3530f5 Fixes #1711. Fixes cached resolution pulling in % "test" from subproj deps 2014-11-04 17:56:34 -05:00
Eugene Yokota c1fc84662f scalariform 2014-11-04 17:48:46 -05:00
Josh Suereth c8f2f04dde Merge pull request #1713 from sbt/fix/1710
Fixes cached resolution mutual eviction (drops slf4j)
2014-11-03 11:56:51 -05:00
Eugene Yokota 398e15ab63 Fixes #1710. Fixed cached resolution mutual eviction
When stitching the minigraphs together only exclude the artifacts that
were evicted in *all* graphs, instead of some graphs.
Consider the following scenario:
- Y1 evicts slf4j-api 1.6.6 and picks 1.7.5
- Y2 evicts slf4j-api 1.7.5 and picks 1.6.6
At the root level, we need to use our own judgement and pick 1.7.5.
2014-11-01 20:50:41 -04:00
Eugene Yokota 97163f0951 rename scripted tests 2014-11-01 20:50:24 -04:00
eugene yokota 35ced948b0 Merge pull request #1709 from sbt/wip/notes-for-javac
Notes about the javac fix.
2014-10-31 16:06:49 -04:00
Josh Suereth 65ff778882 Notes about the javac fix. 2014-10-31 16:04:43 -04:00