private GemManager getGemManager() { // TODO: cache it(?) return new RubyPlatformProvider(evaluator).getPlatform().getGemManager(); }
public static RubyPlatform getPlatform(String id) { ensurePlatformsReady(); RubyPlatform platform = id == null ? RubyPlatformManager.getDefaultPlatform() : RubyPlatformManager.getPlatformByID(id); if (platform == null) { platform = RubyPlatformManager.getDefaultPlatform(); if (LOGGED_WARNINGS.get(id) == null) { LOGGER.info("Platform with id '" + id + "' does not exist. Using default platform."); LOGGED_WARNINGS.put(id, Boolean.TRUE); } } return platform; }
private synchronized RubyPlatform getPlatform() { if (platform == null) { platform = platformProvider.getPlatform(); } return platform; }
public BootClassPathImplementation(RailsProject project, File projectDirectory, PropertyEvaluator evaluator, boolean forTests) { this.project = project; this.projectDirectory = projectDirectory; assert evaluator != null; this.evaluator = evaluator; evaluator.addPropertyChangeListener(WeakListeners.propertyChange(this, evaluator)); RubyPreferences.addPropertyChangeListener(WeakListeners.propertyChange(this, RubyPreferences.getInstance())); this.forTests = forTests; RequiredGems[] reqs = RequiredGems.lookup(project); this.requiredGems = forTests ? reqs[1] : reqs[0]; this.gemFilter = new GemFilter(evaluator); this.platformProvider = new RubyPlatformProvider(evaluator); }
public RubyPlatform getPlatform() { String id = evaluator.getProperty("platform.active"); // NOI18N return getPlatform(id); }
RequiredGems.create(this), RequiredGems.createForTests(this), new RubyPlatformProvider(evaluator()), new PropertiesProvider() { @Override
RubyPlatform platform = new RubyPlatformProvider(evaluator).getPlatform(); if (platform == null) { LOGGER.severe("Cannot resolve platform for project");
/** * Tries to find a {@link RubyPlatform platform} for a given project. Might * return <tt>null</tt>. */ @CheckForNull public static RubyPlatform platformFor(final Project project) { RubyPlatformProvider rpp = project.getLookup().lookup(RubyPlatformProvider.class); RubyPlatform result = rpp == null ? null : rpp.getPlatform(); if (result == null && LOGGER.isLoggable(Level.FINE)) { LOGGER.fine("Could not resolve a platform for " + project + ". " + "Platform provider: " + rpp); } return result; }
new RailsFileLocator(null, this), new RubyCoverageProvider(this), new RubyPlatformProvider(evaluator()), new PropertiesProvider() {
@Override protected void projectOpened() { RubyPlatformProvider.ensurePlatformsReady(); open(); reloadGems(); // Ensure that code coverage is initialized in case it's enabled... RubyCoverageProvider provider = RubyCoverageProvider.get(RubyBaseProject.this); if (provider.isEnabled()) { provider.notifyProjectOpened(); } }
@Override public void propertyChange(PropertyChangeEvent evt) { if ((evt.getSource() == RubyInstallation.getInstance() && evt.getPropertyName().equals("roots")) || evt.getSource() == RubyPreferences.getInstance() && evt.getPropertyName().equals(RubyPreferences.VENDOR_GEMS_PROPERTY)) { resetCache(); } if (evt.getPropertyName().equals(SharedRubyProjectProperties.PLATFORM_ACTIVE)) { platform = RubyPlatformProvider.getPlatform((String) evt.getNewValue()); resetCache(); } if (evt.getPropertyName().equals(RequiredGems.REQUIRED_GEMS_TESTS_PROPERTY) && forTests) { requiredGems.setRequiredGems((String) evt.getNewValue()); resetCache(); } if (evt.getPropertyName().equals(RequiredGems.REQUIRED_GEMS_PROPERTY) && !forTests) { requiredGems.setRequiredGems((String) evt.getNewValue()); resetCache(); } }