Commit Graph

1543 Commits

Author SHA1 Message Date
Martin Duhem 175ece4238 Remove `CompilerBridgeProvider` and `ResourceBridgeProvider`
It turns out that we can leverage the`FakeResolver` that has been
implemented to use with the static launcher, and resolve a "fake
compiler bridge" using it, rather than copying it from the resources.

This also has the advantage of not requiring to change the build
definition.
2016-04-15 08:35:27 +02:00
Martin Duhem b8472668ff Static launcher, get bridge sources from resources
This commit introduces a new "static" launcher that does not use Ivy to
gather all the artifacts that it requires, but rather expect them to be
immediately available.

To be able to use sbt without Internet access, we add a new
`ComponentCompiler` that is able to retrieve the bridge sources from the
resources on classpath and compile it.
2016-04-06 12:01:34 +02:00
Dale Wijnand f2f12022a5 Deprecate the Build trait 2016-03-31 16:47:12 +01:00
Martin Duhem 4fea604759 Unspecified project axis means current project or its build 2016-02-23 15:11:16 +01:00
Martin Duhem e35f9bb11e Completion for build-level keys
sbt's shell provided completion only for keys that were relative to a
defined project, but didn't provide completion for keys that belong to
the build definition only.

This commit fixes this issue by defining a new kind of `Parser` (from
which completions are generated) which runs its input simultaneously on
distinct parsers. We now define a parser for project-level keys and
another parser for build-level keys. These two parsers are eventually
combined, and we get the completions of both parsers.

Fixes sbt/sbt#2460
2016-02-23 15:11:15 +01:00
Eugene Yokota c5954ae156 Fixes #2464. Actually reorganize appResolvers
Fixes #2464 and Fixes #2465
appResolvers is a set of resolvers specified in the launcher
configuration.
This list fluctuates depending on the version of sbt, and sbt 0.13.10
meant to stabilize it by weeding out JCenter even when it includes it,
which failed when I applied the filter on the wrong list. This should
correct it.
2016-02-21 04:08:12 -05:00
Eugene Yokota bd5453c0b0 Fixes #2427 inter-project dependency interference with sbt-web
sbt-web uses exportedProducts key as an extension point.
This removes exportedProductsAlways from 0.13.10-RC1,
and uses exportedProducts instead.
2016-02-05 08:28:59 -05:00
eugene yokota cdb52e96ca Merge pull request #2430 from Duhemm/wip/fix-2428
Update bridge retrieval in `consoleProject`
2016-02-04 23:40:40 -05:00
Martin Duhem 6cabb9b4cb Update bridge retrieval in `consoleProject`
Fixes sbt/sbt#2428
2016-01-31 17:09:56 +01:00
Eugene Yokota 9da5fc871b Changed the flag name to "sbt.global.autoimport" per review. 2016-01-26 03:05:30 +09:00
Eugene Yokota ceccbf2d5a Fixes #2415. Hide global setting fix behind sbt.globalsettingfix
We are hiding a bug fix on global setting that was not importing auto
imports because fixing this via sbt/sbt#2399 breaks the source
compatibility: sbt/sbt#2415
I've split out the relevant portion of the scripted test into
global-settings, and marked it pending.
2016-01-24 16:50:21 -08:00
Eugene Yokota a9dc9be83b Adds CompatibilityWarningOptions. Fixes #2347
This addresses 0.13.10 regression, which currently warns users about
Maven incompatibility on a private configuration. This adds a config
class so the build user can control the level of the warning as well as
the target configuration to be monitored.
By default, we are only going to look at `Compile` and `Runtime`.
2016-01-22 01:39:00 -05:00
Tim Harper 7d86bc70d3 bugfix - apply autoImports for global plugins at global configuration stage
Previously, the autoimports for globally defined plugins were not
imported for global configuration files, although they were imported for
project configuration files.

This patch causes an additional plugin discovery phase to happen during
global config evaluation, so that auto-plugins can be detected and their
imports subsequently included.
2016-01-18 15:05:29 -07:00
Eugene Yokota c55c3ec966 Merge branch 'backport/internal-tracking' into wip/internal 2016-01-13 12:59:51 -05:00
Eugene Yokota 98b26ae5d3 Inter-project dependency tracking. Fixes #2266
Adds `trackInternalDependencies` and `exportToInternal` settings. These
can be used to control whether to trigger compilation of a dependent
subprojects when you call `compile`. Both keys will take one of three
values: `TrackLevel.NoTracking`, `TrackLevel.TrackIfMissing`, and
`TrackLevel.TrackAlways`. By default they are both set to
`TrackLevel.TrackAlways`.

When `trackInternalDependencies` is set to `TrackLevel.TrackIfMissing`,
sbt will no longer try to compile internal (inter-project) dependencies
automatically, unless there are no `*.class` files (or JAR file when
`exportJars` is `true`) in the output directory. When the setting is
set to `TrackLevel.NoTracking`, the compilation of internal
dependencies will be skipped. Note that the classpath will still be
appended, and dependency graph will still show them as dependencies.
The motivation is to save the I/O overhead of checking for the changes
on a build with many subprojects during development. Here's how to set
all subprojects to `TrackIfMissing`.

    lazy val root = (project in file(".")).
      aggregate(....).
      settings(
        inThisBuild(Seq(
          trackInternalDependencies := TrackLevel.TrackIfMissing,
          exportJars := true
        ))
      )

The `exportToInternal` setting allows the dependee subprojects to opt
out of the internal tracking, which might be useful if you want to
track most subprojects except for a few. The intersection of the
`trackInternalDependencies` and `exportToInternal` settings will be
used to determine the actual track level. Here's an example to opt-out
one project:

    lazy val dontTrackMe = (project in file("dontTrackMe")).
      settings(
        exportToInternal := TrackLevel.NoTracking
      )
2016-01-13 12:56:28 -05:00
eugene yokota f00f6fd541 Merge pull request #2344 from smarter/0.13-dotty
Make sbt aware of Dotty
2016-01-03 20:22:13 -05:00
Guillaume Martres 10265efd9c Make sbt aware of Dotty
This small set of changes, together with the compiler-bridge I wrote
(https://github.com/smarter/dotty-bridge) enables us to compile code
using Dotty in sbt, see https://github.com/smarter/dotty-example-project
for an example.
2016-01-03 20:35:29 +01:00
Eugene Yokota e82e6652d0 Move intransitive warning to update. Ref #2127 2015-12-30 13:41:31 -05:00
eugene yokota 05e5ae311b Merge pull request #2322 from dwijnand/drop-sealed-from-Append-typeclasses
Drop sealed from the typeclasses in Append
2015-12-29 13:00:57 -05:00
Eugene Yokota 9699f4b1b7 Adds bootIvyConfiguration to grab compiler bridge source. Fixes #2336
As described in #2336, I noticed that when using 0.13 nightly from
Bintray, sbt was unable to locate the compiler source.
Since `updateSbtClassifiers` is already set up to download sbt's own
sources, the `ivyConfiguration` should be reused. However, `compilers`
is a derived task, which is unable to depend on a scoped key.
To workaround this I had to create a new key called
`bootIvyConfiguration`. This should now use the metabuild's resolvers
to download the compiler bridge source.
2015-12-28 17:15:02 -05:00
Eugene Yokota c796c77386 Add useJCenter setting, which is set to false. Fixes #2217
Adds a new setting `useJCenter`, which is set to `false` by default.
When set to `true`, JCenter will be placed as the first external
resolver to find library dependencies.

The implementation of `externalResolvers` is changed to incorporate the
setting by calling `Resolver.reorganizeAppResolvers`. These changes
were required because `externalResolvers` uses whatever that's in the
launchconfig, which the build user may not upgrade.
2015-12-25 23:20:56 -05:00
Dale Wijnand 164fb5f847 Drop sealed from the typeclasses in Append 2015-12-18 14:04:52 +00:00
Eugene Yokota 3a3965b5f5 Fixes #2264. Use explicit artifacts if any, fallback to hardcoded
Even though it's not really used, updateClassifiers constructs
dependency graph based on the result from update.
The direct cause of #2264 came from the fact that the `allModules`
returned from ConfigurationReport did not include dependency
configurations. For example it returned "compile" instead of
"compile->runtime". I've identified that in #2264 and was fixed by
@Duhemm in f49fb33e6d.

Martin identified that the fix still does not address the fact that
updateClassifier hardcodes the classifiers to be tried. This commit
adds the fallback behavior so for Ivy-published modules it will use the
explicit list of artifacts, and for others it will fallback to the
hardcoded list of classifiers.
2015-12-02 16:41:02 -05:00
Martin Duhem 13410ca68e WIP 2015-12-02 16:56:14 +01:00
eugene yokota 57321bf6bc Merge pull request #2192 from DavidPerezIngeniero/0.13
More robustness when using the tasks and settings command
2015-09-10 21:14:57 -04:00
Martin Duhem 92ea782d94 Fix deprecation messages 2015-09-04 12:25:59 +02:00
Martin Duhem 1c4a900ff5 Retrieve compiler bridge sources in temp directory
Note that they won't be downloaded again, because the component compiler
will look for a previously-compiled version of the compiler bridge
before trying to fetch the sources again. If they've already been
downlaoded, then they have been compiled and a compiled version of the
compiler bridge already exists.
2015-09-04 12:00:44 +02:00
Martin Duhem dcad8a5527 Specify the compiler bridge module in a setting
In order to restore reproducibility of builds, we no longer cascade over
the possibly available versions of the compiler bridge sources (a
specific version of the bridge sources may not be available one day, but
exist on the next day), but rather let the build definition configure
which module to use.

Fixes sbt/sbt#2196
2015-09-04 11:17:27 +02:00
David Perez 1e2617a807 More robustness when using the tasks and settings command 2015-09-01 14:16:41 +02:00
Martin Duhem e31a9ba456 Download compiler interface sources in boot directory 2015-08-26 10:33:11 +02:00
Dale Wijnand 13c6729507 Extract Def.settings from Project#settings.
This allows for the same functionality that using SettingsDefinition in
Project#settings allows (specifying either bare Setting[_] or a Seq[Setting[_]])
to be available outside of the settings for a project, for instance when
defining a val.

In short, it allows:

    val modelSettings = Def.settings(
      sharedSettings,
      libraryDependencies += foo
    )
2015-08-20 18:45:41 +01:00
Pierre DAL-PRA 8f1fb2d232 Fix additional warnings 2015-08-07 00:23:14 +02:00
Pierre DAL-PRA 54d54b9f4f Replace procedure syntax by explicit Unit annotation 2015-08-04 10:07:38 +02:00
Pierre DAL-PRA f0bd9001e6 Remove redundant collection conversions 2015-08-01 12:05:35 +02:00
Pierre DAL-PRA b9171e59ad Simplify operations on collections 2015-08-01 02:25:17 +02:00
Josh Suereth 4464b13acd Remove reference to dead servers. 2015-07-24 13:58:39 -04:00
Josh Suereth d0e918d6d3 Merge pull request #2114 from pdalpra/add-append.sequence-list
Add an Append.Sequence instance for List
2015-07-18 07:05:59 -04:00
Pierre DAL-PRA 10c71b3f8a Add an Append.Sequence instance for List, fixes #2107 2015-07-18 10:51:31 +02:00
Pierre DAL-PRA f944ec98d2 Log javaOptions/fork interactions:
- When forking, log the javaOptions that are used
- When javaOptions are defined but fork := false, warn that javaOptions
	will be ignored
2015-07-18 00:37:35 +02:00
eugene yokota 5824ef6d7f Merge pull request #2106 from Duhemm/interface-specific-sources-clean
Find most specific version of compiler interface sources
2015-07-17 10:25:16 -04:00
Pierre DAL-PRA 13b37cc987 Fix several warnings 2015-07-17 09:17:42 +02:00
Martin Duhem cbd5cd5875 Fix inlined method 2015-07-16 15:34:04 +02:00
Martin Duhem 90a8423d8e Find most specific version of compiler interface sources
This commit introduces a mechanism that allows sbt to find the most
specific version of the compiler interface sources that exists using
Ivy.

For instance, when asked for a compiler interface for Scala 2.11.8-M2,
sbt will look for sources for:

 - 2.11.8-M2 ;
 - 2.11.8 ;
 - 2.11 ;
 - the default sources.

This commit also modifies the build definition by removing the
precompiled projects and configuring the compiler-interface project so
that it publishes its source artifacts in a Maven-friendly format.
2015-07-16 11:18:48 +02:00
Josh Suereth d2fdfb81a0 Merge pull request #2091 from Duhemm/hide-stacktrace
Don't show the stack trace on compilation error in build definition
2015-07-09 14:26:03 -04:00
Pierre DAL-PRA cf72c7cc0e Fix a few typos in keys descriptions 2015-07-09 17:00:48 +02:00
Martin Duhem 6c123f22ba Hide stacktrace on compilation error in build definition 2015-07-09 11:40:02 +02:00
Jonas Fonseca 54618ad55a Fix typos in annotations referring to EvaluateTaskConfig 2015-07-01 09:22:15 -04:00
Eugene Yokota 81f175ddbf Fixes #1666 2015-06-20 00:51:42 -04:00
James Roper 3625ce5943 Added Extracted.runInputTask
This provides a convenience function for running an input task from the
extracted state. This is particularly useful for commands, release steps
etc that may want to run input tasks, like scripted.
2015-06-10 16:09:09 +02:00
Andrew Johnson 7c0f455c79 Use FiniteDuration to represent time rather than a long 2015-05-13 14:18:27 -04:00
Andrew Johnson 4ec092617f Add forceUpdateMs 2015-05-13 08:02:48 -04:00
Josh Suereth b568565615 Merge pull request #1970 from matthewfarwell/test-exclude
Test exclude
2015-05-11 15:27:06 -04:00
eugene yokota c1952698e4 Merge pull request #2000 from dwijnand/command-to-string
Implement SimpleCommand.toString. Fixes #1998.
2015-05-07 10:45:16 -07:00
Eugene Yokota 66e07f6e83 use Duration to track minForcegcInterval 2015-05-05 19:29:22 -04:00
Dale Wijnand 97ed5822c7 Implement SimpleCommand.toString. Fixes #1998. 2015-05-05 09:11:52 +01:00
Eugene Yokota 8aca4e8fa6 Force GC on cross building 2015-05-04 23:49:36 -04:00
Eugene Yokota 2bbe872969 Use interval throttling
JMX doesn't seem to work in reporting

    memoryMxBean.getObjectPendingFinalizationCount

At least for the test build that I used it always reports zero.
2015-05-04 23:09:23 -04:00
Eugene Yokota d82fe46052 Fixes #1223. Uses JMX to find out when to force GC. 2015-04-30 14:53:50 -04:00
eugene yokota 1ebe3804b3 Merge pull request #1992 from dwijnand/cross-scala-versions-default
Fix crossScalaVersions default, derived from scalaVersion. Fixes #1828.
2015-04-29 05:08:40 -07:00
eugene yokota 27bd275343 Merge pull request #1989 from dwijnand/inThisBuild
Add inThisBuild, similar to inConfig. Fixes #1847
2015-04-26 18:58:12 -07:00
eugene yokota d0fbd10852 Merge pull request #1987 from ajsquared/0.13
Add configurationsToRetrieve
2015-04-26 18:54:32 -07:00
Dale Wijnand 116c1e1e8b Fix crossScalaVersions default, derived from scalaVersion.
Fixes #1828.
2015-04-26 17:06:59 +01:00
Dale Wijnand 1aff36d505 Add help message for `inspect actual`. Fixes #1651. 2015-04-26 03:18:29 +01:00
Dale Wijnand 348a28f761 Cleanup inspectDetailed. 2015-04-26 02:31:51 +01:00
Dale Wijnand 677c33611a Add inThisBuild, similar to inConfig. Fixes #1847 2015-04-25 20:39:59 +01:00
Andrew Johnson b617b41ae1 Support configuring a subset of configurations from which to retrieve dependencies when retrieveManaged is true 2015-04-23 12:49:45 -04:00
Matthew Farwell d4cffdddd9 corrected exclusion logic, added more unit tests & scripted tests 2015-04-17 09:28:58 +02:00
Matthew Farwell 0e56878534 Added unit tests for Defaults.selectedFilter 2015-04-14 06:31:27 +02:00
Matthew Farwell a9e06109a3 Added exclusions to testOnly and testQuick command line, indicated by a '-' prefix. 2015-04-13 16:31:22 +02:00
eugene yokota c879432b0f Merge pull request #1950 from ajsquared/0.13
Add retrieveManagedSync
2015-04-10 12:48:17 -07:00
Andrew Johnson e647234743 Add retrieveManagedSync 2015-03-31 10:59:41 -04:00
Dale Wijnand 5c2ec63fa6 Make use of the nicer Project settings syntax in 0.13.8. 2015-03-27 01:19:26 +00:00
David Perez 4b5a3b785e Merge remote-tracking branch 'upstream/0.13' into 0.13 2015-03-25 16:12:54 +01:00
David Perez ef6c5f7e55 Merge remote-tracking branch 'origin/0.13.7' into 0.13 2015-03-25 16:01:15 +01:00
David Perez 5ce11c67c5 Catch exceptions with NonFatal 2015-03-25 15:02:45 +01:00
David Perez 2c52efeca5 Removed unicode arrow 2015-03-25 13:14:48 +01:00
David Perez 79ef772219 Removed unicode arrow 2015-03-24 14:54:10 +01:00
Dale Wijnand a4d2e04532 Add explicit return type for implicit removeSeq. 2015-03-23 22:29:57 +00:00
Dale Wijnand 18c7a5c226 MAke Task's remove1/removeN final. 2015-03-20 16:34:13 +00:00
Dale Wijnand 1db6f7f316 s/remove/removed/ 2015-03-20 16:12:39 +00:00
Dale Wijnand 17a1179e5b Add -= & --= for setings & keys, dual of += & ++=. 2015-03-16 23:44:38 +00:00
Dale Wijnand 51e83e7ea4 Fix temp variable names for +=/++= macros. 2015-03-16 23:31:14 +00:00
David Perez 508fc1b5ec Issue 1900, more robustness in help system 2015-03-12 15:30:43 +01:00
Eugene Yokota 1891b52472 Roll back the use of sbt/serialization for update caching 2015-03-10 05:12:17 -04:00
Eugene Yokota ca9257c064 OOM handling. #1763 2015-03-09 21:22:58 -04:00
Eugene Yokota b70fa6e0c2 Use pickler to cache UpdateReport for update task. #1763 2015-03-09 21:22:58 -04:00
Dale Wijnand a058a38b7b Define Project.settings with SettingsDefinition.
This maintains old, existing ways of configurating project settings,
while adding the possibility to:
* Define add a sequence of settings, between other individual settings
* Pass a Seq[Setting[_]] to Project.settings without having to do
  "varargs expansion", ie. ": _*"
2015-03-06 17:33:54 +00:00
Eugene Yokota b40a9e79c8 Fixes per review 2015-02-25 00:54:03 -05:00
Eugene Yokota 30ca290a13 Add sbt.root.ivyplugin escape hatch 2015-02-25 00:22:26 -05:00
Eugene Yokota 162ed3f320 Fixes #1869, Ref #1871. Don't enable IvyPlugin for multi project generated root 2015-02-24 23:02:26 -05:00
Dale Wijnand d07cdb92ad Make sure bare build.sbt is published by default. 2015-02-24 23:02:26 -05:00
Dale Wijnand 58a2e634e2 Improve disabling publish artificial root.
Not only is this safer, it also disables delivering the ivy file.
2015-02-24 23:02:25 -05:00
Dale Wijnand 03dc3f6fd0 Disable publishing artificial root. 2015-02-24 23:02:25 -05:00
Simon Schäfer 9a51264c96 Fixes #1845. Reformat Scaladoc of `AutoPlugin`
Enumerations always need to start with the same number, otherwise
Scaladoc doesn't recognize them as enumeration (no idea why).

Code blocks need to be surrounded by {{{}}}. The indentation of the
larger code block is still not correctly displayed, but I couldn't find
out why.

A TODO comment is moved out of the Scaladoc comment.
2015-02-07 01:35:35 +01:00
eugene yokota 35214ba202 Merge pull request #1841 from sbt/wip/merge-notes
Merging notes
2015-02-03 17:00:09 -05:00
Eugene Yokota f42419bdd4 Adds addMavenResolverPlugin. #1808/#1793 2015-02-02 14:57:25 -05:00
eugene yokota 1a3062ed10 Merge pull request #1799 from indrajitr/cross-source
Enable cross-version support for Scala sources.
2015-02-02 13:09:54 -05:00
eugene yokota 58f90cd078 Merge pull request #1787 from xuwei-k/git-clone-depth
specify the "--depth" parameter for efficient when git clone
2015-02-02 10:46:35 -05:00
Eugene Yokota b0a10815a6 Implementes `Def.sequential`. Fixes #1001
Adds Def.sequential based on Mark's implementation provided in #1001.
2015-01-20 01:22:03 -05:00
Indrajit Raychaudhuri 1f90ef6b43 Fix params order in `@deprecated` 2015-01-17 08:25:57 +05:30
Indrajit Raychaudhuri 1b15653bcb Enable cross-version support for Scala sources.
This allows attaching unmanaged sources on `per-ScalaVersion` basis.

Sources from `src/{main,test}/scala-<scalaBinaryVersion>` is collected
in addition to `src/{main,test}/scala` by default.

Note that the treatment of `scalaBinaryVersion` would vary depending on
`scalaVersion` pre-2.10 and 2.10 onwards.

For example:
- with `scalaVersion` `2.9.3`, the `scalaBinaryVersion` is set to `2.9.3`
  thus the files in `src/{main,test}/scala-2.9.3` as well
 `src/{main,test}/scala` would be available in the `sources` list.

- with `scalaVersion` `2.10.1`, the `scalaBinaryVersion` is set to `2.10`
  thus the files in `src/{main,test}/scala-2.10` as well
 `src/{main,test}/scala` would be available in the `sources` list.
2015-01-16 14:07:42 +05:30
eugene yokota be78b7fc4c Merge pull request #1759 from jedesah/topic/minor_cleanup
Minor code cleanup
2015-01-14 16:13:06 -05:00
Josh Suereth 42424b4cdb Refactoring code.
* remove debugging statements
* Move each class so it's one name-per-file
* Migrate out of org.apache namespace into sbt.mavenint
2015-01-12 14:48:23 -05:00
Eugene Yokota 406c80ddd6 Adjust tests. 2015-01-10 22:55:50 -05:00
Josh Suereth 16a64d70ef Migrate pom extra attributes out of CustomPomParser for deprecation. 2015-01-09 14:14:40 -05:00
Josh Suereth e3931dbfec Create a new Ivy DependencyResolver which uses Aether.
* Here we wire Aether into the Ivy dependency chain
* Add hooks into Aether to use Ivy's http library (so credentials are configured the same)
* Create the actual Resolver which extracts metadata information from Aether
* Deprecate old Ivy-Maven integrations
* Create hooks in existing Resolver facilities to expose a flag to enable the new behavior.
* Create notes documenting the feature.
* Create a new resolver type `MavenCache` which denotes how to read/write local maven cache metadata
  correctly.  We use this type for publishM2 and mavenLocal.
* Update failing -SNAPSHOT related tests to use new Aether resolver
* Create specification for expected behavior from the new resolvers.

Known to fix #1322, #321, #647, #1616
2015-01-08 08:53:25 -05:00
xuwei-k ad9e71178a specify the "--depth" parameter for efficient when git clone 2014-12-24 01:39:02 +09:00
Josh Suereth c8fc6d0223 Merge pull request #1620 from sbt/fix/1620
sbt resolves dependencies every compile when using %% with dependencyOverrides
2014-12-15 16:04:18 -05:00
Josh Suereth 62658b5fd8 Merge pull request #1615 from sbt/fix/1615
0.13.6 eviction notices too noisy
2014-12-15 15:13:02 -05:00
Eugene Yokota 5199909be7 Fixes #1766. Removes "No main class detected" warning. 2014-12-13 00:05:55 -05:00
Eugene Yokota 46f56851d4 'evicted' task to display all evictions 2014-12-12 23:30:05 -05:00
Eugene Yokota 40e5f7538a Fixes #1615. Move the invocation of eviction warning.
This moves the invocation of eviction warning so it’s called only when
actual ivy update is being performed.
2014-12-12 17:46:19 -05:00
Eugene Yokota e17ab305ae Fixes minor mistake in #1748 2014-12-12 17:00:35 -05:00
eugene yokota 9fc174f5c5 Merge pull request #1765 from ajozwik/0.13
Rollback xml parsing work-around
2014-12-12 12:14:31 -05:00
andrzej.jozwik@gmail.com e8e0297967 Remove work-around for parsing xml by scala parser 2014-12-08 23:35:17 +01:00
Eugene Yokota 59121cddf7 Fixes #1620. Fixes Set[ModuleID] serialization that broke update cache. 2014-12-08 09:27:56 -05:00
Josh Suereth 71d5dc931e Merge pull request #1748 from sbt/wip/1748
excludeDependencies: excludeAll at the project level
2014-12-05 09:06:09 -05:00
eugene yokota 4aa44262c3 Merge pull request #1741 from ajozwik/0.13
Multi imports in one line
2014-12-05 05:28:28 -05:00
Eugene Yokota 07afc67c7a Adds excludeDependencies. Fixes #1748
Adds project-level dependency exclusions:

  excludeDependencies += "org.apache.logging.log4j"
  excludeDependencies += "com.example" %% "foo"

In the first example, all artifacts from the organization
`"org.apache.logging.log4j"` are excluded from the managed dependency.
In the second example, artifacts with the organization `"com.example"`
and the name `"foo"` cross versioned to the current `scalaVersion` are
excluded.
2014-12-04 17:35:30 -05:00
Josh Suereth fda9252250 Merge pull request #1752 from sbt/wip/1752
Cached resolution is too verbose
2014-12-04 17:09:34 -05:00
Eugene Yokota 607b686cb2 Fixes #1752. Fixes cached resolution too verbose.
- Fixes cached resolution being too verbose
- Adds new UpdateLogging named "Default"
- When global logLevel or logLevel in update is Debug, Default will
bump up to Full UpdateLogging.
2014-12-04 12:34:30 -05:00
Jean-Rémi Desjardins ca736e55d3 Minor code cleanup 2014-12-03 09:56:34 -08:00
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 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
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
andrzej.jozwik@gmail.com ce75c5a9b0 For backward compatibility - do not used duplicated imports 2014-11-21 09:11:09 +01: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 b9964d5153 Merge pull request #1702 from jsuereth/wip/incremental-compiler-javac-cleanup
Create a new API for calling Java toolchains.
2014-10-31 15:31:14 -04:00
Josh Suereth 75402b26f2 More fixes from review.
* Fix regex for end of line.
* Rename NewJavaTool and friends to remove the New.
2014-10-30 19:37:22 -04:00
eugene yokota 473fc8476d Merge pull request #1703 from sbt/wip/merge-0.13.7
Wip/merge 0.13.7
2014-10-29 21:36:36 -04:00
Josh Suereth 70cdce0830 Create a new API for calling Java toolchains.
* Create a new sbt.compiler.javac package
* Create new interfaces to control running `javac` and `javadoc` whether forked or local.
* Ensure new interfaces make use of `xsbti.Reporter`.
* Create new method on `xsbti.compiler.JavaCompiler` which takes a `xsbti.Reporter`
* Create a new mechanism to parse (more accurately) Warnings + Errors, to distinguish the two.
* Ensure older xsbti.Compiler implementations still succeed via catcing NoSuchMethodError.
* Feed new toolchain through sbt.actions.Compiler API via dirty hackery until we can break things in sbt 1.0
* Added a set of unit tests for parsing errors from Javac/Javadoc
* Added a new integration test for hidden compilerReporter key, including testing threading of javac reports.

Fixes #875, Fixes #1542,  Related #1178 could be looked into/cleaned up.
2014-10-29 20:06:08 -04:00
Tomasz Bartczak 96f57f9fcd Fix for sbt#1180 - discovered classes are now sorted 2014-10-27 21:31:03 +01:00
Josh Suereth 2d3f57ad51 Fix the run logic so the mainClass setting is actually used when set. 2014-10-25 14:25:30 -04:00
Josh Suereth b834be8bfa Merge pull request #1669 from kretes/1648-warn-about-main-classes
Fix for https://github.com/sbt/sbt/issues/1648 - warn about multiple or no main classes
2014-10-23 07:37:07 -04:00
Eugene Yokota 7827682f41 Remove DefDef and check rhs
- lhs pattern matching occurs only for vals.
- def also breaks due to proc notation.
- instead of pretty printing, we can just check rhs.
2014-10-22 19:14:47 -04:00
Tomasz Bartczak 7a1a21d8c8 Fix for sbt#1648 - warn when no or multiple main classes 2014-10-22 22:42:01 +02:00
Eugene Yokota 97584457fa merged #1662 2014-10-21 12:18:54 -04:00
andrzej.jozwik@gmail.com 6f9dfcce52 Revert brackets for backward compatibility (binary compatibility), addExplicitXmlContent use pattern matching, splitFile - does not return whitespace statements 2014-10-19 23:54:18 +02:00
andrzej.jozwik@gmail.com 8c0e400c11 Add ; instead of brackets to xml group 2014-10-17 22:23:20 +02:00
andrzej.jozwik@gmail.com ef74db7319 Revert to previous version. 2014-10-14 11:24:12 +02:00
andrzej.jozwik@gmail.com ddc80357dc Add scala-stm file for unit test. 2014-10-14 08:30:20 +02:00
andrzej.jozwik@gmail.com 50ed84b748 Use original function 2014-10-13 22:53:45 +02:00
andrzej.jozwik@gmail.com f1ab893f98 Fixed #1666 - check from last end of line. 2014-10-13 22:49:26 +02:00