|
@@ -37,8 +37,15 @@ class MuzzlePlugin implements Plugin<Project> {
|
|
|
private static final AtomicReference<ClassLoader> TOOLING_LOADER = new AtomicReference<>()
|
|
|
static {
|
|
|
RemoteRepository central = new RemoteRepository.Builder("central", "default", "https://repo1.maven.org/maven2/").build()
|
|
|
+ RemoteRepository sonatype = new RemoteRepository.Builder("sonatype", "default", "https://oss.sonatype.org/content/repositories/releases/").build()
|
|
|
+ RemoteRepository jcenter = new RemoteRepository.Builder("jcenter", "default", "https://jcenter.bintray.com/").build()
|
|
|
+ RemoteRepository spring = new RemoteRepository.Builder("spring", "default", "https://repo.spring.io/libs-release/").build()
|
|
|
+ RemoteRepository jboss = new RemoteRepository.Builder("jboss", "default", "https://repository.jboss.org/nexus/content/repositories/releases/").build()
|
|
|
RemoteRepository typesafe = new RemoteRepository.Builder("typesafe", "default", "https://repo.typesafe.com/typesafe/releases").build()
|
|
|
- MUZZLE_REPOS = new ArrayList<RemoteRepository>(Arrays.asList(central, typesafe))
|
|
|
+ RemoteRepository akka = new RemoteRepository.Builder("akka", "default", "https://dl.bintray.com/akka/maven/").build()
|
|
|
+ RemoteRepository atlassian = new RemoteRepository.Builder("atlassian", "default", "https://maven.atlassian.com/content/repositories/atlassian-public/").build()
|
|
|
+// MUZZLE_REPOS = Arrays.asList(central, sonatype, jcenter, spring, jboss, typesafe, akka, atlassian)
|
|
|
+ MUZZLE_REPOS = Arrays.asList(central, jcenter, typesafe)
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -205,7 +212,10 @@ class MuzzlePlugin implements Plugin<Project> {
|
|
|
rangeRequest.setArtifact(directiveArtifact)
|
|
|
final VersionRangeResult rangeResult = system.resolveVersionRange(session, rangeRequest)
|
|
|
|
|
|
- final List<Artifact> allVersionArtifacts = filterVersion(rangeResult.versions).collect { version ->
|
|
|
+// println "Range Request: " + rangeRequest
|
|
|
+// println "Range Result: " + rangeResult
|
|
|
+
|
|
|
+ final List<Artifact> allVersionArtifacts = filterVersion(rangeResult.versions, muzzleDirective.skipVersions).collect { version ->
|
|
|
new DefaultArtifact(muzzleDirective.group, muzzleDirective.module, "jar", version.toString())
|
|
|
}
|
|
|
|
|
@@ -236,7 +246,7 @@ class MuzzlePlugin implements Plugin<Project> {
|
|
|
rangeRequest.setArtifact(directiveArtifact)
|
|
|
final VersionRangeResult rangeResult = system.resolveVersionRange(session, rangeRequest)
|
|
|
|
|
|
- filterVersion(allRangeResult.versions).collect { version ->
|
|
|
+ filterVersion(allRangeResult.versions, muzzleDirective.skipVersions).collect { version ->
|
|
|
if (!rangeResult.versions.contains(version)) {
|
|
|
final MuzzleDirective inverseDirective = new MuzzleDirective()
|
|
|
inverseDirective.group = muzzleDirective.group
|
|
@@ -350,7 +360,7 @@ class MuzzlePlugin implements Plugin<Project> {
|
|
|
/**
|
|
|
* Filter out snapshot-type builds from versions list.
|
|
|
*/
|
|
|
- private static filterVersion(List<Version> list) {
|
|
|
+ private static filterVersion(List<Version> list, Set<String> skipVersions) {
|
|
|
list.removeIf {
|
|
|
def version = it.toString().toLowerCase()
|
|
|
return version.contains("rc") ||
|
|
@@ -361,7 +371,10 @@ class MuzzlePlugin implements Plugin<Project> {
|
|
|
version.contains(".m") ||
|
|
|
version.contains("-m") ||
|
|
|
version.contains("-dev") ||
|
|
|
+ version.contains("-ea") ||
|
|
|
+ version.contains("-atlassian-") ||
|
|
|
version.contains("public_draft") ||
|
|
|
+ skipVersions.contains(version) ||
|
|
|
version.matches(GIT_SHA_PATTERN)
|
|
|
}
|
|
|
return list
|
|
@@ -387,6 +400,7 @@ class MuzzleDirective {
|
|
|
String group
|
|
|
String module
|
|
|
String versions
|
|
|
+ Set<String> skipVersions = new HashSet<>()
|
|
|
List<String> additionalDependencies = new ArrayList<>()
|
|
|
boolean assertPass
|
|
|
boolean assertInverse = false
|
|
@@ -442,6 +456,7 @@ class MuzzleExtension {
|
|
|
void pass(Action<? super MuzzleDirective> action) {
|
|
|
final MuzzleDirective pass = objectFactory.newInstance(MuzzleDirective)
|
|
|
action.execute(pass)
|
|
|
+ postConstruct(pass)
|
|
|
pass.assertPass = true
|
|
|
directives.add(pass)
|
|
|
}
|
|
@@ -449,7 +464,15 @@ class MuzzleExtension {
|
|
|
void fail(Action<? super MuzzleDirective> action) {
|
|
|
final MuzzleDirective fail = objectFactory.newInstance(MuzzleDirective)
|
|
|
action.execute(fail)
|
|
|
+ postConstruct(fail)
|
|
|
fail.assertPass = false
|
|
|
directives.add(fail)
|
|
|
}
|
|
|
+
|
|
|
+ private postConstruct(MuzzleDirective directive) {
|
|
|
+ // Make skipVersions case insensitive.
|
|
|
+ directive.skipVersions = directive.skipVersions.collect {
|
|
|
+ it.toLowerCase()
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|