Commit Graph

61 Commits

Author SHA1 Message Date
tanishiking24 4e8b6dc7aa Use contraband for generating SemanticSelector instead of using case class. 2018-05-12 12:23:58 +09:00
tanishiking24 f8efdb1ac2 Make semantic selector honor semver ordering around pre-release tags.
- When major, minor, and patch are equal, a pre-release version has lower precedence than a normal version. Example: 1.0.0-alpha < 1.0.0.
- Precedence for two pre-release versions with the same major, minor, and patch version MUST be determined by comparing each <del>dot</del> hyphen separated identifier from left to right until a difference is found as follows
- identifiers consisting of only digits are compared numerically and identifiers with letters or hyphens are compared lexically in ASCII sort order.
- Numeric identifiers always have lower precedence than non-numeric identifiers.
- A larger set of pre-release fields has a higher precedence than a smaller set, if all of the preceding identifiers are equal.
- Example: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0.

https://semver.org/#spec-item-11
2018-05-11 02:15:43 +09:00
tanishiking24 c0c88eda9f Add semantic version number selector API.
This semantic version number selector API is based on
- https://draftin.com/documents/375100?token=rR30GmJJzi4l3BRlD-cHs8lcAcdDAXH4oTzqOWeL0CT0BNv3PZEx0g8pBkI13sQgYXTBqShZ0Ucsqek3Fn3d-aU
- https://docs.npmjs.com/misc/semver
2018-05-09 02:53:01 +09:00
xuwei-k 4d3818f9f7 use foldLeft instead of /:
02776afa79/src/library/scala/collection/IterableOnce.scala (L465)
2018-05-03 23:03:44 +09:00
eugene yokota cf9311a2e3
Merge pull request #222 from dwijnand/cleanup/VersionNumber
Cleanup & tweak VersionNumber
2018-04-05 11:41:25 -04:00
Dale Wijnand f74ec06699
Change semantics to match previous semantics
We're unsure about SemVer's semantics around pre-releases, so for now we
just revert this refactoring to preserve the semantics it's always had.
2018-04-05 14:42:41 +01:00
Dale Wijnand 79e31a3e0f
Allow pre-release versions to be compatible with normal versions 2018-04-03 17:48:26 +01:00
Eugene Yokota 1073513b49 Merge branch '1.1.x' into wip/merge-1.1.x 2018-03-27 06:19:28 -04:00
Eugene Yokota a29a12054a bump contraband to 0.4.0
Ref https://github.com/sbt/contraband/issues/119
2018-03-23 22:21:05 +09:00
Dale Wijnand 0f93849214
Cleanup & tweak VersionNumber 2018-03-20 09:38:54 +00:00
Dale Wijnand c6b2b626c8
Merge pull request #221 from dwijnand/cleanup/VersionNumberSpec
Cleanup VersionNumberSpec
2018-03-20 09:36:36 +00:00
Dale Wijnand 4b9eb388a2
In VersionNumberSpec switch to FreeSpec, add "assert" prefix 2018-03-19 19:47:55 +00:00
Dale Wijnand f159846376
In VersionNumberSpec pass VersionString explicitly 2018-03-19 14:58:08 +00:00
Dale Wijnand dee7390117
Rename to MakePomConfigurationExtra.scala to match
See for example CrossVersionExtra.scala
2018-03-15 14:57:50 +00:00
Dale Wijnand a1999a9b90
Cleanup VersionNumberSpec 2018-03-15 01:47:30 +00:00
Antonio Cunei e55362e4c2 Renaming MakePomConfiguration.scala
The regular file has a name collision with the contraband-generated
name. Fixes #219.
2018-03-15 02:26:55 +01:00
Dale Wijnand 76d1f73333
Replace abstract protected[this] copy with abstract withX methods 2018-03-09 13:51:14 +00:00
Dale Wijnand 95544d5175
Make Configuration's copy private[this]
.. now that it doesn't need to share it with a parent type.
2018-03-09 13:51:14 +00:00
Dale Wijnand de360bb139
Add notes as to why Configuration isn't managed by Contraband 2018-03-09 13:51:13 +00:00
Dale Wijnand 8d49d5163c
Cleanup Configuration 2018-03-09 13:51:13 +00:00
Dale Wijnand 127b90ee43
Make MakePomConfiguration a Contraband type again
Requires a separate file because of https://github.com/sbt/contraband/pull/118.
2018-03-09 13:51:13 +00:00
Dale Wijnand 866b0a1d3f
Upgrade to contraband 0.3.3 2018-03-09 12:54:15 +00:00
Dale Wijnand b969f7362c
Make *Extra & *Functions classes private[librarymanagement]
They were never meant to be public types: they're implementation detail.
2018-03-09 12:54:11 +00:00
Jason Zaugg 4f2933d364 Cache the hashCode of Configuration
I noticed this was showing up in profiles when SBT's task engine
was using Keys, etc (that contain Configurations) in HashMap's.

Let's cache it instead. I don't think there is a need to use a lazy
val for this, we can compute it eagerly.
2018-02-23 14:58:00 +10:00
exoego 091edf6ea1 Add a new eviction warning summary to decide whether or not to warn eviction summary. 2018-02-15 22:06:55 +09:00
Dale Wijnand 60b9c7dacb
Remove a bunch of compilation warnings 2018-02-15 09:26:13 +00:00
Andreas Jim-Hartmann 5e275da2a9 Fix typo. 2018-01-30 08:50:08 +01:00
Eugene Yokota c0ac7061db Reorganize existing tests 2018-01-12 23:10:15 -05:00
Antonio Cunei 72dd0064c3 Change modifiedTime definitions 2017-12-22 00:55:24 +01:00
Antonio Cunei 42f23e62aa Revert *ModifiedTime() calls to *lastModified*() calls
There are just too many instances in which sbt's code relies on
the `lastModified`/`setLastModified` semantics, so instead of moving
to `get`/`setModifiedTime`, we use new IO calls that offer the new
timestamp precision, but retain the old semantics.
2017-12-22 00:27:30 +01:00
Eugene Yokota 68356306ec bump modules and plugins 2017-12-15 14:07:05 -05:00
Dale Wijnand 02c2ab5203 Use IO.getModified over importing the method 2017-12-15 14:06:16 -05:00
Antonio Cunei 41980634a4 Moved Milli._ to IO. 2017-12-15 14:06:16 -05:00
Antonio Cunei 340f1684c2 Temporary workaround to FileNotFoundException in RichUpdateReport() 2017-12-15 14:06:16 -05:00
Antonio Cunei ca2617e99e Convert lastModified/setLastModified calls to sbt.io.Milli calls (more precise) 2017-12-15 14:06:16 -05:00
Eugene Yokota 9c1566dfa1 Fix false positive on sbt 1.x module eviction warnings
Fixes #187
2017-11-29 20:02:37 -05:00
eugene yokota 50d024ac60
Merge pull request #183 from tpunder/fm-sbt-s3-resolver-conflict-fix
Be friendly to SBT plugins that also use URLHandlerRegistry.setDefault
2017-11-24 17:26:09 -05:00
xuwei-k a385a13fa5 fix incorrect eviction warning message 2017-11-02 15:10:05 +09:00
Alexey Alekhin 364ba9b44b Removed extra slash in the localBasePattern
When the `scala_[scalaVersion]/` segment is present and the `/[branch]` segment isn't, an extra slash appears before `/[revision]`.
2017-09-23 15:20:43 +02:00
Philippus Baalman d976980af2 Replace `ivys` and `artifacts` in comments
The `ivys` and `artifacts` methods are not available anymore, now referring to `withPatterns`
2017-09-04 15:46:39 +02:00
Peter Vlugter 437165eeb5 Include sbt plugin extra attributes in cached resolution 2017-08-16 11:27:26 +12:00
Dale Wijnand df108f7c78
Scalafmt 1.2.0 2017-08-14 15:29:06 +01:00
Dale Wijnand e91e5c9e77 Merge pull request #153 from dwijnand/UpdateReport.toString-2
Make sure UpdateReport has a nice toString^2
2017-08-10 16:41:34 +01:00
Dale Wijnand 63e63f05fa
Add back, re-configure & re-enable Scalafmt 2017-08-10 12:04:58 +01:00
Dale Wijnand f45a076241
Make sure UpdateReport has a nice toString^2
Fixes sbt/sbt#3357
2017-08-07 15:10:11 +01:00
Dale Wijnand c6e8bd72d2 Merge pull request #146 from dwijnand/UpdateReport.toString
Make sure UpdateReport has a nice toString
2017-07-28 10:36:35 +01:00
Dale Wijnand 52923854cc
Make sure UpdateReport has a nice toString
Fixes sbt/sbt#3357
2017-07-28 08:16:38 +01:00
Eugene Yokota d6e2720201 Let `ModuleDescriptor` declare cache inputs 2017-07-28 01:37:01 -04:00
Eugene Yokota 93c06d29b1 Implement better fake formats than ???
Fixes sbt/librarymanagement#67
Fixes sbt/sbt#3288
2017-07-26 22:46:06 -04:00
Eugene Yokota 3db33720a9 Use IvyAuthenticator and JavaNetAuthenticator
Fixes sbt/sbt#3331

The siatuation is a bit complicated.
Currently the credentials are stored in Ivy's credential store.
This needs to be translated into `java.net.Authenticator` by installing `IvyAuthenticator` and `ErrorMessageAuthenticator` in succession.
This, then, needs to be translated into OkHttp Authenticator using `okhttp3.JavaNetAuthenticator`.
2017-07-24 05:16:42 -04:00