private static File getTargetFile(String name) { return new File(Jenkins.getActiveInstance().getPluginManager().rootDir,name+".jpi"); } }
private GroovyHookScript(String hook, Jenkins j) { this(hook, j.servletContext, j.getRootDir(), j.getPluginManager().uberClassLoader); }
public ClassLoader getClassLoader() { return Jenkins.getInstance().getPluginManager().uberClassLoader; }
@Override public List<? extends ToolInstaller> getDefaultInstallers() { try { Class<? extends ToolInstaller> jdkInstallerClass = Jenkins.getInstance().getPluginManager() .uberClassLoader.loadClass("hudson.tools.JDKInstaller").asSubclass(ToolInstaller.class); Constructor<? extends ToolInstaller> constructor = jdkInstallerClass.getConstructor(String.class, boolean.class); return Collections.singletonList(constructor.newInstance(null, false)); } catch (ClassNotFoundException e) { return Collections.emptyList(); } catch (Exception e) { LOGGER.log(Level.WARNING, "Unable to get default installer", e); return Collections.emptyList(); } }
static <T extends Annotation> List<IndexItem<T,Object>> listDelta(Class<T> annotationType, List<? extends IndexItem<?,Object>> old) { // list up newly discovered components final List<IndexItem<T,Object>> delta = Lists.newArrayList(); ClassLoader cl = Jenkins.getInstance().getPluginManager().uberClassLoader; for (IndexItem<T,Object> ii : Index.load(annotationType, Object.class, cl)) { if (!old.contains(ii)) { delta.add(ii); } } return delta; }
/** * Loads all the extensions. */ protected List<ExtensionComponent<T>> load() { if (LOGGER.isLoggable(Level.FINE)) LOGGER.log(Level.FINE,"Loading ExtensionList: "+extensionType, new Throwable()); return jenkins.getPluginManager().getPluginStrategy().findComponents(extensionType, hudson); }
/** * @deprecated Use {@link #getAction(Class)} on {@code AbstractTestResultAction}. */ @Deprecated public Action getTestResultAction() { try { return getAction(Jenkins.getInstance().getPluginManager().uberClassLoader.loadClass("hudson.tasks.test.AbstractTestResultAction").asSubclass(Action.class)); } catch (ClassNotFoundException x) { return null; } }
/** * @deprecated Use {@link #getAction(Class)} on {@code AggregatedTestResultAction}. */ @Deprecated public Action getAggregatedTestResultAction() { try { return getAction(Jenkins.getInstance().getPluginManager().uberClassLoader.loadClass("hudson.tasks.test.AggregatedTestResultAction").asSubclass(Action.class)); } catch (ClassNotFoundException x) { return null; } }
@CheckForNull public PluginWrapper getPlugin(@Nonnull UpdateSite.Warning warning) { if (warning.type != UpdateSite.Warning.Type.PLUGIN) { return null; } return Jenkins.get().getPluginManager().getPlugin(warning.component); }
public ComputerLauncher getLauncher() { if (launcher == null && !StringUtils.isEmpty(agentCommand)) { try { launcher = (ComputerLauncher) Jenkins.getInstance().getPluginManager().uberClassLoader.loadClass("hudson.slaves.CommandLauncher").getConstructor(String.class, EnvVars.class).newInstance(agentCommand, null); agentCommand = null; save(); } catch (Exception x) { LOGGER.log(Level.WARNING, "could not update historical agentCommand setting to CommandLauncher", x); } } // Default launcher does not use Work Directory return launcher == null ? new JNLPLauncher(false) : launcher; }
public Map<PluginWrapper, List<UpdateSite.Warning>> getActivePluginWarningsByPlugin() { Map<PluginWrapper, List<UpdateSite.Warning>> activePluginWarningsByPlugin = new HashMap<>(); for (UpdateSite.Warning warning : getActiveWarnings()) { if (warning.type != UpdateSite.Warning.Type.PLUGIN) { // this is not a plugin warning continue; } String pluginName = warning.component; PluginWrapper plugin = Jenkins.getInstance().getPluginManager().getPlugin(pluginName); if (!activePluginWarningsByPlugin.containsKey(plugin)) { activePluginWarningsByPlugin.put(plugin, new ArrayList<UpdateSite.Warning>()); } activePluginWarningsByPlugin.get(plugin).add(warning); } return activePluginWarningsByPlugin; }
public boolean isActivated() { if(pluginsWithCycle == null){ pluginsWithCycle = new ArrayList<>(); for (PluginWrapper p : Jenkins.getInstance().getPluginManager().getPlugins()) { if(p.hasCycleDependency()){ pluginsWithCycle.add(p); isActive = true; } } } return isActive; }
@Override protected void configure() { Jenkins j = Jenkins.getInstance(); bind(Jenkins.class).toInstance(j); bind(PluginManager.class).toInstance(j.getPluginManager()); } });
/** * Returns the plugin in which this descriptor is defined. * * @return * null to indicate that this descriptor came from the core. */ protected PluginWrapper getPlugin() { return Jenkins.getInstance().getPluginManager().whichPlugin(clazz); }
/** * Finds a resolved method annotated with {@link CLIResolver}. */ private Method findResolver(Class type) throws IOException { List<Method> resolvers = Util.filter(Index.list(CLIResolver.class, Jenkins.get().getPluginManager().uberClassLoader), Method.class); for ( ; type!=null; type=type.getSuperclass()) for (Method m : resolvers) if (m.getReturnType()==type) return m; return null; }
/** * If some version of this plugin is currently installed, return {@link PluginWrapper}. * Otherwise null. */ @Exported public PluginWrapper getInstalled() { PluginManager pm = Jenkins.getInstance().getPluginManager(); return pm.getPlugin(name); }
@RequirePOST public HttpResponse doDoUninstall() throws IOException { Jenkins jenkins = Jenkins.getActiveInstance(); jenkins.checkPermission(Jenkins.ADMINISTER); archive.delete(); // Redo who depends on who. jenkins.getPluginManager().resolveDependantPlugins(); return HttpResponses.redirectViaContextPath("/pluginManager/installed"); // send back to plugin manager }
@Initializer(after=JOB_LOADED) public static void init(Jenkins j) { new GroovyHookScript("init", j.servletContext, j.getRootDir(), j.getPluginManager().uberClassLoader).run(); } }
@Override protected int run() throws Exception { Jenkins jenkins = Jenkins.get(); jenkins.checkPermission(Jenkins.ADMINISTER); PluginManager manager = jenkins.getPluginManager(); boolean enabledAnyPlugins = false; for (String pluginName : pluginNames) { enabledAnyPlugins |= enablePlugin(manager, pluginName); } if (restart && enabledAnyPlugins) { jenkins.safeRestart(); } return 0; }
/** * Does any of the plugin has updates? */ @Exported public boolean hasUpdates() { Data data = getData(); if(data==null) return false; for (PluginWrapper pw : Jenkins.getInstance().getPluginManager().getPlugins()) { if(!pw.isBundled() && pw.getUpdateInfo()!=null) // do not advertize updates to bundled plugins, since we generally want users to get them // as a part of jenkins.war updates. This also avoids unnecessary pinning of plugins. return true; } return false; }