MCPcopy Create free account
hub / github.com/GerritCodeReview/gerrit / InitPlugins

Class InitPlugins

java/com/google/gerrit/pgm/init/InitPlugins.java:38–199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36import java.util.jar.Manifest;
37
38@Singleton
39public class InitPlugins implements InitStep {
40 public static final String PLUGIN_DIR = "WEB-INF/plugins/";
41 public static final String JAR = ".jar";
42
43 public static List<PluginData> listPlugins(
44 SitePaths site, PluginsDistribution pluginsDistribution) throws IOException {
45 return listPlugins(site, false, pluginsDistribution);
46 }
47
48 public static List<PluginData> listPluginsAndRemoveTempFiles(
49 SitePaths site, PluginsDistribution pluginsDistribution) throws IOException {
50 return listPlugins(site, true, pluginsDistribution);
51 }
52
53 private static List<PluginData> listPlugins(
54 final SitePaths site,
55 final boolean deleteTempPluginFile,
56 PluginsDistribution pluginsDistribution)
57 throws IOException {
58 final List<PluginData> result = new ArrayList<>();
59 pluginsDistribution.foreach(
60 (pluginName, in) -> {
61 Path tmpPlugin = JarPluginProvider.storeInTemp(pluginName, in, site);
62 String pluginVersion = getVersion(tmpPlugin);
63 if (deleteTempPluginFile) {
64 Files.delete(tmpPlugin);
65 }
66 result.add(new PluginData(pluginName, pluginVersion, tmpPlugin));
67 });
68 result.sort(comparing(p -> p.name));
69 return result;
70 }
71
72 private final ConsoleUI ui;
73 private final SitePaths site;
74 private final InitFlags initFlags;
75 private final InitPluginStepsLoader pluginLoader;
76 private final PluginsDistribution pluginsDistribution;
77
78 private Injector postRunInjector;
79
80 @Inject
81 InitPlugins(
82 final ConsoleUI ui,
83 final SitePaths site,
84 InitFlags initFlags,
85 InitPluginStepsLoader pluginLoader,
86 PluginsDistribution pluginsDistribution) {
87 this.ui = ui;
88 this.site = site;
89 this.initFlags = initFlags;
90 this.pluginLoader = pluginLoader;
91 this.pluginsDistribution = pluginsDistribution;
92 }
93
94 @Override
95 public void run() throws Exception {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected