@Override public void initializeUI(UIBuilder builder) throws Exception { Set<AddonId> choices = new TreeSet<>(); for (AddonRepository repository : furnace.getRepositories()) { // Avoid immutable repositories if (repository instanceof MutableAddonRepository) { for (AddonId id : repository.listEnabled()) { if (id.getName().contains(":")) choices.add(id); } } } addonDependencies.setValueChoices(choices); addonDependencies.setDefaultValue(new ArrayList<AddonId>()); builder.add(addonDependencies); }
@After public void tearDown() { if (immutable != null) { File rootDirectory = immutable.getRootDirectory(); if (!Files.delete(rootDirectory, true)) { System.err.println("Could not delete " + rootDirectory); rootDirectory.deleteOnExit(); } } if (mutable != null) { File rootDirectory = mutable.getRootDirectory(); if (!Files.delete(rootDirectory, true)) { System.err.println("Could not delete " + rootDirectory); rootDirectory.deleteOnExit(); } } }
/** Hack to deploy addon in an immutable repository */ private static void deployAddonInImmutableRepository( AddonId addonId, AddonRepository repository) { Furnace furnace = new FurnaceImpl(); furnace.addRepository(AddonRepositoryMode.MUTABLE, repository.getRootDirectory()); AddonManagerImpl addonManager = new AddonManagerImpl(furnace, new MavenAddonDependencyResolver()); addonManager.deploy(addonId).perform(); }