Unit test plugin's afterEvaulate

It’d look something like

public class MyTask extends DefaultTask {
    @Input
    private final Property<String> property = getProject().getObjects().property(String)

    public Property getProperty() {
        return this.property;
    }

    @TaskAction
    public void doStuff() {
        String propertyValue = property.get();
        // do stuff with propertyValue 
    }
}

public class MyPlugin implements Plugin<Project> {
    @Override
    public void apply(Project project) {
        MyExtension extension = project.getExtensions().create("extension", MyExtension.class);
        project.getTasks().register("myTask", MyTask.class).configure(task -> {
            Callable<String> callable = () -> extension.property;
            Provider<String> provider = project.getProviders().provider(callable);
            task.getProperty().set(provider);
        });
    }
}