public void run() { // TODO: ideally this would be e.g. '< 0.3' but then running external // process has problems with the '<'. See issue 142240. getGemManager().installGem(RUBY_DEBUG_IDE_NAME, false, false, "0.4.9"); // NOI18N } };
private GemManager getGemManager() { if (!EventQueue.isDispatchThread()) { Exceptions.printStackTrace(new AssertionError("getGemManager() must be called from EDT")); } RubyPlatform platform = getSelectedPlatform(); return platform == null ? null : platform.getGemManager(); }
private boolean checkGem(final String gemName, final Pattern gemVersion) { VersionPredicate predicate = new VersionPredicate() { public boolean isRight(final String version) { return gemVersion.matcher(version).matches(); } }; return getGemManager().isGemInstalledForPlatform(gemName, predicate); }
private Set<File> getPaths() { return platform.getGemManager().getGemPath(); } }
private GemManager getGemManager() { return project.getPlatform().getGemManager(); }
private void reloadLocalGems() { // reload local gems to pick up external changes in gems RubyPlatform platform = getPlatform(); if (platform != null && !reloaded.contains(platform)) { GemManager gemManager = platform.getGemManager(); if (gemManager != null) { gemManager.reloadLocalGems(true); reloaded.add(platform); } } }
private void initRailsVersionComboBox() { List<GemInfo> gemInfos = platform().getGemManager().getVersions("rails"); //NOI18N int size = gemInfos.size(); railsVersionComboBox.setEnabled(size > 0); railsVersionLabel.setEnabled(size > 0); String[] versions = new String[size]; for (int i = 0; i < size; i++) { versions[i] = gemInfos.get(i).getVersion(); } railsVersionComboBox.setModel(new DefaultComboBoxModel(versions)); }
static boolean checkWarbler(WizardDescriptor wizardDescriptor) { Boolean needWarbler = (Boolean) wizardDescriptor.getProperty(NewRailsProjectWizardIterator.WAR_SUPPORT); if (needWarbler == null || !needWarbler) { return true; } RubyPlatform platform = platformFor(wizardDescriptor); if (platform != null && platform.getGemManager() != null) { return platform.getGemManager().isGemInstalled("warbler"); //NOI18N } return true; } }
/** * Tries to find a {@link GemManager gem manager} for a given project, or * strictly speaking, for its {@link RubyPlatform platform}. Might return * <tt>null</tt>. */ @CheckForNull public static GemManager gemManagerFor(final Project project) { RubyPlatform platform = RubyPlatform.platformFor(project); return platform == null ? null : platform.getGemManager(); }
/** * @return whether everything needed for fast debugging is installed */ public boolean hasFastDebuggerInstalled() { // no usable version of Fast Debugger for Rubinius is available yet return getGemManager() != null && !isRubinius() && getFastDebuggerProblemsInHTML() == null; }
private String getLatestAvailableValidRDebugIDEVersions(final String gemName) { List<GemInfo> versions = getGemManager().getVersions(gemName); for (GemInfo getInfo : versions) { String version = getInfo.getVersion(); if (getRequiredRDebugIDEVersionPattern().matcher(version).matches()) { return version; } } return null; }
public void setGemHome(File gemHome) { assert hasRubyGemsInstalled() : "has RubyGems installed"; info.setGemHome(gemHome.getAbsolutePath()); try { RubyPlatformManager.storePlatform(this); } catch (IOException ioe) { LOGGER.log(Level.SEVERE, ioe.getLocalizedMessage(), ioe); } getGemManager().reset(); }
private GemManager getGemManager() { // TODO: cache it(?) return new RubyPlatformProvider(evaluator).getPlatform().getGemManager(); }
private static List<RailsDatabaseConfiguration> getMySQLAdapters(RubyPlatform platform) { if (!platform.isJRuby()) { return Collections.<RailsDatabaseConfiguration>singletonList(new MySQLAdapter()); } GemManager gemManager = platform.getGemManager(); if (gemManager == null || !gemManager.isGemInstalled(JdbcMySQlAdapter.GEM_NAME)) { return Collections.<RailsDatabaseConfiguration>singletonList(new MySQLAdapter()); } return Collections.<RailsDatabaseConfiguration>singletonList(new JdbcMySQlAdapter()); }
private static List<RailsDatabaseConfiguration> getPostgreSQLAdapters(RubyPlatform platform) { if (!platform.isJRuby()) { return Collections.<RailsDatabaseConfiguration>singletonList(new PostgreSQLAdapter()); } GemManager gemManager = platform.getGemManager(); if (gemManager == null || !gemManager.isGemInstalled(JdbcPostgreSQLAdapter.GEM_NAME)) { return Collections.<RailsDatabaseConfiguration>singletonList(new PostgreSQLAdapter()); } return Collections.<RailsDatabaseConfiguration>singletonList(new JdbcPostgreSQLAdapter()); } /**
void removePath(File path) { platform.getGemManager().removeGemPath(path); super.fireIntervalRemoved(this, 0, getSize()); }
private boolean refreshGemToolVersion(){ boolean wasUpdated = false; RubyPlatform plaf = getSelectedPlatform(); String old = plaf.getInfo().getGemVersion(); //original one plaf.getGemManager().resetLocal(); String updated = plaf.getGemManager().getLatestVersion(UPDATE_GEM_NAME); //NOI18N if(updated != null && !updated.equals(old)){ plaf.getInfo().setGemVersion(updated); wasUpdated = true; } return wasUpdated; }
void addPath(File repo) { platform.getGemManager().addGemPath(repo); super.fireIntervalAdded(this, 0, getSize()); }
public static void adjustEnvironment(final RubyPlatform platform, final Map<String, String> env) { if (platform.hasRubyGemsInstalled()) { String gemHome = adjustGemPath(platform.getGemManager().getGemHome()); String gemPath = adjustGemPath(platform.getInfo().getGemPath()); env.put("GEM_HOME", gemHome); // NOI18N env.put("GEM_PATH", gemPath); // NOI18N } }
private void updateOrInstallGem(String gemName) { Runnable asyncCompletionTask = new InstallationComplete(); Gem gem = new Gem(gemName, null, null); // NOI18N Gem[] gems = new Gem[]{gem}; GemManager gemManager = platform().getGemManager(); if (gemManager.isGemInstalled(gemName)) { //NOI18N gemManager().update(gems, this, false, false, true, true, asyncCompletionTask); } else { gemManager().install(gems, this, false, false, null, true, true, asyncCompletionTask); } }