Commit Graph

287 Commits

Author SHA1 Message Date
Mark Harrah 9fe72a546e exclude should apply to any artifact type, not just jars. fixes #436 2012-04-28 18:58:52 -04:00
Mark Harrah ce8f7b677d reorganize compilation modules 2012-04-18 08:08:25 -04:00
Mark Harrah c111fc1ae2 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 38289ad08a Add support for loading Ivy settings from a URL 2012-04-08 20:22:15 -07:00
Indrajit Raychaudhuri 2999cf8df9 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 89122005cb Have convenient toString for `FileCredentials` 2012-02-28 23:01:17 +05:30
Indrajit Raychaudhuri 403383d7cf 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 ec955474c4 Declare extra namespace in ModuleDescriptor for parsed plugin poms. Fixes #368. 2012-02-27 18:38:04 -05:00
Mark Harrah ebc0e90690 add ConflictWarning.disable convenience method 2012-02-21 22:47:07 -05:00
Eugene Vigdorchik 2b3db35d84 test- preffix should be stripped to obtain classifier. 2012-02-21 18:52:50 +04:00
Mark Harrah c74b03513f 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 1b168c37e4 support for dependency overrides 2012-02-14 21:59:12 -05:00
Eugene Vigdorchik 851864f9f6 Mirror ivy \'force\' attribute in sbt. 2012-02-07 20:14:45 +04:00
Mark Harrah 80589d1f5b rework cross versioning to account for prerelease Scala versions 2012-01-22 22:06:53 -05:00
Mark Harrah 45e097e281 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 bb30184470 Remove trailing whitespace from entries in credentials file 2011-12-30 11:49:43 -06:00
杨博 3817c0ce48 Allow `ModuleID % Configuration` 2011-12-13 00:08:18 +08:00
Indrajit Raychaudhuri 31f5133ff6 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 7141000e65 revert XNode/Node rename because of shadowing when running full API doc generation 2011-11-19 18:17:30 -05:00
Indrajit Raychaudhuri 4e7f7092ae 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 b31c510f38 Add classifier for 'jar' artifact type only. Closes #257. 2011-11-20 00:10:43 +05:30
Indrajit Raychaudhuri c597ec1e5e 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 226db8b597 only require descriptors for dependencies without an explicit URL. fixes #263 2011-11-09 18:30:35 -05:00
Mark Harrah 2eab86bf25 add missing newline in conflict warning 2011-11-04 13:40:59 -04:00
Mark Harrah f478b0b907 log during resolution 2011-11-04 13:40:59 -04:00
Mark Harrah 579938b72e track whether UpdateReport was cached or freshly generated 2011-10-30 18:39:47 -04:00
Mark Harrah 8c1c2a8c1d use Charset.name instead of toString (which currently calls name) 2011-10-26 19:28:26 -04:00
Indrajit Raychaudhuri 34260c022a Use IO.write instead of explicit resource management 2011-10-26 21:43:42 +05:30
Mark Harrah 31e4e5682f drop configurations when storing unavailable classifiers. fixes #46 2011-10-16 17:27:36 -04:00
Jan Berkel 2f52a17b6b Added support for <classifier> in makePom
Avoid second call to getExtraAttribute
2011-10-12 02:59:16 +02:00
Mark Harrah d605408950 fixes #212. dependencies on plugins must be encoded in <properties> element. 2011-10-01 19:47:06 -04:00
Mark Harrah a32278bfc7 require metadata by default 2011-09-21 22:49:58 -04:00
Mark Harrah fe264c4f4e work around for Ivy-899. fixes #194 2011-09-20 20:51:47 -04:00
Mark Harrah 31f492f4bc make ComponentManager honor value of Ivy home provided by the launcher 2011-09-16 23:08:01 -04:00
Indrajit Raychaudhuri a6396f839b 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 2585c57760 Honor <exclusions/> in <dependency/> when available 2011-09-06 17:29:42 +05:30
Indrajit Raychaudhuri 2c0819d7c7 Add start-year for compliance in ProjectInfo 2011-09-03 02:19:08 +05:30
Mark Harrah a258d4f3b5 clean up optional dependency handling for make-pom. fixes #162 2011-08-26 23:27:03 -04:00
Mark Harrah 5f674dbea4 more on #155 2011-08-23 19:51:50 -04:00
Mark Harrah 86c0ff1c09 minor improvements to conflict message. closes #132 2011-08-23 19:51:50 -04:00
Mark Harrah 964f83244a improved fix for #155 2011-08-22 22:48:35 -04:00
Mark Harrah 6961dff60e better error when publish resolver from custom configuration doesn't exist 2011-08-22 22:48:21 -04:00
Mark Harrah e73e0938eb remove duplication in conflict warning message 2011-08-22 22:48:21 -04:00
Mark Harrah de91865fae append sbt pattern to leave the default IBiblioResolver pattern in place. fixes #155 2011-08-19 22:13:56 -04:00
Mark Harrah 6d583f36c1 move to 2.9.1 (RC3), bump to 0.11.0-SNAPSHOT 2011-08-16 17:32:26 -04:00
Indrajit Raychaudhuri 9d6fca5d2a Remove some deprecations and redundant code 2011-08-05 13:30:04 +05:30
Mark Harrah c96aa6f9d2 remove obsolete assertion. ref #143 2011-08-04 18:08:21 -04:00
Indrajit Raychaudhuri 479c088772 - 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 0c9f6d88f9 use configurations for modules for update-classifiers. fixes #104 2011-07-31 22:17:50 -04:00
Indrajit Raychaudhuri 6dca8bda66 JavaNet1Repository should have legacy layout (see: http://maven.apache.org/pom.html#Repository) 2011-07-31 20:47:10 +05:30
Indrajit Raychaudhuri a24e2d06bb Add java.net M2 repo for convenience 2011-07-31 20:47:10 +05:30
Indrajit Raychaudhuri 009c34e021 fix distribution method (see: http://maven.apache.org/pom.html#Licenses) 2011-07-31 20:47:10 +05:30
Mark Harrah d7a5dca812 fix pom packaging autodetection 2011-07-30 18:11:20 -04:00
Mark Harrah 73d52dc031 fix inter-project dependencies involving extra attributes 2011-07-29 23:33:10 -04:00
Mark Harrah 392754e165 maven-compatible plugin dependency system 2011-07-27 19:50:59 -04:00
Mark Harrah 149edd6ee8 explicitly set pattern for Maven resolver for more control 2011-07-27 19:50:59 -04:00
Mark Harrah 1cbd4a2e47 log conflict messages as one unit 2011-07-27 19:50:58 -04:00
Mark Harrah b8b06a5ba7 fix spurious extra attributes warning 2011-07-25 21:38:01 -04:00
Mark Harrah efe920fff0 includes sbt, Scala version extra attributes in repository/cache patterns 2011-07-23 23:07:54 -04:00
Mark Harrah 1dced5cc41 includes extra attributes in ModuleID.toString 2011-07-23 23:07:54 -04:00
Mark Harrah d96c5ad1b4 extra information when dependencies with extra attributes cannot be resolved 2011-07-23 23:07:54 -04:00
Mark Harrah 703c1e841a preserve extraAttributes in a couple of places 2011-07-23 23:07:54 -04:00
Mark Harrah 7bb3cddf3c drop problem summary for update-seems entirely redundant 2011-07-23 23:07:54 -04:00
Mark Harrah b122934936 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 987dc0f3ba use launcher repositories for update-sbt-classifiers. fixes #88 2011-07-19 21:29:05 -04:00
Mark Harrah c766412885 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 eedc93c423 provide better indication of cause of incompatible sbt versions 2011-07-16 12:53:29 -04:00
Mark Harrah 3631d6a3a9 cleanup 2011-07-13 18:08:29 -04:00
Mark Harrah 92201e4ab3 use \n for make-pom because PrettyPrinter hard codes it. fixes #95 2011-07-12 07:47:31 -04:00
Mark Harrah 82f025bdec warn when there is an sbt version conflict. fixes #80 2011-07-08 21:54:59 -04:00
Mark Harrah 98b60623af Include evicted modules and statistics in UpdateReport 2011-07-08 21:54:59 -04:00
Mark Harrah 3c37eaa161 move dependency mapping to IvySbt#Module 2011-07-06 07:30:47 -04:00
Mark Harrah f2c5c62f1d return Provided to be transitive, ref #42 2011-07-03 15:44:53 -04:00
Mark Harrah f4dd9941d6 add methods for directly working with credentials 2011-06-26 12:27:06 -04:00
Mark Harrah c2ea5746a6 use ivyConfigurations for interDependencies instead of scope configurations 2011-06-22 19:17:10 -04:00
Mark Harrah dcd84a48ab add ChainedResolver(name: String, resolvers: Seq[Resolver]), closes #63 2011-06-20 15:25:23 -04:00
Mark Harrah 07ba2bcaa2 cache failing classifiers. fixes #46 2011-06-19 21:01:29 -04:00
Mark Harrah bbf05dc770 fixes issue with inter-project resolution when project delegates are defined 2011-06-18 20:17:50 -04:00
Mark Harrah dbd7a3eacb inject internal configurations into pom ModuleDescriptor. fixes #59 2011-06-17 21:56:52 -04:00
Mark Harrah f2fbe27375 fixes #55
updated dependency-management/sources test covers this
2011-06-15 19:09:31 -04:00
Mark Harrah 68719cf9d7 cleaning up artifact configurations 2011-06-14 19:32:36 -04:00
Mark Harrah 28f7622865 Define 'type' for builtin artifacts based on classifier 2011-06-12 21:32:52 -04:00
Mark Harrah 1b0359fff9 add pomAllRepositories option to include module configuration resolvers in pom. closes #39 2011-06-12 21:32:51 -04:00
Mark Harrah 51b8d38356 define type for artifacts looked up by update-classifiers, fixes #49 2011-06-11 20:09:15 -04:00
Mark Harrah 69afc20bf1 convenience method on UpdateReport for extracting contents as sequence of tuples 2011-06-10 08:08:51 -04:00
Mark Harrah dcc74da665 make provided intransitive, fixes #42 2011-06-10 08:08:51 -04:00
Mark Harrah ea07c941fb remove code obsolete after 0.7.1 2011-06-10 08:08:51 -04:00
Mark Harrah 806dc7a638 use artifact patterns as ivy pattern defaults 2011-06-02 18:35:25 -04:00
Mark Harrah 2bf2fdf98f Include dependency ID in explicit Scala version checking error message 2011-05-30 22:10:00 -04:00
Mark Harrah 5f7a6a192a drop custom conflict manager to fix IvyNode-related exception 2011-05-29 19:17:31 -04:00
Mark Harrah 65acdde031 settle scala-library situation 2011-05-25 22:44:22 -04:00
Mark Harrah 6ba42e0d2b locking of boot directory can be disabled by with [boot].lock: true in boot.properties 2011-05-19 22:04:05 -04:00
Mark Harrah b470d8ad80 build sxr, api docs and use sbinary 0.4.0 2011-05-17 20:09:20 -04:00
Mark Harrah b7ffd26c28 Implement optional/provided configurations, closes #8 2011-04-19 22:24:52 -04:00
Mark Harrah db81db25e6 work on dependency management tests 2011-04-16 16:38:47 -04:00
Mark Harrah 367ada5aca more work on dependency management tests 2011-04-16 11:22:10 -04:00
Mark Harrah 0ad9d58c8a fix handling of custom ivy home directory 2011-04-15 20:13:39 -04:00
Mark Harrah 8d797e7951 artifact and cross-naming fixes/improvements 2011-04-15 20:13:38 -04:00
Mark Harrah 0ff73e5791 inject sbt-managed Scala libraries into the UpdateReport 2011-04-15 18:32:20 -04:00
Mark Harrah 9b64b75c2f Hack to avoid Ivy checking for sources/javadocs for every module 2011-04-15 18:31:16 -04:00
Mark Harrah cb02e3c852 support checksum generation and checking, enable by default 2011-04-15 18:25:54 -04:00
Mark Harrah 14f53192ac fix Scala version transitively (by default) 2011-04-14 21:48:12 -04:00
Mark Harrah 40e1904615 direct Artifact->File map, removing source patterns
build and publish main sources and docs by default
control built-in artifacts with 'publish-artifact'
// disable publishing docs
 publishArtifact in (Compile,packageDoc) := false
// enable publishing test jar, docs, and sources
 publishArtifact in Test := true
2011-04-14 07:32:42 -04:00
Mark Harrah e73a49c467 Ivy home configurable instead of cache directory, work on artifact test 2011-04-13 19:03:36 -04:00
Mark Harrah 53b7b6f701 fix configurations name 2011-04-11 10:19:04 -04:00
Mark Harrah 0d6984aa88 some API documentation for UpdateReport 2011-04-10 21:30:03 -04:00
Mark Harrah a53ed46ce4 dependency filters, selecting/filtering UpdateReport 2011-04-10 16:22:48 -04:00
Mark Harrah d9e7dd8392 reorganize main 2011-04-08 19:15:13 -04:00
Mark Harrah 82f1904202 credentials and patterns for resolvers 2011-04-05 18:44:47 -04:00
Mark Harrah c2d3446836 Credentials for publishing 2011-04-04 22:46:51 -04:00
Mark Harrah bb533acd62 fix publish patterns for maven style publishing 2011-04-01 21:06:07 -04:00
Mark Harrah f10012df87 clean up Ivy-related logging 2011-03-22 20:53:33 -04:00
Mark Harrah 2a4805ac41 more stable managed classpath ordering 2011-03-16 22:21:02 -04:00
Mark Harrah 7046b84954 make default conflict manager ignore force
see comment on IvySbt.latestNoForce
2011-03-16 20:10:41 -04:00
Mark Harrah 4e55503d64 retrieve to build, update-classifiers action
set retrieve := true to have dependencies retrieved to the build
the location is by default shared by all projects in a build
  (<built-root>/lib_managed/), but can be per-project
update-classifiers and update-sbt-classifiers retrieves artifacts with classifiers
  for project dependencies and for sbt, respectively
The default setting is classifiers := Seq("javadoc", "sources")
2011-03-15 22:12:59 -04:00
Mark Harrah 39a6475b2e detailed UpdateReport replaces Map[String,Seq[File]]
the information included is:
  configuration -> module -> artifact -> file
2011-03-13 21:40:49 -04:00
Mark Harrah c0f3677844 more consistent configuration of the Ivy user directory 2011-03-12 10:28:53 -05:00
Mark Harrah c7d920caf2 2.9 compatibility fixes 2011-03-04 06:16:35 -05:00
Mark Harrah 3326d8ac52 include Scala version to artifact names to match expected names for publishing 2011-02-21 10:22:39 -05:00
Mark Harrah 7ad8785fc4 configure Ivy cache to ignore original resolver 2011-02-17 16:20:30 -05:00
Mark Harrah 75bfabb381 implement %% 2011-02-14 18:57:54 -05:00
Mark Harrah 2e7eaac15b fix stray Ivy logging message when directly accessing IvySbt#Module 2011-02-11 20:09:42 -05:00
Mark Harrah 48f9fdbdb2 package, package-doc, package-src 2011-02-10 08:16:07 -05:00
Mark Harrah 91b95ee23a fix ProjectResolver to properly ignore artifacts 2011-02-08 20:32:11 -05:00
Mark Harrah 191c19dc2b fix deadlock caused by lazy val synchronization 2011-02-05 21:34:17 -05:00
Mark Harrah 3f0633c06f Configuration-related tweaks 2011-02-02 19:32:24 -05:00
Mark Harrah 6ceba21615 multi-project model based on Settings and ProjectRef 2011-01-18 18:48:32 -05:00
Mark Harrah 1c9cad21c5 always use 'jar' as packaging type if there is an artifact with a 'jar' type 2011-01-04 11:10:31 -05:00
Mark Harrah ff119a0bbe update deliver,make-pom,publish-local to be usable 2010-12-02 19:56:19 -05:00
Mark Harrah d91f3c14c9 work on products+configurations 2010-11-13 20:21:06 -05:00
Mark Harrah 9090cd6218 drop some NotNulls from ivy/ plus some adjustments 2010-10-26 17:59:24 -04:00
Mark Harrah c3f54347ef 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 46f51b6e10 disable check modified. need to verify it doesn't break -SNAPSHOT 2010-09-27 19:06:52 -04:00
Mark Harrah c4fba6b8a5 fix update, default project supports triggered execution 2010-09-21 22:38:18 -04:00
Mark Harrah ccd465d046 check for non-existing local file after retrieve
this is almost always an error condition, but we need
  to translate the null for a better error message
2010-09-21 22:26:04 -04:00
Mark Harrah d53f770373 add sbt package object
for use from project definitions only-
 it is a top-level project
add dependency and repository builders
 cross-versioning will be a post-construction transformation
2010-09-21 22:24:24 -04:00
Mark Harrah 2838619011 update to Scala 2.8.1.RC1, Ivy 2.2.0-rc1
use dependencies compiled against Scala 2.8.0
2010-09-21 22:09:08 -04:00
Mark Harrah 988c526ef5 fix ProjectResolver to properly signal that it can't retrieve artifacts 2010-09-21 22:04:12 -04:00
Mark Harrah 71455032c8 put ResolverAdapter.java in proper location 2010-09-13 19:42:11 -04:00
Mark Harrah bc77cb8070 ProjectResolver for inter-project dependencies 2010-09-12 23:15:51 -04:00
Mark Harrah 2532cc5779 only filter Scala artifacts of type 'jar' 2010-09-12 23:14:55 -04:00
Mark Harrah 42d4323d2b minor cleanup of some Ivy-related code 2010-09-12 23:14:30 -04:00
Mark Harrah 568887b9e8 add RawRepository to wrap raw Ivy Resolvers 2010-09-12 23:13:48 -04:00
Mark Harrah 8097558fb2 first part of fixing #44 2010-09-04 08:42:37 -04:00
Mark Harrah 3d0d640a9c rework ConsoleLogger
can send output to a PrintWriter
control over color, still need custom formatter
replace IvyLogger with normal Logger
2010-09-04 08:24:26 -04:00
Mark Harrah d4965daf2a * 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 68da4c8ae5 - 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 f56c0ac37f more 2.8 updates, launcher compiles and runs with 2.8 2010-06-15 20:38:18 -04:00
Mark Harrah 3d7051ad07 * can now set 'offline' property to 'true' to not refresh dynamic revisions (not needed if no -SNAPSHOT versions used)
* more control over Ivy logging: override ivyUpdateLogging = UpdateLogging.Full,DownloadOnly (default), or Quiet
2010-05-02 19:15:01 -04:00
Mark Harrah a2d8bd1bee support ssh/sftp with keyfiles (needed to add user name parameter to 'as') 2010-04-28 20:45:35 -04:00