danny thomas <> in Gradle

Keep VersionParser constructor public to ease migration for those with internal API use

Avoid version parsing on compare by exposing only interfaces that support pre-parsed versioned

Each compare operation parses the version, causing significant object allocation and GC pressure during version sorting.

  1. … 16 more files in changeset.
Reduce overhead of numeric part passing (#1600)

- Remove regular expression in favor of Guava Longs.tryParse

- Parse numeric parts once when DefaultVersion is constructed

Add expectations to CachedChangingModulesIntegrationTest to ensure that revalidation occurs when resolution strategy cache settings expire

Add integration test to ensure that --refresh-dependencies causes a cached artifact to be retrieved with Cache-Control:max-age=0

Add ability to revalidate external resource requests

The argument allows Cache-Control: max-age=0 to be added in cases where it's desirable for artifact repositories or caching proxies to revalidate requests:

- Listing version metadata

- Resource has exceeded it's cache lifetime on disk, such as dynamic/snapshot dependencies or when --refresh-dependencies is specified

  1. … 10 more files in changeset.