Warn when publish resolver and dependency resolvers have same name but different access mechanism.
Multiple resolvers having same name as well as same access mechanism (i.e., equality matching) isn't
usually a problem. A common scenario for this would be Maven based resolvers with exact (http based)
same access mechanism. Also see #367, #363
Simply, add `DefaultOptions.addResolvers` in project config
or `DefaultOptions.addPluginResolvers` in plugin config to have known
resolvers added by default (snapshot mode sensitive)
- 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
So far we had ability to configure compile task specific settings on
`Compile` Configuration scope only. We can now add `compile` task scope
as well.
Usecase: one can now specify:
```
// applies for all tasks on Compile axis
scalacOptions in Compile += "-deprecation"
// applies for compile tasks on Compile axis
scalacOptions in (Compile, compile) += "-Xcheckinit" // effectively, "-deprecation -Xcheckinit"
```
The old convention of keeping credentials in ~/.ivy2 isn't recommended anymore,
they can instead go in (customizable) global base location.
The global base defaults to `~/.sbt`, hence credentials go in `~/.sbt/.credentials`
(c.f. `Keys.globalBaseDirectory` and system property `sbt.global.base`)
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"), "scmhttps://github.com/foo/project.git"))
// Also add <developerConnection/>
scmInfo := Some(ScmInfo(url("https://github.com/foo/project"), "scmhttps://github.com/foo/project.git", Some("dev_connection")))
```
For anything more esoteric than the basic info, there is always `pomPostProcess` :)