@@ -105,14 +105,14 @@ class MuzzlePlugin implements Plugin<Project> {
105105 project. getLogger(). info(" configured pass directive: ${ pass.group} :${ pass.module} :${ pass.versions} " )
106106
107107 muzzleDirectiveToArtifacts(pass, system, session). collect() { Artifact singleVersion ->
108- runAfter = addMuzzleTask(true , singleVersion, project, runAfter, bootstrapProject, toolingProject)
108+ runAfter = addMuzzleTask(pass, true , singleVersion, project, runAfter, bootstrapProject, toolingProject)
109109 }
110110 }
111111 for (MuzzleDirective fail : project. muzzle. failDirectives) {
112112 project. getLogger(). info(" configured fail directive: ${ fail.group} :${ fail.module} :${ fail.versions} " )
113113
114114 muzzleDirectiveToArtifacts(fail , system, session). collect() { Artifact singleVersion ->
115- runAfter = addMuzzleTask(false , singleVersion, project, runAfter, bootstrapProject, toolingProject)
115+ runAfter = addMuzzleTask(fail , false , singleVersion, project, runAfter, bootstrapProject, toolingProject)
116116 }
117117 }
118118 }
@@ -202,12 +202,17 @@ class MuzzlePlugin implements Plugin<Project> {
202202 *
203203 * @return The created muzzle task.
204204 */
205- private static Task addMuzzleTask (boolean assertPass , Artifact versionArtifact , Project instrumentationProject , Task runAfter , Project bootstrapProject , Project toolingProject ) {
205+ private static Task addMuzzleTask (MuzzleDirective directive , boolean assertPass , Artifact versionArtifact , Project instrumentationProject , Task runAfter , Project bootstrapProject , Project toolingProject ) {
206206 def taskName = " muzzle-Assert${ assertPass ? "Pass" : "Fail"} -$versionArtifact . groupId -$versionArtifact . artifactId -$versionArtifact . version "
207207 def config = instrumentationProject. configurations. create(taskName)
208208 config. dependencies. add(instrumentationProject. dependencies. create(" $versionArtifact . groupId :$versionArtifact . artifactId :$versionArtifact . version " ) {
209209 transitive = true
210210 })
211+ for (String additionalDependency : directive. additionalDependencies) {
212+ config. dependencies. add(instrumentationProject. dependencies. create(additionalDependency) {
213+ transitive = true
214+ })
215+ }
211216
212217 def muzzleTask = instrumentationProject. task(taskName) {
213218 doLast {
@@ -276,6 +281,10 @@ class MuzzleDirective {
276281 String group
277282 String module
278283 String versions
284+ List<String > additionalDependencies = new ArrayList<> ()
285+ void extraDependency (String compileString ) {
286+ additionalDependencies. add(compileString)
287+ }
279288}
280289
281290/**
0 commit comments