Commit Graph

310 Commits

Author SHA1 Message Date
Jean-Rémi Desjardins 3ea995225f Merge branch '0.13' of github.com:sbt/sbt into 0.13 2014-09-10 22:56:01 -07:00
Jean-Rémi Desjardins 183c2bcfe2 Add developers keySetting
The motivation for this is mainly to avoid having to define a pomExtra to publish to Maven central
2014-09-10 20:18:28 -07:00
Josh Suereth 0f88b7a4f3 Merge pull request #1584 from sbt/wip/fix-test-classloader-issues
Fix issues with specifying scalaHome/scalaInstance and running tests
2014-09-10 12:26:15 -04:00
Josh Suereth fa36d0e290 Add missing `configs` method from Project to the build.sbt DSL.
* Create `configs` method for the sbt DSL
* Add ProjectManipulation for this method to implement.
2014-09-09 08:54:43 -04:00
Josh Suereth 9a60ca7da9 Merge pull request #1579 from copumpkin/0.13
Support publishing to file repositories specified in ~/.sbt/repositories. Fixes #1570
2014-09-08 13:24:25 -04:00
Daniel Peebles a857ae2759 Fixes #1570 2014-09-08 00:55:58 -04:00
Josh Suereth bc421f0ac9 Fix issue where generated config-classes was not propogated.
Fixes #1568.

This is the fallout of attempting not to leak config-file classes. Since
we DO NOT have valid incremental compiler for config-classes, we've instituted
workaround to ensure that regular incremental compilation *AND* our own
sbt loader do not hose each other.   A full solution will eventually be
to find a way for .sbt files to participate in regular compilation of a
project.

For now, we fix the tracking of generated.class files throughout an sbt
"loadProjects" call, and then clean any .class files that were not
generated for a full reload.   This commit just fixes
a minor tracking issue.
2014-09-07 12:01:50 -04:00
Havoc Pennington b202bd6848 Merge pull request #1538 from sbt/fix/1439
Fixes #1439. Fixes metabuild downloading unused Scala 2.10.2
2014-08-20 14:26:02 -04:00
Eugene Yokota e2412740b2 Removes println when removing unused *.class files.
#1525 removes unused *.class files created by the metabuid.
The implementation currently prints out a long list of *.class files
it’s about to remove. Unless something bad happens, this information is
not very useful to the user, so I suggest we don’t display it.
2014-08-18 01:12:39 -04:00
Eugene Yokota 8a069d0fb2 Fixes #1439. Fixes metabuild downloading unused Scala 2.10.2
Scala instance is added to the Ivy graph via autoLibraryDependency.
For metabuilds, scala-library is scoped under “provided” configuration,
which does not seem to evict modules on “compiled” configuration.
This commit turns overrideScalaVersion flag to true for the metabuilds,
so override rules are added for the following modules:
- scala-library
- scala-compiler
- scala-reflect
2014-08-17 23:18:32 -04:00
Josh Suereth a1b3117a42 Track generated .class files and clean leftovers after project load.
Fixes #1524

* Track generated .class files from Eval
* While loading, join all classfiles throughout Load, lots of bookkeeping.
* When a given build URI is done loading, we can look at its
  project/target/config-classes directory and clean out any extra items
  that are lingering from previous build definitions.
* Add TODOs to handle the same thing in global directories.  Right now,
  given the shared nature of these projects, it's a bit too dangerous to
  do so.
2014-08-14 10:03:24 -04:00
Josh Suereth 0bfb5a4118 Ensure random file hash for .sbt DSL doesn't conflict across .sbt files.
Fixes #1465
2014-08-14 10:01:02 -04:00
Josh Suereth 86d0cd9aeb Remove printlns. 2014-08-11 09:04:26 -04:00
Eugene Yokota b8ab638b74 So apparently scalariform was unable to parse these files. 2014-08-11 09:03:35 -04:00
Josh Suereth 2d0aafc8b0 Allow root plugins to be disabled.
Fixes #1455

* Add a mechanism to detect if a plugin clause includes/excludes
  a particular plugin.
* Add a filter for our "enabling" clauses so that user-excluded
  root plugins do not show up.
* Add a test to ensure this succeed.
2014-08-11 09:01:18 -04:00
Josh Suereth f7c4898a97 Merge pull request #1491 from sbt/fix/528
Unresolved dependency warning includes source position. Fixes #528
2014-08-11 07:51:33 -04:00
eugene yokota d99d75408c Merge pull request #1505 from jaceklaskowski/initdetailed-help-fix
BuiltinCommands.initialize has load-commands commented out
2014-08-08 10:31:34 -04:00
Eugene Yokota 840acba087 Adds `dependencyPositions` task to explicitly track dependency positions. 2014-08-08 00:53:09 -04:00
Jacek Laskowski 8affccb42a BuiltinCommands.initialize has load-commands commented out 2014-08-06 23:56:59 +02:00
Jacek Laskowski 8c4f4a7182 Properly show reload help 2014-08-06 23:30:47 +02:00
eugene yokota cd40f05085 Merge pull request #1498 from sbt/wip/fix-broken-cross
Fix broken cross versioning semantics using +
2014-08-04 17:38:34 -04:00
eugene yokota e9b79c5956 Merge pull request #1490 from sbt/wip/1484
Fixes NullPointerException during update. Fixes #1484
2014-08-04 11:50:47 -04:00
Josh Suereth 19b91396a2 Fix broken cross versioning semantics using + 2014-08-04 10:44:40 -04:00
Eugene Yokota dc2ae51d73 Adds UnresolvedWarningConfiguration that caches ModuleID -> SourcePosition mapping.
UnresolvedWarning is moved back to IvyActions.scala where it belongs.
The mapping between ModuleID and SourcePosition is passed in as UnresolvedWarningConfiguration.
This is calculated once in Defaults using State and is cached to filesystem.
2014-08-03 02:31:56 -04:00
Eugene Yokota 58b7c63f84 Unresolved dependency warning includes source position. Fixes #528
Unresolved dependency warning is moved to UnresolvedDependencyWarning class including
the fail path that was added in #1467.
To display the source position, I need to access the State, so I had to move the
error processing out of IvyActions and add UnresolvedDependencyWarning, which is
aware of State.
2014-08-02 06:25:24 -04:00
Eugene Yokota 9124056440 Fixes NullPointerException during update. Fixes #1484 2014-08-01 21:00:41 -04:00
Josh Suereth cc7546b1eb Fixes #856 - Store ++ scala version changes on session.
* Ensure the ++ command stores its changes on the sbt session.
* Make sure `session clear-all` will clear out ++ changes
* Validate that `set` command doesn't undo `++` changes

Note: There is some autogenerated Setting[_] delegate optimisation
      work that could be done in the future.
2014-08-01 17:39:43 -04:00
Josh Suereth f4ff84db34 Fixes #1375 - Check for empty filenames.
Starting sbt in root isn't a great idea, but it shouldn't break.
2014-08-01 17:36:14 -04:00
Josh Suereth 49f1529c5a Fixes #1478 - Append new sLog when reloading in set command.
* Migrate weak reference into logger class so we can test clearing it.
* Ensure new state.log is propoagted into settings on `set` command.
* Fix set test so that it ensures the sLog is relatively stable when
  reloading on set command.
2014-08-01 15:04:32 -04:00
Eugene Yokota c8af32950d Implements eviction warning stories. #1200
This implements all stories from https://github.com/sbt/sbt/wiki/User-Stories%3A-Conflict-Warning.
When scalaVersion is no longer effective an eviction warning will display.

    Scala version was updated by one of library dependencies:
        * org.scala-lang:scala-library:2.10.2 -> 2.10.3

When there're suspected incompatibility in directly depended Java libraries,
eviction warnings will display.

   There may be incompatibilities among your library dependencies.
   Here are some of the libraries that were evicted:
      * commons-io:commons-io:1.4 -> 2.4

When there's suspected incompatiblity in directly depended Scala libraries,
eviction warnings will display.

  There may be incompatibilities among your library dependencies.
  Here are some of the libraries that were evicted:
      * com.typesafe.akka:akka-actor_2.10:2.1.4 -> 2.3.4

This also adds 'evicted' task, which displays more detailed eviction warnings.
2014-07-27 12:26:12 -04:00
Eugene Yokota bb6e3e34e6 Fixing NullPointerError caused by reading String from Ivy directly 2014-07-25 03:51:20 -04:00
Eugene Yokota d40733807f Implemented general eviction warning. #1200
a> update
    [info] Updating {file:/foo/}a...
    [info] Resolving org.fusesource.jansi#jansi;1.4 ...
    [info] Done updating.
    [warn] Some dependencies were evicted:
    [warn]  * org.scala-lang:scala-library (2.10.1) -> 2.10.3
2014-07-25 03:51:20 -04:00
Eugene Yokota e997769971 Consolidated resolution. Fixes #413
This adds a new setting key called updateOptions, which can enable
consolidated resolution for update task.
The consolidated resolution automatically generates an artificial
module descriptor based on the SHA-1 of all external dependencies.
This consolidates the Ivy resolution of identical Ivy dependency
graph across multiple subprojects.

This is how it's enabled:

    updateOptions := updateOptions.value.withConsolidatedResolution(true)
2014-07-24 02:12:46 -04:00
eugene yokota 9df5882766 Merge pull request #1456 from sbt/wip/build-sbt-vals-in-set-command
Export build.sbt values inside sbt.
2014-07-21 10:30:39 -04:00
Josh Suereth 50696398a1 Minor cleanups and fix Eval tests to work correctly. 2014-07-17 23:32:29 -04:00
Josh Suereth 13fc1114de Export build.sbt values inside sbt.
* Expose the values PAST the Eval/sbt.compiler package.
* Find projects using the name API rather than finding htem and dropping all values immediately.
* Adds a test to make sure the .sbt values are discovered and set-able
* Expose .sbt values in Set command and inside BuildUnit methods.
* Ensure `consoleProject` can see build.sbt values.
* Add notes for where we can look in the build if we want to expose .sbt values between files.
2014-07-17 16:29:06 -04:00
Josh Suereth e2949222b3 Make it so we can disable all default plugins (except the core plugin). 2014-07-15 00:51:55 -04:00
Josh Suereth f2e805a0d8 Merge pull request #1367 from dansanduleac/issue/1366
Don't update classifiers of projectDependencies
2014-07-02 10:09:45 -04:00
Lukasz Piepiora 871ccb0ab9 Fixes #1416: Plugin command doesn't work
Fix `plugin` command not working with plugin names containing `.`
2014-06-29 23:55:23 +02:00
eugene yokota 79cbc5a744 Merge pull request #1424 from jaceklaskowski/deprecated-annotation-param-positions
Message and since parameters in @deprecated properly placed
2014-06-24 22:59:55 -04:00
eugene yokota 77384a8a05 Merge pull request #1425 from jaceklaskowski/typo-fixes
Typo fixes + removing unnecessary semicolons
2014-06-24 22:58:59 -04:00
Jacek Laskowski ebbb77e200 Typo fixes + removing unnecessary semicolons 2014-06-25 00:08:25 +02:00
Jacek Laskowski d1dbdfc816 Message and since parameters in @deprecated properly placed 2014-06-24 22:35:34 +02:00
Lukasz Piepiora 75a05dfcbf Fix AutoPlugins declared at top-level
Fixes exception occuring when loading auto plugins, which are declared
as top-level classes
2014-06-24 20:52:18 +02:00
Jacek Laskowski 54bc04dadb Place version and comment correctly in @deprecated 2014-06-18 00:18:05 +02:00
Dan Sanduleac b4cfd7ab76 Don't update classifiers of projectDependencies 2014-06-02 10:14:01 +01:00
eugene yokota baf78797d6 Merge pull request #1378 from sbt/wip/fix-default-generated-projects
Allow autogenerated projects to have overridden organization.
2014-05-29 14:32:17 -04:00
Josh Suereth 68a2f57da9 Allow autogenerated projects to have overridden organization.
* Change detection of "default project" to accurately see
  if someone has changed the organization.
* Add a flag to notify downstream consumers that a project
  was autogenerated and not user specified.

Fixes #1315
2014-05-28 12:55:05 -04:00
Dan Sanduleac c006692fc3 Make GlobalPluginData preserve compatibility wrt .unapply 2014-05-28 14:50:41 +01:00
Dan Sanduleac b382cf464d build projects' transitiveUpdate to depend on globalPluginUpdate 2014-05-28 14:50:40 +01:00