Commit Graph

268 Commits

Author SHA1 Message Date
Mark Harrah caa1a4c583 API documentation for ModuleID methods 2013-01-10 16:06:12 -05:00
Mark Harrah a152965933 Option to automatically manage API documentation mappings
Set autoAPIMappings := true to enable.

Then, set apiURL to the base URL of the API documentation for a project.
This will get stored in an extra attribute in the ivy.xml or as a property
a pom.xml.

When using managed dependencies that have set their apiURL, the -doc-external-doc
setting for scaladoc will be automatically configured.  Note that this option
will only be available in Scala 2.10.1 and so enabling autoAPIMappings for
earlier versions will result in an error from scaladoc.

For unmanaged dependencies or dependencies without an automatic apiURL, add the
(File,URL) mapping to apiMappings.  The File is the classpath entry and the URL
is the location of the API documentation.
2013-01-10 16:06:12 -05:00
Mark Harrah 6a7540cf6f Disable Ivy debug-level logging (see elaboration below). Fixes #635.
The verbose-level logging is what usually contains relevant information for the user.
Persisting the debug logging slows down update noticeably and clutters the more useful
debug logging output from verbose.
2013-01-10 16:06:12 -05:00
Mark Harrah ce439efab3 Convert references to harrah/xsbt to sbt/sbt 2013-01-04 17:22:40 -05:00
Mark Harrah e3745540c9 More cleanup of Scala version handling, including managedScalaInstance to control automatic 'scala-tool' configuration and dependencies. 2012-12-09 20:40:41 -05:00
Grzegorz Kossakowski ef39aeb9c1 Follow source layout convention supported by Eclipse.
Moved source files so directory structure follow package
structure. That makes it possible to use Scala Eclipse plugin
with sbt's source code.
2012-12-07 10:27:08 -08:00
Mark Harrah 769ecbace5 add scala-tool configuration and dependencies when configuring via pom.xml/ivy.xml 2012-12-06 07:25:41 -05:00
Josh Suereth 0c08c1169e Bumped the Scalatest/Specs versions for 2.10.0-RC3
* Modified tests to use mutable Specs API
* Fixed a few minor specs issues.
2012-12-04 13:10:09 -05:00
Mark Harrah 5a45faf41b ConflictWarning cleanup, added strict convenience method for failing on any conflicts 2012-12-02 03:17:19 -05:00
Mark Harrah e47a357ab7 Resolve Scala version for projects in the normal `update` task.
1. Scala jars won't be copied to the boot directory, except for those needed to run sbt.
2. Scala SNAPSHOTs behave like normal SNAPSHOTs.  In particular, running `update` will properly re-resolve the dynamic revision.
3. Scala jars are resolved using the same repositories and configuration as other dependencies.
4. Classloaders (currently, Scala classloaders) are cached by the timestamps of entries instead of Scala class loaders being cached by version.

TODO: Support external dependency configuration
2012-11-17 20:23:06 -05:00
Mark Harrah 1c1e5c4977 taking care of deprecations removed in Scala master 2012-11-14 11:48:06 -05:00
Mark Harrah ce0284e187 Fixes #582. Don't merge dependencies with mismatched transitive/force/changing values.
This avoids the assertion, but note that Ivy is unlikely to work properly in this situation.
2012-11-12 14:45:36 -05:00
Mark Harrah e532d20732 cleanup of #585: compatible with earlier launchers 2012-10-29 09:52:10 -04:00
Eric Bowman 835ee0d1b3 XSBT-5: maven-style ivy repo support in the launcher config
Change-Id: I22c1ff126961d61d92e2e45a5b7eff329d3def90
Reviewed-on: https://gerrit.gilt.com/10950
Reviewed-by: Eric Bowman <ebowman@gilt.com>
Tested-by: Eric Bowman <ebowman@gilt.com>
2012-10-29 09:04:42 -04:00
Mark Harrah 5500d38367 invalidate cache when metadata deleted from local repository 2012-09-23 15:46:26 -04:00
Mark Harrah b15fb72727 Fail publishing when artifacts to publish do not exist. 2012-09-11 11:37:41 -04:00
Mark Harrah ea6bf368db use context logger instead of initial logger for Resolving messages 2012-09-01 09:56:09 -04:00
Mark Harrah 3dd3a18996 Force update on change to last modified time of artifacts or cached descriptor.
This is part 2 of the fix for #532.  It may also fix issues when working with
multiple local projects via 'publish-local' and binary dependencies.
2012-08-29 11:13:48 -04:00
Mark Harrah 14952e00b6 Second part of resolution cache work. Fixes #532.
Replaces the standard Ivy resolution cache:
 1. Separate the cached resolved Ivy files from resolution reports,
    making resolution reports easier to find (target/resolution-cache/reports/)
 2. Cache location includes extra attributes so that cross builds of a plugin
    do not overwrite each other.
2012-08-29 11:13:48 -04:00
Mark Harrah 7a7acce621 don't write <scope> section of pom if scope is 'compile' 2012-08-28 11:55:24 -04:00
Mark Harrah c7f6ce4aec per-project resolution cache that deletes cached files before each update
These are the ivy files, properties, and resolve reports for the project,
not dependencies and their artifacts.
2012-08-28 11:55:24 -04:00
Mark Harrah 74c07c64a7 Merge multiple dependency definitions for the same ID. Fixes #468, #285, #419, #480.
This is only a workaround.  Multiple dependency definitions should be avoided
in general.
2012-08-27 10:49:13 -04:00
Thomas Lockney 8045731500 Actually pass in the artifact, rather than just a global match 2012-07-17 15:20:26 -04:00
Mark Harrah 5a93605d75 'orbit' packaging should be handled like a standard jar. fixes #499. ref #463 2012-07-06 10:28:51 -04:00
Mark Harrah 53ee1c5adf hk2-jar packaging should be handled like a standard jar. fixes #463 2012-05-16 07:34:15 -04:00
Mark Harrah 80500b5ca5 remove duplicate conflict warnings 2012-05-06 15:11:46 -04:00
Mark Harrah 1c1d7b41a5 change Scala binary version check to a warning 2012-05-06 14:15:03 -04:00
Mark Harrah e8b8be7547 more scala-tools replacements 2012-05-05 20:35:04 -04:00
Mark Harrah 361027127e deprecations backported to 0.11.3 2012-05-05 20:35:04 -04:00
Mark Harrah 3f92b33350 bump to Ivy 2.3.0-RC1 2012-05-02 19:56:35 -04:00
Mark Harrah 59a7432cf8 update-classifiers fixes: mark modules intransitive and don't exclude sources/docs for scala jars 2012-05-02 19:56:35 -04:00
Mark Harrah dfac015eb3 exclude should apply to any artifact type, not just jars. fixes #436 2012-04-28 18:58:52 -04:00
Mark Harrah 8594e4443d reorganize compilation modules 2012-04-18 08:08:25 -04:00
Mark Harrah 7109bc9637 configuration via ivysettings.xml: use URI instead of URL and make 'inter-project' resolver available for multi-project builds. ref #416 2012-04-11 22:40:45 -04:00
Michael Allman ba2e42287b Add support for loading Ivy settings from a URL 2012-04-08 20:22:15 -07:00
Indrajit Raychaudhuri 5b3dc5bf26 Update Resolver configuration
- deprecate scala-tools resolvers
- rename `typesafeResolver` to `typesafeReleases` for consistency
- add reference for other wel known resolvers, viz., oss.sonatype.org and scalasbt.artifactoryonline.com
- rearrange locations for helper methods
2012-03-12 05:25:12 +05:30
Indrajit Raychaudhuri 14d4e41a15 Have convenient toString for `FileCredentials` 2012-02-28 23:01:17 +05:30
Indrajit Raychaudhuri ea08f86520 Added support for providing basic SCM info
Sonatype OSS repo (where many libraries are expected to migrate) requires
populating SCM info in additional to what is already provisioned for
populating in SBT.

We now support populating the basic SCM info as thus:
```
// Usual <scm><url/><connection/></scm>
scmInfo := Some(ScmInfo(url("https://github.com/foo/project"), "scm:git:https://github.com/foo/project.git"))

// Also add <developerConnection/>
scmInfo := Some(ScmInfo(url("https://github.com/foo/project"), "scm:git:https://github.com/foo/project.git", Some("dev_connection")))
```
For anything more esoteric than the basic info, there is always `pomPostProcess` :)
2012-02-28 15:30:51 +05:30
Mark Harrah 45eacbad4c Declare extra namespace in ModuleDescriptor for parsed plugin poms. Fixes #368. 2012-02-27 18:38:04 -05:00
Mark Harrah 52bca9bb8a add ConflictWarning.disable convenience method 2012-02-21 22:47:07 -05:00
Eugene Vigdorchik 45073ee7f1 test- preffix should be stripped to obtain classifier. 2012-02-21 18:52:50 +04:00
Mark Harrah 5fa93ca9f9 work around 'data has not been loaded' exception when direct dependency overridden by newer version 2012-02-14 21:59:13 -05:00
Mark Harrah b0e86898d1 support for dependency overrides 2012-02-14 21:59:12 -05:00
Eugene Vigdorchik be3ea741bc Mirror ivy \'force\' attribute in sbt. 2012-02-07 20:14:45 +04:00
Mark Harrah 5e155900da rework cross versioning to account for prerelease Scala versions 2012-01-22 22:06:53 -05:00
Mark Harrah 2255bd5a62 org.scala-tools.sbt -> org.scala-sbt and dropping scala-tools.org from defaults 2012-01-22 22:06:52 -05:00
Eric J. Christeson 1cc8c02c5b Remove trailing whitespace from entries in credentials file 2011-12-30 11:49:43 -06:00
杨博 4a727bc9d3 Allow `ModuleID % Configuration` 2011-12-13 00:08:18 +08:00
Indrajit Raychaudhuri fba4953c32 Miscellaneous updates
- honor includeTypes to filter dependency artifact candidates for classifier setting
- prefer the more stable Seq[_] instead of Iterable[_]
- import cleanups
2011-11-22 02:08:16 +05:30
Mark Harrah 9d21c48f41 revert XNode/Node rename because of shadowing when running full API doc generation 2011-11-19 18:17:30 -05:00
Indrajit Raychaudhuri 0139f15311 Cleanups activities
- extract exclusion block to separate method
- replace simple cases of mapping over function with pattern matching
2011-11-20 00:51:04 +05:30
Indrajit Raychaudhuri e69c1c3827 Add classifier for 'jar' artifact type only. Closes #257. 2011-11-20 00:10:43 +05:30
Indrajit Raychaudhuri 0270ac078f Support for enhanced cross build suffix in dependencies. Closes #267
Overloading `%%` for library dependency to allow using a library built
with an alternative version of Scala that is different from the Scala
version used in the current build (but hopefully binary compatible).

This is useful in cases, where the binary build of a dependency with
the exact Scala version isn't yet available but an otherwise binary
compatible build (maybe with a previous Scala release) is available.
2011-11-17 22:17:06 +05:30
Mark Harrah 156d836174 only require descriptors for dependencies without an explicit URL. fixes #263 2011-11-09 18:30:35 -05:00
Mark Harrah 76398a5646 add missing newline in conflict warning 2011-11-04 13:40:59 -04:00
Mark Harrah 3d82b79fc9 log during resolution 2011-11-04 13:40:59 -04:00
Mark Harrah 2805dbde8f track whether UpdateReport was cached or freshly generated 2011-10-30 18:39:47 -04:00
Mark Harrah b2398172b2 use Charset.name instead of toString (which currently calls name) 2011-10-26 19:28:26 -04:00
Indrajit Raychaudhuri 64af38bb84 Use IO.write instead of explicit resource management 2011-10-26 21:43:42 +05:30
Mark Harrah 16eee17503 drop configurations when storing unavailable classifiers. fixes #46 2011-10-16 17:27:36 -04:00
Jan Berkel 7508f7a7ea Added support for <classifier> in makePom
Avoid second call to getExtraAttribute
2011-10-12 02:59:16 +02:00
Mark Harrah 30e3c3e3e4 fixes #212. dependencies on plugins must be encoded in <properties> element. 2011-10-01 19:47:06 -04:00
Mark Harrah baee7b0f61 require metadata by default 2011-09-21 22:49:58 -04:00
Mark Harrah 7aeea2528b work around for Ivy-899. fixes #194 2011-09-20 20:51:47 -04:00
Mark Harrah dcea4f2293 make ComponentManager honor value of Ivy home provided by the launcher 2011-09-16 23:08:01 -04:00
Indrajit Raychaudhuri bd8d1c0698 Support for simple exclusion rules in inline dependencies
This support excluding a library from the dependency tree for a given
set of `ExclusionRule`s. There are two ways to achieve this:

- Using `organization` and `name` pairs:
val dep = "org" % "name" % "version" exclude("commons-codec", "commons-codec") exclude("org.slf4j", "slf4j-log4j")

- Using `ExclusionRule`:
val dep = "org" % "name" % "version" excludeAll(ExclusionRule("commons-codec", "commons-codec"), ExclusionRule("org.slf4j", "slf4j-log4j"))
2011-09-10 04:32:47 +05:30
Indrajit Raychaudhuri 1647efd6f8 Honor <exclusions/> in <dependency/> when available 2011-09-06 17:29:42 +05:30
Indrajit Raychaudhuri 7f9adf31b8 Add start-year for compliance in ProjectInfo 2011-09-03 02:19:08 +05:30
Mark Harrah 950bf200dc clean up optional dependency handling for make-pom. fixes #162 2011-08-26 23:27:03 -04:00
Mark Harrah fcdcdb4eaa more on #155 2011-08-23 19:51:50 -04:00
Mark Harrah d2ed74a5dd minor improvements to conflict message. closes #132 2011-08-23 19:51:50 -04:00
Mark Harrah a3460698bb improved fix for #155 2011-08-22 22:48:35 -04:00
Mark Harrah 967deece9c better error when publish resolver from custom configuration doesn't exist 2011-08-22 22:48:21 -04:00
Mark Harrah ba33a73271 remove duplication in conflict warning message 2011-08-22 22:48:21 -04:00
Mark Harrah c121c1745a append sbt pattern to leave the default IBiblioResolver pattern in place. fixes #155 2011-08-19 22:13:56 -04:00
Mark Harrah b36e40a8f7 move to 2.9.1 (RC3), bump to 0.11.0-SNAPSHOT 2011-08-16 17:32:26 -04:00
Indrajit Raychaudhuri bb75b74eb6 Remove some deprecations and redundant code 2011-08-05 13:30:04 +05:30
Mark Harrah 8f519a21c0 remove obsolete assertion. ref #143 2011-08-04 18:08:21 -04:00
Indrajit Raychaudhuri 67102aadff - Extra Settings are now available to control project information, viz., name, description, homepage, organization name, organization homepage, licenses
- Modified name/signature of some private types/methods to reduce confusion (all in limited scope, so nothing should change from end user's pov)
- Enriched Ivy and Maven descriptors produced out of the box (see Keys.scala and Defaults.scala for more)
- Projects do not need to create custom Ivy <info/> block anymore, there is more settings-specific control instead
2011-08-03 08:49:46 +05:30
Mark Harrah a6ef6481ac use configurations for modules for update-classifiers. fixes #104 2011-07-31 22:17:50 -04:00
Indrajit Raychaudhuri 60aa517cd2 JavaNet1Repository should have legacy layout (see: http://maven.apache.org/pom.html#Repository) 2011-07-31 20:47:10 +05:30
Indrajit Raychaudhuri 5e002782f1 Add java.net M2 repo for convenience 2011-07-31 20:47:10 +05:30
Indrajit Raychaudhuri 0a4cb0efba fix distribution method (see: http://maven.apache.org/pom.html#Licenses) 2011-07-31 20:47:10 +05:30
Mark Harrah 0509424635 fix pom packaging autodetection 2011-07-30 18:11:20 -04:00
Mark Harrah 213399c40c fix inter-project dependencies involving extra attributes 2011-07-29 23:33:10 -04:00
Mark Harrah a8fd017499 maven-compatible plugin dependency system 2011-07-27 19:50:59 -04:00
Mark Harrah 3975ade5aa explicitly set pattern for Maven resolver for more control 2011-07-27 19:50:59 -04:00
Mark Harrah 0357cf88ff log conflict messages as one unit 2011-07-27 19:50:58 -04:00
Mark Harrah 1d478fa437 fix spurious extra attributes warning 2011-07-25 21:38:01 -04:00
Mark Harrah 5903fb88a2 includes sbt, Scala version extra attributes in repository/cache patterns 2011-07-23 23:07:54 -04:00
Mark Harrah e81d7087ed includes extra attributes in ModuleID.toString 2011-07-23 23:07:54 -04:00
Mark Harrah 69f6887ea1 extra information when dependencies with extra attributes cannot be resolved 2011-07-23 23:07:54 -04:00
Mark Harrah 33736edb29 preserve extraAttributes in a couple of places 2011-07-23 23:07:54 -04:00
Mark Harrah 7066036084 drop problem summary for update-seems entirely redundant 2011-07-23 23:07:54 -04:00
Mark Harrah 6acbbb05a3 support configuring checksums differently for publish, publish-local, update, and update-sbt-classifiers. fixes #115 2011-07-21 22:03:56 -04:00
Mark Harrah 3f0644d136 use launcher repositories for update-sbt-classifiers. fixes #88 2011-07-19 21:29:05 -04:00
Mark Harrah bcc3e12abc use 'scalaVersion in update' for cross building, IvyScala.substituteCross for generality. fixes #86
also, 'scalaVersion in artifactName` for the version to append to artifacts
2011-07-17 11:26:27 -04:00
Mark Harrah 0ea418e985 provide better indication of cause of incompatible sbt versions 2011-07-16 12:53:29 -04:00
Mark Harrah ed20823886 cleanup 2011-07-13 18:08:29 -04:00
Mark Harrah 199737f7b5 use \n for make-pom because PrettyPrinter hard codes it. fixes #95 2011-07-12 07:47:31 -04:00