-
Notifications
You must be signed in to change notification settings - Fork 791
/
MuzzleExtension.java
37 lines (29 loc) · 1 KB
/
MuzzleExtension.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.instrumentation.gradle.muzzle;
import javax.inject.Inject;
import org.gradle.api.Action;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.provider.ListProperty;
public abstract class MuzzleExtension {
private final ObjectFactory objectFactory;
@Inject
public MuzzleExtension(ObjectFactory objectFactory) {
this.objectFactory = objectFactory;
}
public abstract ListProperty<MuzzleDirective> getDirectives();
public void pass(Action<? super MuzzleDirective> action) {
MuzzleDirective pass = objectFactory.newInstance(MuzzleDirective.class);
action.execute(pass);
pass.getAssertPass().set(true);
getDirectives().add(pass);
}
public void fail(Action<? super MuzzleDirective> action) {
MuzzleDirective fail = objectFactory.newInstance(MuzzleDirective.class);
action.execute(fail);
fail.getAssertPass().set(false);
getDirectives().add(fail);
}
}