@GET public String getInfo() { return furnace.getVersion().toString(); }
@GET public String getInfo() { return furnace.getVersion().toString(); }
@Override public boolean isCompatible(Furnace furnace, AddonId addonId) { return Versions.isApiCompatible(furnace.getVersion(), addonId.getApiVersion()); } },
@Override public Result execute(UIExecutionContext context) { Furnace furnace = SimpleContainer.getFurnace(getClass().getClassLoader()); AddonManager addonManager = SimpleContainer.getServices(getClass().getClassLoader(), AddonManager.class).get(); AddonDependencyResolver resolver = SimpleContainer .getServices(getClass().getClassLoader(), AddonDependencyResolver.class).get(); Version version = furnace.getVersion(); AddonId addonId = CoordinateUtils.resolveCoordinate(coordinate.getValue(), version, resolver); try { addonManager.install(addonId).perform(); // Invalidate project cache getProjectFactory().invalidateCaches(); return Results.success("Addon " + addonId.toCoordinates() + " was installed successfully."); } catch (Throwable t) { return Results.fail( "Addon " + addonId.toCoordinates() + " could not be installed: " + t.getCause().getMessage(), t); } }
@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"); }
.addArguments("clean", "install", "-Dversion.furnace=" + furnace.getVersion(), "-Dversion.forge=" + Versions.getImplementationVersionFor(getClass())) .runTests(false)