/** * Checks if the {@link Project} depends on the provided {@link AddonId} */ @Override public boolean dependsOnAddon(final Project project, AddonId addonId) { DependencyInstaller dependencyInstaller = getDependencyInstaller(); Dependency dependency = toDependency(addonId); return dependencyInstaller.isInstalled(project, dependency); }
@Override public boolean isInstalled() { return getDependencyInstaller().isInstalled(getFaceted(), GIT_DEPENDENCY); }
private void addAddonDependency(Project project, StringBuilder dependenciesAnnotationBody, AddonId addonId) { DependencyInstaller dependencyInstaller = SimpleContainer .getServices(getClass().getClassLoader(), DependencyInstaller.class).get(); Dependency dependency = DependencyBuilder.create(addonId.getName()).setVersion( addonId.getVersion().toString()).setClassifier(MavenAddonDependencyResolver.FORGE_ADDON_CLASSIFIER) .setScopeType("test"); String name = addonId.getName(); if (!dependencyInstaller.isInstalled(project, dependency)) { dependencyInstaller.install(project, dependency); } dependenciesAnnotationBody.append("@AddonDependency(name = \"").append(name).append("\")"); }
@Override public void installSelectedAddons(final Project project, Iterable<AddonId> addons, boolean managed) { DependencyInstaller dependencyInstaller = getDependencyInstaller(); if (addons != null) for (AddonId addon : addons) { Dependency dependency = toDependency(addon); if (managed) { if (!dependencyInstaller.isManaged(project, dependency)) { dependencyInstaller.installManaged(project, dependency); } } else { if (!dependencyInstaller.isInstalled(project, dependency)) { dependencyInstaller.install(project, dependency); } } } }
@Override public Result execute(UIExecutionContext context) throws Exception { Furnace furnace = SimpleContainer.getFurnace(getClass().getClassLoader()); FacetFactory facetFactory = SimpleContainer.getServices(getClass().getClassLoader(), FacetFactory.class).get(); DependencyInstaller dependencyInstaller = SimpleContainer .getServices(getClass().getClassLoader(), DependencyInstaller.class).get(); UIContext uiContext = context.getUIContext(); Project project = getSelectedProject(uiContext); facetFactory.install(project, FurnaceVersionFacet.class); project.getFacet(FurnaceVersionFacet.class).setVersion(furnace.getVersion().toString()); facetFactory.install(project, AddonTestFacet.class); for (AddonId addonId : addonDependencies.getValue()) { DependencyBuilder dependency = DependencyBuilder.create(addonId.getName()) .setVersion(addonId.getVersion().toString()).setScopeType("test"); if (!dependencyInstaller.isInstalled(project, dependency)) { dependencyInstaller.install(project, dependency); } } return Results .success("Project " + project.getFacet(MetadataFacet.class).getProjectName() + " is now configured for testing"); }