prg.setFraction(1);
}
return new PluginGoalContainer[0];
}
final VirtualFile pluginsDir = pPluginsCacheFile.getParent();
if (pluginsDir == null || !pluginsDir.isValid() || !FileUtils.exists(pluginsDir) || !pluginsDir.isDirectory()) {
if (prg != null) {
prg.setText("No available plugins found.");
prg.setFraction(1);
}
return new PluginGoalContainer[0];
}
final Properties props = new Properties();
final byte[] data = pPluginsCacheFile.contentsToByteArray();
final ByteArrayInputStream stream = new ByteArrayInputStream(data);
props.load(stream);
if (prg != null) {
prg.setText("Found " + props.size() + " plugins.");
prg.setIndeterminate(false);
prg.setFraction(0);
}
final Set<PluginGoalContainer> plugins = new HashSet<PluginGoalContainer>(30);
final Set<Map.Entry<Object, Object>> entries = props.entrySet();
final int pluginCount = entries.size();
for (Map.Entry<Object, Object> entry : entries) {
final String pluginName = entry.getValue().toString();
final String artifactId = entry.getKey().toString();
if (prg != null) {
prg.setText("Loading plugin '" + pluginName + "'");
prg.setFraction((double) counter / (double) pluginCount);
counter++;
}
final VirtualFile pluginDir = pluginsDir.findChild(artifactId);
if (pluginDir == null || !pluginDir.isValid() || !FileUtils.exists(pluginDir) || !pluginDir.isDirectory()) {
if (prg != null)
prg.setText("Could not load plugin '" + pluginName + "'");
continue;
}