@@ -338,7 +338,7 @@ class MuzzlePlugin implements Plugin<Project> {
338338 */
339339 private static Set<Artifact > muzzleDirectiveToArtifacts (MuzzleDirective muzzleDirective , VersionRangeResult rangeResult ) {
340340
341- final Set<Version > versions = filterAndLimitVersions(rangeResult, muzzleDirective. skipVersions)
341+ final Set<Version > versions = filterAndLimitVersions(rangeResult, muzzleDirective. skipVersions, muzzleDirective . includeSnapshots )
342342
343343 final Set<Artifact > allVersionArtifacts = versions. collect { version ->
344344 new DefaultArtifact (muzzleDirective. group, muzzleDirective. module, muzzleDirective. classifier ?: " " , " jar" , version. toString())
@@ -371,20 +371,21 @@ class MuzzlePlugin implements Plugin<Project> {
371371 final Set<Version > versions = rangeResult. versions. toSet()
372372 allRangeResult. versions. removeAll(versions)
373373
374- return filterAndLimitVersions(allRangeResult, muzzleDirective. skipVersions). collect { version ->
374+ return filterAndLimitVersions(allRangeResult, muzzleDirective. skipVersions, muzzleDirective . includeSnapshots ). collect { version ->
375375 final MuzzleDirective inverseDirective = new MuzzleDirective ()
376376 inverseDirective. name = muzzleDirective. name
377377 inverseDirective. group = muzzleDirective. group
378378 inverseDirective. module = muzzleDirective. module
379379 inverseDirective. versions = " $version "
380380 inverseDirective. assertPass = ! muzzleDirective. assertPass
381381 inverseDirective. excludedDependencies = muzzleDirective. excludedDependencies
382+ inverseDirective. includeSnapshots = muzzleDirective. includeSnapshots
382383 inverseDirective
383384 }. toSet()
384385 }
385386
386- private static Set<Version > filterAndLimitVersions (VersionRangeResult result , Set<String > skipVersions ) {
387- return limitLargeRanges(result, filterVersion(result. versions. toSet(), skipVersions), skipVersions)
387+ private static Set<Version > filterAndLimitVersions (VersionRangeResult result , Set<String > skipVersions , boolean includeSnapshots ) {
388+ return limitLargeRanges(result, filterVersion(result. versions. toSet(), skipVersions, includeSnapshots ), skipVersions)
388389 }
389390
390391 private static Set<Version > limitLargeRanges (VersionRangeResult result , Set<Version > versions , Set<String > skipVersions ) {
@@ -506,26 +507,30 @@ class MuzzlePlugin implements Plugin<Project> {
506507 /**
507508 * Filter out snapshot-type builds from versions list.
508509 */
509- private static filterVersion (Set<Version > list , Set<String > skipVersions ) {
510+ private static filterVersion (Set<Version > list , Set<String > skipVersions , boolean includeSnapshots ) {
510511 list. removeIf {
511512 def version = it. toString(). toLowerCase(Locale . ROOT )
512- return version. endsWith(" -snapshot" ) ||
513- version. contains(" rc" ) ||
514- version. contains(" .cr" ) ||
515- version. contains(" alpha" ) ||
516- version. contains(" beta" ) ||
517- version. contains(" -b" ) ||
518- version. contains(" .m" ) ||
519- version. contains(" -m" ) ||
520- version. contains(" -dev" ) ||
521- version. contains(" -ea" ) ||
522- version. contains(" -atlassian-" ) ||
523- version. contains(" public_draft" ) ||
524- version. contains(" -cr" ) ||
525- version. contains(" -preview" ) ||
526- skipVersions. contains(version) ||
527- version. matches(END_NMN_PATTERN ) ||
528- version. matches(GIT_SHA_PATTERN )
513+ if (includeSnapshots) {
514+ return skipVersions. contains(version)
515+ } else {
516+ return version. endsWith(" -snapshot" ) ||
517+ version. contains(" rc" ) ||
518+ version. contains(" .cr" ) ||
519+ version. contains(" alpha" ) ||
520+ version. contains(" beta" ) ||
521+ version. contains(" -b" ) ||
522+ version. contains(" .m" ) ||
523+ version. contains(" -m" ) ||
524+ version. contains(" -dev" ) ||
525+ version. contains(" -ea" ) ||
526+ version. contains(" -atlassian-" ) ||
527+ version. contains(" public_draft" ) ||
528+ version. contains(" -cr" ) ||
529+ version. contains(" -preview" ) ||
530+ skipVersions. contains(version) ||
531+ version. matches(END_NMN_PATTERN ) ||
532+ version. matches(GIT_SHA_PATTERN )
533+ }
529534 }
530535 return list
531536 }
@@ -559,6 +564,7 @@ class MuzzleDirective {
559564 boolean assertInverse = false
560565 boolean skipFromReport = false
561566 boolean coreJdk = false
567+ boolean includeSnapshots = false
562568 String javaVersion
563569
564570 void coreJdk (version = null ) {
0 commit comments