Commit Graph

61 Commits

Author SHA1 Message Date
Mark Harrah 3f091e5f86 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 14057fb211 cleanup of #585: compatible with earlier launchers 2012-10-29 09:52:10 -04:00
Eric Bowman bc6770bec3 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 152d51465d 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
Mark Harrah db3fd82236 more scala-tools replacements 2012-05-05 20:35:04 -04:00
Mark Harrah 52af295b42 deprecations backported to 0.11.3 2012-05-05 20:35:04 -04: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 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
Eugene Vigdorchik 2b3db35d84 test- preffix should be stripped to obtain classifier. 2012-02-21 18:52:50 +04: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
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
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 2c0819d7c7 Add start-year for compliance in ProjectInfo 2011-09-03 02:19:08 +05:30
Mark Harrah 5f674dbea4 more on #155 2011-08-23 19:51:50 -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
Indrajit Raychaudhuri a24e2d06bb Add java.net M2 repo for convenience 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 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 987dc0f3ba use launcher repositories for update-sbt-classifiers. fixes #88 2011-07-19 21:29:05 -04:00
Mark Harrah f2c5c62f1d return Provided to be transitive, ref #42 2011-07-03 15:44:53 -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 bbf05dc770 fixes issue with inter-project resolution when project delegates are defined 2011-06-18 20:17:50 -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 51b8d38356 define type for artifacts looked up by update-classifiers, fixes #49 2011-06-11 20:09:15 -04:00
Mark Harrah dcc74da665 make provided intransitive, fixes #42 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 b7ffd26c28 Implement optional/provided configurations, closes #8 2011-04-19 22:24:52 -04:00
Mark Harrah 8d797e7951 artifact and cross-naming fixes/improvements 2011-04-15 20:13:38 -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 82f1904202 credentials and patterns for resolvers 2011-04-05 18:44:47 -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 c0f3677844 more consistent configuration of the Ivy user directory 2011-03-12 10:28:53 -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 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 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 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 568887b9e8 add RawRepository to wrap raw Ivy Resolvers 2010-09-12 23:13:48 -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 a2d8bd1bee support ssh/sftp with keyfiles (needed to add user name parameter to 'as') 2010-04-28 20:45:35 -04:00
Mark Harrah e3c7cb2ff9 * synchronize types for doc/src artifacts with the wiki documentation
* Artifact.{sources, javadoc} methods for defining additional artifacts
2010-04-27 17:58:05 -04:00
Mark Harrah 7340febe05 add checks to Artifact.extra 2010-04-23 18:50:47 -04:00
Mark Harrah 32482aac15 legal cleanup 2010-02-07 23:45:19 -05:00