@Override public NbProjectInfo execute(BuildController bc) { return bc.getModel(NbProjectInfo.class); } }
@Override public Collection<T> execute(BuildController controller) { Collection<T> models = new ArrayList<>(); collectRootModels(controller, controller.getBuildModel(), models); return models; }
@Override public <T> T findModel(Class<T> modelClass) { return controller.findModel(referenceProject, modelClass); } };
public EvaluatedBuild(BuildController controller) { this.controller = controller; this.buildModel = controller.getBuildModel(); this.allProjects = buildModel.getProjects(); } }
@Override public Map<Class<?>, Object> getInfo(BuildController controller) { Map<Class<?>, Object> result = new IdentityHashMap<Class<?>, Object>(); for (Class<?> modelClass: modelClasses) { Object model = controller.findModel(modelClass); if (model != null) { result.put(modelClass, model); } } return result; }
@Override public AcumenTreeModel execute(BuildController controller) { return controller.getModel(AcumenTreeModel.class); } }
@Override public String getInfo(BuildController controller) { String rootName = controller.getBuildModel().getRootProject().getName(); return prefix + rootName; }
@Override public <T> T findModel(Class<T> modelClass) { return controller.getModel(modelClass); } };
@Override public <T> T getModel(Model target, Class<T> modelType) throws UnknownModelException { if (modelType.equals(BuildInvocations.class)) { GradleProject gradleProject = delegate.getModel(target, GradleProject.class); return adapter.adapt(modelType, new BuildInvocationsConverter().convert(gradleProject)); } return delegate.getModel(target, modelType); } }
@Override public GradlePlatformInfo getInfo(BuildController controller) { BuildEnvironment buildEnv = controller.getModel(BuildEnvironment.class); JavaVersion javaVersion = JavaVersion.current(); return new GradlePlatformInfo(buildEnv, javaVersion); }
private void collectRootModels(BuildController controller, GradleBuild build, Collection<T> models) { models.add(controller.getModel(build.getRootProject(), this.modelType)); for (GradleBuild includedBuild : build.getIncludedBuilds()) { collectRootModels(controller, includedBuild, models); } }