/** Checks if the program can run under the JDK it was started with. */ private static boolean checkJdkVersion() { if (!"true".equals(System.getProperty("idea.no.jre.check"))) { try { // try to find a class from tools.jar Class.forName("com.sun.jdi.Field"); } catch (ClassNotFoundException e) { showError( "Error", "'tools.jar' is not in " + ApplicationNamesInfo.getInstance().getProductName() + " classpath.\n" + "Please ensure JAVA_HOME points to JDK rather than JRE."); return false; } } if (!"true".equals(System.getProperty("idea.no.jdk.check"))) { final String version = System.getProperty("java.version"); if (!SystemInfo.isJavaVersionAtLeast("1.6")) { showError( "Java Version Mismatch", "The JDK version is " + version + ".\n" + ApplicationNamesInfo.getInstance().getProductName() + " requires JDK 1.6 or higher."); return false; } } return true; }
public boolean validate() { if (myRbImportModule.isSelected()) { final String path = myModulePathFieldPanel.getText().trim(); if (path.length() == 0) { Messages.showErrorDialog( IdeBundle.message( "error.please.specify.path.to.module.file", ApplicationNamesInfo.getInstance().getProductName()), IdeBundle.message("title.module.file.path.not.specified")); myModulePathFieldPanel.getTextField().requestFocus(); return false; } final File file = new File(path); if (!file.exists()) { Messages.showErrorDialog( IdeBundle.message("error.module.file.does.not.exist"), IdeBundle.message("title.module.file.does.not.exist")); myModulePathFieldPanel.getTextField().requestFocus(); return false; } if (!StdFileTypes.IDEA_MODULE.equals( FileTypeManager.getInstance().getFileTypeByFileName(file.getName()))) { Messages.showErrorDialog( IdeBundle.message( "error.module.not.iml", path, ApplicationNamesInfo.getInstance().getProductName()), IdeBundle.message("title.incorrect.file.type")); myModulePathFieldPanel.getTextField().requestFocus(); return false; } } return true; }
@Override public String getHTMLHeader() { return "<html><body><h2>Tune " + ApplicationNamesInfo.getInstance().getProductName() + " to your tasks</h2>" + ApplicationNamesInfo.getInstance().getProductName() + " has a lot of tools enabled by default. You can set only ones you need or leave them all." + "</body></html>"; }
/** * The constructor * * @param project the current project * @param root the vcs root * @param locallyModifiedFiles the collection of locally modified files to use */ protected GitUpdateLocallyModifiedDialog( final Project project, final VirtualFile root, List<String> locallyModifiedFiles) { super(project, true); myLocallyModifiedFiles = locallyModifiedFiles; setTitle(GitBundle.getString("update.locally.modified.title")); myGitRoot.setText(root.getPresentableUrl()); myFilesList.setModel(new DefaultListModel()); setOKButtonText(GitBundle.getString("update.locally.modified.revert")); syncListModel(); myRescanButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { myLocallyModifiedFiles.clear(); try { scanFiles(project, root, myLocallyModifiedFiles); } catch (VcsException ex) { GitUIUtil.showOperationError(project, ex, "Checking for locally modified files"); } } }); myDescriptionLabel.setText( GitBundle.message( "update.locally.modified.message", ApplicationNamesInfo.getInstance().getFullProductName())); init(); }
private boolean tryToReloadApplication() { try { final Application app = ApplicationManager.getApplication(); if (app.isDisposed()) return false; final HashSet<Pair<VirtualFile, StateStorage>> causes = new HashSet<Pair<VirtualFile, StateStorage>>(myChangedApplicationFiles); if (causes.isEmpty()) return true; final boolean[] reloadOk = {false}; final LinkedHashSet<String> components = new LinkedHashSet<String>(); ApplicationManager.getApplication() .runWriteAction( new Runnable() { @Override public void run() { try { reloadOk[0] = ((ApplicationImpl) app).getStateStore().reload(causes, components); } catch (StateStorageException e) { Messages.showWarningDialog( ProjectBundle.message("project.reload.failed", e.getMessage()), ProjectBundle.message("project.reload.failed.title")); } catch (IOException e) { Messages.showWarningDialog( ProjectBundle.message("project.reload.failed", e.getMessage()), ProjectBundle.message("project.reload.failed.title")); } } }); if (!reloadOk[0] && !components.isEmpty()) { String message = "Application components were changed externally and cannot be reloaded:\n"; for (String component : components) { message += component + "\n"; } final boolean canRestart = ApplicationManager.getApplication().isRestartCapable(); message += "Would you like to " + (canRestart ? "restart " : "shutdown "); message += ApplicationNamesInfo.getInstance().getProductName() + "?"; if (Messages.showYesNoDialog( message, "Application Configuration Reload", Messages.getQuestionIcon()) == Messages.YES) { for (Pair<VirtualFile, StateStorage> cause : causes) { StateStorage stateStorage = cause.getSecond(); if (stateStorage instanceof XmlElementStorage) { ((XmlElementStorage) stateStorage).disableSaving(); } } ApplicationManagerEx.getApplicationEx().restart(true); } } return reloadOk[0]; } finally { myChangedApplicationFiles.clear(); } }
/** * The constructor * * @param project the context project */ public GitVcsPanel(@NotNull Project project) { myVcs = GitVcs.getInstance(project); myAppSettings = GitVcsApplicationSettings.getInstance(); myProjectSettings = GitVcsSettings.getInstance(project); myProject = project; mySSHExecutableComboBox.addItem(IDEA_SSH); mySSHExecutableComboBox.addItem(NATIVE_SSH); mySSHExecutableComboBox.setSelectedItem( GitVcsSettings.isDefaultIdeaSsh() ? IDEA_SSH : NATIVE_SSH); mySSHExecutableComboBox.setToolTipText( GitBundle.message( "git.vcs.config.ssh.mode.tooltip", ApplicationNamesInfo.getInstance().getFullProductName())); myTestButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { testConnection(); } }); myConvertTextFilesComboBox.addItem(CRLF_DO_NOT_CONVERT); myConvertTextFilesComboBox.addItem(CRLF_CONVERT_TO_PROJECT); myConvertTextFilesComboBox.addItem(CRLF_ASK); myConvertTextFilesComboBox.setSelectedItem(CRLF_ASK); myGitField.addBrowseFolderListener( GitBundle.getString("find.git.title"), GitBundle.getString("find.git.description"), project, new FileChooserDescriptor(true, false, false, false, false, false)); }
public WelcomeFrame() { JRootPane rootPane = getRootPane(); final WelcomeScreen screen = createScreen(rootPane); final IdeGlassPaneImpl glassPane = new IdeGlassPaneImpl(rootPane); setGlassPane(glassPane); glassPane.setVisible(false); setContentPane(screen.getWelcomePanel()); setTitle(ApplicationNamesInfo.getInstance().getFullProductName()); AppUIUtil.updateWindowIcon(this); ProjectManager.getInstance() .addProjectManagerListener( new ProjectManagerAdapter() { @Override public void projectOpened(Project project) { dispose(); } }); myBalloonLayout = new BalloonLayoutImpl(rootPane.getLayeredPane(), new Insets(8, 8, 8, 8)); myScreen = screen; setupCloseAction(); new MnemonicHelper().register(this); myScreen.setupFrame(this); }
private JComponent createLogo() { NonOpaquePanel panel = new NonOpaquePanel(new BorderLayout()); ApplicationInfoEx app = ApplicationInfoEx.getInstanceEx(); JLabel logo = new JLabel(IconLoader.getIcon(app.getWelcomeScreenLogoUrl())); logo.setBorder(JBUI.Borders.empty(30, 0, 10, 0)); logo.setHorizontalAlignment(SwingConstants.CENTER); panel.add(logo, BorderLayout.NORTH); JLabel appName = new JLabel(ApplicationNamesInfo.getInstance().getFullProductName()); Font font = getProductFont(); appName.setForeground(JBColor.foreground()); appName.setFont(font.deriveFont(JBUI.scale(36f)).deriveFont(Font.PLAIN)); appName.setHorizontalAlignment(SwingConstants.CENTER); String appVersion = "Version " + app.getFullVersion(); if (app.isEAP() && app.getBuild().getBuildNumber() < Integer.MAX_VALUE) { appVersion += " (" + app.getBuild().asString() + ")"; } JLabel version = new JLabel(appVersion); version.setFont(getProductFont().deriveFont(JBUI.scale(16f))); version.setHorizontalAlignment(SwingConstants.CENTER); version.setForeground(Gray._128); panel.add(appName); panel.add(version, BorderLayout.SOUTH); panel.setBorder(JBUI.Borders.emptyBottom(20)); return panel; }
protected JetBrainsTvAction(@NotNull @NonNls final String channel) { final String fullProductName = ApplicationNamesInfo.getInstance().getFullProductName(); getTemplatePresentation().setText(fullProductName + " TV"); getTemplatePresentation() .setDescription( UIBundle.message("welcome.screen.jetbrains.tv.action.description", fullProductName)); myUrl = JETBRAINS_TV_URL + "channel/" + channel; }
@Override public String getVersionName() { final String fullName = ApplicationNamesInfo.getInstance().getFullProductName(); if (myEAP && !StringUtil.isEmptyOrSpaces(myCodeName)) { return fullName + " (" + myCodeName + ")"; } return fullName; }
public FacetDetectionStep(final Icon icon, ModuleType moduleType) { super( ProjectBundle.message( "message.text.stop.searching.for.facets", ApplicationNamesInfo.getInstance().getProductName())); myIcon = icon; myModuleType = moduleType; myDetectedFacetsComponent = new DetectedFacetsTreeComponent(); }
public void testManifestSections() throws Exception { importProject( "<groupId>test</groupId>" + "<artifactId>project</artifactId>" + "<version>1</version>" + "<build>" + " <plugins>" + " <plugin>" + " <artifactId>maven-jar-plugin</artifactId>" + " <version>2.4</version>" + " <configuration>" + " <archive>" + " <manifestSections>" + " <manifestSection>" + " <name>org/test/Some.class</name>" + " <manifestEntries>" + " <Java-Bean>true</Java-Bean>" + " </manifestEntries>" + " </manifestSection>" + " <manifestSection>" + " <name>org/test/SomeOther.class</name>" + " <manifestEntries>" + " <Java-Bean>true</Java-Bean>" + " </manifestEntries>" + " </manifestSection>" + " </manifestSections>" + " </archive>" + " </configuration>" + " </plugin>" + " </plugins>" + "</build>"); compileModules("project"); assertUnorderedLinesWithFile( getProjectPath() + "/target/MANIFEST.MF", "Manifest-Version: 1.0\n" + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + "Built-By: " + System.getProperty("user.name") + "\n" + "Created-By: " + ApplicationNamesInfo.getInstance().getFullProductName() + "\n" + "\n" + "Name: org/test/SomeOther.class\n" + "Java-Bean: true\n" + "\n" + "Name: org/test/Some.class\n" + "Java-Bean: true"); }
private void replaceDuplicates( final String includePath, final List<IncludeDuplicate<T>> duplicates, final Editor editor, final Project project) { if (duplicates.size() > 0) { final String message = RefactoringBundle.message( "idea.has.found.fragments.that.can.be.replaced.with.include.directive", ApplicationNamesInfo.getInstance().getProductName()); final int exitCode = Messages.showYesNoDialog( project, message, getRefactoringName(), Messages.getInformationIcon()); if (exitCode == DialogWrapper.OK_EXIT_CODE) { CommandProcessor.getInstance() .executeCommand( project, new Runnable() { public void run() { boolean replaceAll = false; for (IncludeDuplicate<T> pair : duplicates) { if (!replaceAll) { highlightInEditor(project, pair, editor); ReplacePromptDialog promptDialog = new ReplacePromptDialog( false, RefactoringBundle.message("replace.fragment"), project); promptDialog.show(); final int promptResult = promptDialog.getExitCode(); if (promptResult == FindManager.PromptResult.SKIP) continue; if (promptResult == FindManager.PromptResult.CANCEL) break; if (promptResult == FindManager.PromptResult.OK) { doReplaceRange(includePath, pair.getStart(), pair.getEnd()); } else if (promptResult == FindManager.PromptResult.ALL) { doReplaceRange(includePath, pair.getStart(), pair.getEnd()); replaceAll = true; } else { LOG.error("Unknown return status"); } } else { doReplaceRange(includePath, pair.getStart(), pair.getEnd()); } } } }, RefactoringBundle.message("remove.duplicates.command"), null); } } }
/** * @return the prompthooks.py extension used for capturing prompts from Mercurial and requesting * IDEA's user about authentication. */ @NotNull public File getPromptHooksExtensionFile() { if (myPromptHooksExtensionFile == null) { // check that hooks are available myPromptHooksExtensionFile = HgUtil.getTemporaryPythonFile("prompthooks"); if (myPromptHooksExtensionFile == null || !myPromptHooksExtensionFile.exists()) { LOG.error( "prompthooks.py Mercurial extension is not found. Please reinstall " + ApplicationNamesInfo.getInstance().getProductName()); } } return myPromptHooksExtensionFile; }
private static void setCantReadText(JEditorPane browser, TipAndTrickBean bean) { try { String plugin = getPoweredByText(bean); String product = ApplicationNamesInfo.getInstance().getFullProductName(); if (!plugin.isEmpty()) { product += " and " + plugin + " plugin"; } String message = IdeBundle.message("error.unable.to.read.tip.of.the.day", bean.fileName, product); browser.read(new StringReader(message), null); } catch (IOException ignored) { } }
public static String getBaseDir() { final String lastProjectLocation = RecentProjectsManager.getInstance().getLastProjectCreationLocation(); if (lastProjectLocation != null) { return lastProjectLocation.replace('/', File.separatorChar); } final String userHome = SystemProperties.getUserHome(); //noinspection HardCodedStringLiteral return userHome.replace('/', File.separatorChar) + File.separator + ApplicationNamesInfo.getInstance().getLowercaseProductName() + "Projects"; }
protected void setup( final AnAction action, JPanel root, final JLabel name, final JLabel description, JLabel icon) { name.setText(action.getTemplatePresentation().getText()); name.setUI(DarculaWelcomeScreenLabelUI.createUI(name)); name.setForeground(UIUtil.getPanelBackground()); description.setUI(DarculaWelcomeScreenLabelUI.createUI(description)); // icon.setIcon(action.getTemplatePresentation().getIcon()); final String text = action.getTemplatePresentation().getDescription(); final String html = XmlStringUtil.wrapInHtml( MessageFormat.format(text, ApplicationNamesInfo.getInstance().getFullProductName())); root.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); description.setText(html); description.setForeground(Gray._200); description.setEnabled(false); root.addMouseListener( new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { description.setEnabled(true); name.setForeground(new Color(0xE09600)); } @Override public void mouseExited(MouseEvent e) { description.setEnabled(false); name.setForeground(UIUtil.getPanelBackground()); } @Override public void mouseClicked(MouseEvent e) { final ActionManager actionManager = ActionManager.getInstance(); AnActionEvent evt = new AnActionEvent( null, DataManager.getInstance().getDataContext(e.getComponent()), ActionPlaces.WELCOME_SCREEN, action.getTemplatePresentation(), actionManager, 0); action.beforeActionPerformedUpdate(evt); if (evt.getPresentation().isEnabled()) { action.actionPerformed(evt); } } }); }
private static boolean showConfirmation() { final boolean hasUnsafeBgTasks = ProgressManager.getInstance().hasUnsafeProgressIndicator(); DialogWrapper.DoNotAskOption option = new DialogWrapper.DoNotAskOption() { @Override public boolean isToBeShown() { return GeneralSettings.getInstance().isConfirmExit(); } @Override public void setToBeShown(boolean value, int exitCode) { GeneralSettings.getInstance().setConfirmExit(value); } @Override public boolean canBeHidden() { return !hasUnsafeBgTasks; } @Override public boolean shouldSaveOptionsOnCancel() { return false; } @Override public String getDoNotShowMessage() { return "Do not ask me again"; } }; if (hasUnsafeBgTasks || option.isToBeShown()) { String message = ApplicationBundle.message( hasUnsafeBgTasks ? "exit.confirm.prompt.tasks" : "exit.confirm.prompt", ApplicationNamesInfo.getInstance().getFullProductName()); if (DialogWrapper.OK_EXIT_CODE != Messages.showYesNoDialog( message, ApplicationBundle.message("exit.confirm.title"), ApplicationBundle.message("command.exit"), "Cancel", Messages.getQuestionIcon(), option)) { return false; } } return true; }
public static void openTipInBrowser(@Nullable TipAndTrickBean tip, JEditorPane browser) { if (tip == null) return; try { PluginDescriptor pluginDescriptor = tip.getPluginDescriptor(); ClassLoader tipLoader = pluginDescriptor == null ? TipUIUtil.class.getClassLoader() : ObjectUtils.notNull( pluginDescriptor.getPluginClassLoader(), TipUIUtil.class.getClassLoader()); URL url = ResourceUtil.getResource(tipLoader, "/tips/", tip.fileName); if (url == null) { setCantReadText(browser, tip); return; } StringBuffer text = new StringBuffer(ResourceUtil.loadText(url)); updateShortcuts(text); updateImages(text, tipLoader); String replaced = text.toString() .replace("&productName;", ApplicationNamesInfo.getInstance().getFullProductName()); String major = ApplicationInfo.getInstance().getMajorVersion(); replaced = replaced.replace("&majorVersion;", major); String minor = ApplicationInfo.getInstance().getMinorVersion(); replaced = replaced.replace("&minorVersion;", minor); replaced = replaced.replace("&majorMinorVersion;", major + ("0".equals(minor) ? "" : ("." + minor))); replaced = replaced.replace("&settingsPath;", CommonBundle.settingsActionPath()); replaced = replaced.replaceFirst( "<link rel=\"stylesheet\".*tips\\.css\">", ""); // don't reload the styles if (browser.getUI() == null) { browser.updateUI(); boolean succeed = browser.getUI() != null; String message = "reinit JEditorPane.ui: " + (succeed ? "OK" : "FAIL") + ", laf=" + LafManager.getInstance().getCurrentLookAndFeel(); if (succeed) LOG.warn(message); else LOG.error(message); } adjustFontSize(((HTMLEditorKit) browser.getEditorKit()).getStyleSheet()); browser.read(new StringReader(replaced), url); } catch (IOException e) { setCantReadText(browser, tip); } }
public void testDefaultEntries() throws Exception { importProject( "<groupId>test</groupId>" + "<artifactId>project</artifactId>" + "<version>1</version>" + "<dependencies>" + " <dependency>" + " <groupId>test</groupId>" + " <artifactId>other-project</artifactId>" + " <version>1</version>" + " </dependency>" + "</dependencies>" + "<build>" + " <plugins>" + " <plugin>" + " <artifactId>maven-jar-plugin</artifactId>" + " <version>2.4</version>" + " <configuration>" + " <archive>" + " <manifest>" + " <addDefaultImplementationEntries>true</addDefaultImplementationEntries>" + " <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>" + " </manifest>" + " </archive>" + " </configuration>" + " </plugin>" + " </plugins>" + "</build>"); compileModules("project"); assertUnorderedLinesWithFile( getProjectPath() + "/target/MANIFEST.MF", "Manifest-Version: 1.0\n" + "Implementation-Version: 1\n" + "Implementation-Vendor-Id: test\n" + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + "Built-By: " + System.getProperty("user.name") + "\n" + "Created-By: " + ApplicationNamesInfo.getInstance().getFullProductName() + "\n" + "Specification-Version: 1"); }
private void applyTo(ArrayRenderer renderer, boolean showBigRangeWarning) throws ConfigurationException { int newStartIndex = getInt(myStartIndex); int newEndIndex = getInt(myEndIndex); int newLimit = getInt(myEntriesLimit); if (newStartIndex < 0) { throw new ConfigurationException( DebuggerBundle.message("error.array.renderer.configurable.start.index.less.than.zero")); } if (newEndIndex < newStartIndex) { throw new ConfigurationException( DebuggerBundle.message("error.array.renderer.configurable.end.index.less.than.start")); } if (newStartIndex >= 0 && newEndIndex >= 0) { if (newStartIndex > newEndIndex) { int currentStartIndex = renderer.START_INDEX; int currentEndIndex = renderer.END_INDEX; newEndIndex = newStartIndex + (currentEndIndex - currentStartIndex); } if (newLimit <= 0) { newLimit = 1; } if (showBigRangeWarning && (newEndIndex - newStartIndex > 10000)) { final int answer = Messages.showOkCancelDialog( myPanel.getRootPane(), DebuggerBundle.message( "warning.range.too.big", ApplicationNamesInfo.getInstance().getProductName()), DebuggerBundle.message("title.range.too.big"), Messages.getWarningIcon()); if (answer != Messages.OK) { return; } } } renderer.START_INDEX = newStartIndex; renderer.END_INDEX = newEndIndex; renderer.ENTRIES_LIMIT = newLimit; }
public void testBasic() throws Exception { importProject( "<groupId>test</groupId>" + "<artifactId>project</artifactId>" + "<version>1</version>"); compileModules("project"); assertUnorderedLinesWithFile( getProjectPath() + "/target/MANIFEST.MF", "Manifest-Version: 1.0\n" + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + "Built-By: " + System.getProperty("user.name") + "\n" + "Created-By: " + ApplicationNamesInfo.getInstance().getFullProductName()); }
public void testClasspathEntry() throws Exception { importProject( "<groupId>test</groupId>" + "<artifactId>project</artifactId>" + "<version>1</version>" + "<dependencies>" + " <dependency>" + " <groupId>test</groupId>" + " <artifactId>other-project</artifactId>" + " <version>1</version>" + " </dependency>" + "</dependencies>" + "<build>" + " <plugins>" + " <plugin>" + " <artifactId>maven-jar-plugin</artifactId>" + " <version>2.4</version>" + " <configuration>" + " <archive>" + " <manifest>" + " <addClasspath>true</addClasspath>" + " <classpathPrefix>lib</classpathPrefix>" + " </manifest>" + " </archive>" + " </configuration>" + " </plugin>" + " </plugins>" + "</build>"); compileModules("project"); assertUnorderedLinesWithFile( getProjectPath() + "/target/MANIFEST.MF", "Manifest-Version: 1.0\n" + "Class-Path: lib/other-project-1.jar\n" + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + "Built-By: " + System.getProperty("user.name") + "\n" + "Created-By: " + ApplicationNamesInfo.getInstance().getFullProductName()); }
public static void handleComponentError( Throwable t, @Nullable String componentClassName, @Nullable ComponentConfig config) { if (t instanceof StartupAbortedException) { throw (StartupAbortedException) t; } PluginId pluginId = null; if (config != null) { pluginId = config.getPluginId(); } if (pluginId == null || CORE_PLUGIN_ID.equals(pluginId.getIdString())) { if (componentClassName != null) { pluginId = getPluginByClassName(componentClassName); } } if (pluginId == null || CORE_PLUGIN_ID.equals(pluginId.getIdString())) { if (t instanceof PicoPluginExtensionInitializationException) { pluginId = ((PicoPluginExtensionInitializationException) t).getPluginId(); } } if (pluginId != null && !CORE_PLUGIN_ID.equals(pluginId.getIdString())) { getLogger().warn(t); disablePlugin(pluginId.getIdString()); StringWriter message = new StringWriter(); message .append("Plugin '") .append(pluginId.getIdString()) .append("' failed to initialize and will be disabled. "); message .append(" Please restart ") .append(ApplicationNamesInfo.getInstance().getFullProductName()) .append('.'); message.append("\n\n"); t.printStackTrace(new PrintWriter(message)); Main.showMessage("Plugin Error", message.toString(), false); throw new StartupAbortedException(t).exitCode(Main.PLUGIN_ERROR).logError(false); } else { throw new StartupAbortedException("Fatal error initializing '" + componentClassName + "'", t); } }
private static Pair<SVNRevision, SVNURL> createRemoteFolder( final SvnVcs17 vcs, final SVNURL parent, final String folderName) throws SVNException { SVNURL url = parent.appendPath(folderName, false); final String urlText = url.toString(); final ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator(); if (indicator != null) { indicator.checkCanceled(); indicator.setText(SvnBundle.message("share.directory.create.dir.progress.text", urlText)); } final SVNCommitInfo info = vcs.createCommitClient() .doMkDir( new SVNURL[] {url}, SvnBundle.message( "share.directory.commit.message", folderName, ApplicationNamesInfo.getInstance().getFullProductName())); return new Pair<SVNRevision, SVNURL>(SVNRevision.create(info.getNewRevision()), url); }
@Override protected void handleInitComponentError( final Throwable ex, final boolean fatal, final String componentClassName) { if (PluginManager.isPluginClass(componentClassName)) { LOG.error(ex); PluginId pluginId = PluginManager.getPluginByClassName(componentClassName); @NonNls final String errorMessage = "Plugin " + pluginId.getIdString() + " failed to initialize and will be disabled:\n" + ex.getMessage() + "\nPlease restart " + ApplicationNamesInfo.getInstance().getFullProductName() + "."; PluginManager.disablePlugin(pluginId.getIdString()); if (!myHeadlessMode) { JOptionPane.showMessageDialog(null, errorMessage); } else { //noinspection UseOfSystemOutOrSystemErr System.out.println(errorMessage); System.exit(1); } return; // do not call super } if (fatal) { LOG.error(ex); @NonNls final String errorMessage = "Fatal error initializing class " + componentClassName + ":\n" + ex.toString() + "\nComplete error stacktrace was written to idea.log"; if (!myHeadlessMode) { JOptionPane.showMessageDialog(null, errorMessage); } else { //noinspection UseOfSystemOutOrSystemErr System.out.println(errorMessage); } } super.handleInitComponentError(ex, fatal, componentClassName); }
public UpdateInfoPanel() { ApplicationInfo appInfo = ApplicationInfo.getInstance(); myBuildNumber.setText(appInfo.getBuild().asString() + ")"); final String version = appInfo.getFullVersion(); myVersionNumber.setText(version); myNewBuildNumber.setText(myLatestBuild.getNumber().asString() + ")"); myNewVersionNumber.setText(myLatestBuild.getVersion()); myUpdateMessageLabel.setBackground(UIUtil.getLabelBackground()); myScrollPane.setBackground(UIUtil.getLabelBackground()); myScrollPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); if (myLatestBuild.getMessage() != null) { StringBuilder builder = new StringBuilder(); builder .append("<html><head>") .append(UIUtil.getCssFontDeclaration(UIUtil.getLabelFont())) .append("</head><body>") .append(StringUtil.formatLinks(myLatestBuild.getMessage())) .append("</body></html>"); myUpdateMessageLabel.setText(builder.toString()); myUpdateMessageLabel.addHyperlinkListener(BrowserHyperlinkListener.INSTANCE); } else { myUpdateMessageLabel.setVisible(false); } PatchInfo patch = myLatestBuild.findPatchForCurrentBuild(); if (patch == null) { myPatchAvailableLabel.setVisible(false); myPatchSizeLabel.setVisible(false); } else { myPatchSizeLabel.setText(patch.getSize() + "MB"); } if (SystemInfo.isMac) { myManualCheckLabel.setText( "<html><br>To check for new updates manually, use the <b>" + ApplicationNamesInfo.getInstance().getProductName() + " | Check for Updates</b> command.</html>"); } LabelTextReplacingUtil.replaceText(myPanel); }
public void testManifestEntries() throws Exception { importProject( "<groupId>test</groupId>" + "<artifactId>project</artifactId>" + "<version>1</version>" + "<build>" + " <plugins>" + " <plugin>" + " <artifactId>maven-jar-plugin</artifactId>" + " <version>2.4</version>" + " <configuration>" + " <archive>" + " <manifestEntries>" + " <Dependencies>some.package</Dependencies>" + " <otherEntry>other entry value </otherEntry>" + " </manifestEntries>" + " </archive>" + " </configuration>" + " </plugin>" + " </plugins>" + "</build>"); compileModules("project"); assertUnorderedLinesWithFile( getProjectPath() + "/target/MANIFEST.MF", "Manifest-Version: 1.0\n" + "otherEntry: other entry value\n" + "Dependencies: some.package\n" + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + "Built-By: " + System.getProperty("user.name") + "\n" + "Created-By: " + ApplicationNamesInfo.getInstance().getFullProductName()); }
private static boolean ensureCouldCloseIfUnableToSave(@NotNull final Project project) { final ProjectImpl.UnableToSaveProjectNotification[] notifications = NotificationsManager.getNotificationsManager() .getNotificationsOfType(ProjectImpl.UnableToSaveProjectNotification.class, project); if (notifications.length == 0) return true; final String fileNames = StringUtil.join(notifications[0].getFileNames(), "\n"); final String msg = String.format( "%s was unable to save some project files,\nare you sure you want to close this project anyway?", ApplicationNamesInfo.getInstance().getProductName()); return Messages.showDialog( project, msg, "Unsaved Project", "Read-only files:\n\n" + fileNames, new String[] {"Yes", "No"}, 0, 1, Messages.getWarningIcon()) == 0; }
private static synchronized boolean lockSystemFolders(String[] args) { if (ourLock == null) { ourLock = new SocketLock(); } SocketLock.ActivateStatus activateStatus = ourLock.lock(PathManager.getConfigPath(false), true, args); if (activateStatus == SocketLock.ActivateStatus.NO_INSTANCE) { activateStatus = ourLock.lock(PathManager.getSystemPath(), false); } if (activateStatus != SocketLock.ActivateStatus.NO_INSTANCE) { if (isHeadless() || activateStatus == SocketLock.ActivateStatus.CANNOT_ACTIVATE) { showError( "Error", "Only one instance of " + ApplicationNamesInfo.getInstance().getFullProductName() + " can be run at a time."); } return false; } return true; }