(Project project)
| 24 | /** Base implementation of a Plugin which prevents double-application. */ |
| 25 | public abstract class ProjectPlugin implements Plugin<Project> { |
| 26 | @Override |
| 27 | public final void apply(Project project) { |
| 28 | // ensure we don't double-apply the plugin |
| 29 | if (project.getPlugins().hasPlugin(this.getClass())) { |
| 30 | return; |
| 31 | } |
| 32 | project.afterEvaluate(GoomphCacheLocations::initFromProject); |
| 33 | // apply the plugin once |
| 34 | applyOnce(project); |
| 35 | } |
| 36 | |
| 37 | /** Plugin application, which is guaranteed to execute only once. */ |
| 38 | protected abstract void applyOnce(Project project); |
no test coverage detected