From a530368ca3bdff9f7c381dc60bb01f1a70972dcc Mon Sep 17 00:00:00 2001 From: nik Date: Thu, 28 Oct 2010 18:46:01 +0400 Subject: [PATCH 1/7] fixed FileNotFoundException --- .../facet/impl/autodetecting/model/ProjectFacetInfoSet.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/idea-ui/src/com/intellij/facet/impl/autodetecting/model/ProjectFacetInfoSet.java b/java/idea-ui/src/com/intellij/facet/impl/autodetecting/model/ProjectFacetInfoSet.java index ab3c7ed695b8..7eb00cf0b267 100644 --- a/java/idea-ui/src/com/intellij/facet/impl/autodetecting/model/ProjectFacetInfoSet.java +++ b/java/idea-ui/src/com/intellij/facet/impl/autodetecting/model/ProjectFacetInfoSet.java @@ -148,6 +148,7 @@ public class ProjectFacetInfoSet extends FacetInfoSet { Element element = XmlSerializer.serialize(facetsBean, new SkipDefaultValuesSerializationFilters()); try { FileUtil.delete(file); + FileUtil.createParentDirs(file); JDOMUtil.writeDocument(new Document(element), file, SystemProperties.getLineSeparator()); } catch (IOException e) { From 76d268f0e445dcfedaf9b64b5f55dd9f4fccbd88 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Thu, 28 Oct 2010 17:24:47 +0400 Subject: [PATCH 2/7] Select javascript libraries to be used for a specified file/directory: UI prototype --- .../LangScriptingContextConfigurable.java | 11 +++- .../LangScriptingContextProvider.java | 3 + .../ScriptingLibraryMappings.java | 65 +++++++++++++++++++ .../ui/ScriptingContextsConfigurable.java | 58 +++++++++++++++++ 4 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 platform/lang-impl/src/com/intellij/ide/scriptingContext/ScriptingLibraryMappings.java create mode 100644 platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java index 2d2397dd81c8..45f9a6cdcb34 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java @@ -15,6 +15,7 @@ */ package com.intellij.ide.scriptingContext; +import com.intellij.ide.scriptingContext.ui.ScriptingContextsConfigurable; import com.intellij.ide.scriptingContext.ui.ScriptingLibrariesPanel; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.options.Configurable; @@ -28,13 +29,15 @@ import javax.swing.*; /** * @author Rustam Vishnyakov */ -public abstract class LangScriptingContextConfigurable implements Configurable { +public abstract class LangScriptingContextConfigurable implements Configurable, Configurable.Composite { private ScriptingLibrariesPanel myPanel; private ScriptingLibraryManager myLibManager; + private ScriptingContextsConfigurable myContextsConfigurable; public LangScriptingContextConfigurable(Project project, LangScriptingContextProvider provider) { myLibManager = new ScriptingLibraryManager(project, provider.getLibraryType()); myPanel = new ScriptingLibrariesPanel(provider, project, myLibManager); + myContextsConfigurable = new ScriptingContextsConfigurable(project, provider); } @Nls @@ -74,4 +77,10 @@ public abstract class LangScriptingContextConfigurable implements Configurable { public void disposeUIResources() { } + + @Override + public Configurable[] getConfigurables() { + //return new Configurable[] {myContextsConfigurable}; + return new Configurable[] {}; + } } diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextProvider.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextProvider.java index 8270d93d213e..d7f7c9d9c4ff 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextProvider.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextProvider.java @@ -18,6 +18,7 @@ package com.intellij.ide.scriptingContext; import com.intellij.lang.Language; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.extensions.Extensions; +import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.libraries.LibraryType; import org.jetbrains.annotations.NotNull; @@ -33,4 +34,6 @@ public abstract class LangScriptingContextProvider { public abstract boolean acceptsExtension(String fileExt); + public abstract ScriptingLibraryMappings getLibraryMappings(Project project); + } diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ScriptingLibraryMappings.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ScriptingLibraryMappings.java new file mode 100644 index 000000000000..679415d15e88 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ScriptingLibraryMappings.java @@ -0,0 +1,65 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.ide.scriptingContext; + +import com.intellij.lang.DependentLanguage; +import com.intellij.lang.InjectableLanguage; +import com.intellij.lang.Language; +import com.intellij.lang.LanguagePerFileMappings; +import com.intellij.openapi.components.ServiceManager; +import com.intellij.openapi.components.State; +import com.intellij.openapi.components.Storage; +import com.intellij.openapi.components.StorageScheme; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.libraries.Library; +import com.intellij.openapi.roots.libraries.LibraryType; +import com.intellij.openapi.util.Condition; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.templateLanguages.TemplateDataLanguagePatterns; +import com.intellij.psi.templateLanguages.TemplateLanguage; +import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.annotations.Nullable; + +import java.util.Arrays; +import java.util.List; + +/** + * @author Rustam Vishnyakov + */ +public class ScriptingLibraryMappings extends LanguagePerFileMappings { + + public ScriptingLibraryMappings(final Project project) { + super(project); + } + + protected String serialize(final Library library) { + return library.getName(); + } + + public List getAvailableValues() { + return getLibraries(); + } + + @Override + protected Library getDefaultMapping(@Nullable VirtualFile file) { + return null; + } + + public static List getLibraries() { + return Arrays.asList(Library.EMPTY_ARRAY); + } + +} diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java new file mode 100644 index 000000000000..3ae7df34041d --- /dev/null +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java @@ -0,0 +1,58 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.ide.scriptingContext.ui; + +import com.intellij.ide.scriptingContext.LangScriptingContextProvider; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.libraries.Library; +import com.intellij.openapi.util.IconLoader; +import com.intellij.util.ui.tree.LanguagePerFileConfigurable; +import org.jetbrains.annotations.Nls; +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; + +/** + * @author Rustam Vishnyakov + */ +public class ScriptingContextsConfigurable extends LanguagePerFileConfigurable { + + public ScriptingContextsConfigurable(final Project project, final LangScriptingContextProvider provider) { + super(project, Library.class, provider.getLibraryMappings(project), + "Specify which libraries are used in specific files and/or directories.", "Library", "Override?", "Override"); + } + + @Override + protected String visualize(@NotNull Library library) { + return library.getName(); + } + + @Nls + @Override + public String getDisplayName() { + return "Usage Context"; + } + + @Override + public Icon getIcon() { + return IconLoader.getIcon("/general/configurableFileTypes.png"); + } + + @Override + public String getHelpTopic() { + return null; + } +} From 0d0f3675a0ab7b95ffa232996579e9817ceee643 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Thu, 28 Oct 2010 18:56:09 +0400 Subject: [PATCH 3/7] Select javascript libraries to be used for a specified file/directory: UI prototype --- .../LangScriptingContextConfigurable.java | 3 +- .../ScriptingLibraryMappings.java | 34 ++++++++----------- .../ui/ScriptingContextsConfigurable.java | 11 +++--- 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java index 45f9a6cdcb34..53b5ae6750c0 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java @@ -80,7 +80,6 @@ public abstract class LangScriptingContextConfigurable implements Configurable, @Override public Configurable[] getConfigurables() { - //return new Configurable[] {myContextsConfigurable}; - return new Configurable[] {}; + return new Configurable[] {myContextsConfigurable}; } } diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ScriptingLibraryMappings.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ScriptingLibraryMappings.java index 679415d15e88..0af1b21b78f8 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ScriptingLibraryMappings.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ScriptingLibraryMappings.java @@ -15,51 +15,47 @@ */ package com.intellij.ide.scriptingContext; -import com.intellij.lang.DependentLanguage; -import com.intellij.lang.InjectableLanguage; -import com.intellij.lang.Language; import com.intellij.lang.LanguagePerFileMappings; -import com.intellij.openapi.components.ServiceManager; -import com.intellij.openapi.components.State; -import com.intellij.openapi.components.Storage; -import com.intellij.openapi.components.StorageScheme; import com.intellij.openapi.project.Project; -import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.roots.libraries.LibraryType; -import com.intellij.openapi.util.Condition; +import com.intellij.openapi.roots.libraries.scripting.ScriptingLibraryManager; +import com.intellij.openapi.roots.libraries.scripting.ScriptingLibraryTable; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.templateLanguages.TemplateDataLanguagePatterns; -import com.intellij.psi.templateLanguages.TemplateLanguage; -import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.Nullable; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * @author Rustam Vishnyakov */ -public class ScriptingLibraryMappings extends LanguagePerFileMappings { +public class ScriptingLibraryMappings extends LanguagePerFileMappings { - public ScriptingLibraryMappings(final Project project) { + private final ScriptingLibraryManager myLibraryManager; + + public ScriptingLibraryMappings(final Project project, final LibraryType libraryType) { super(project); + myLibraryManager = new ScriptingLibraryManager(project, libraryType); } - protected String serialize(final Library library) { + protected String serialize(final ScriptingLibraryTable.LibraryModel library) { return library.getName(); } - public List getAvailableValues() { + public List getAvailableValues() { return getLibraries(); } @Override - protected Library getDefaultMapping(@Nullable VirtualFile file) { + protected ScriptingLibraryTable.LibraryModel getDefaultMapping(@Nullable VirtualFile file) { return null; } - public static List getLibraries() { - return Arrays.asList(Library.EMPTY_ARRAY); + public List getLibraries() { + ArrayList libraryModels = new ArrayList(); + libraryModels.addAll(Arrays.asList(myLibraryManager.getLibraries())); + return libraryModels; } } diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java index 3ae7df34041d..17711fff9daa 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/ScriptingContextsConfigurable.java @@ -17,7 +17,7 @@ package com.intellij.ide.scriptingContext.ui; import com.intellij.ide.scriptingContext.LangScriptingContextProvider; import com.intellij.openapi.project.Project; -import com.intellij.openapi.roots.libraries.Library; +import com.intellij.openapi.roots.libraries.scripting.ScriptingLibraryTable; import com.intellij.openapi.util.IconLoader; import com.intellij.util.ui.tree.LanguagePerFileConfigurable; import org.jetbrains.annotations.Nls; @@ -28,15 +28,16 @@ import javax.swing.*; /** * @author Rustam Vishnyakov */ -public class ScriptingContextsConfigurable extends LanguagePerFileConfigurable { +public class ScriptingContextsConfigurable extends LanguagePerFileConfigurable { public ScriptingContextsConfigurable(final Project project, final LangScriptingContextProvider provider) { - super(project, Library.class, provider.getLibraryMappings(project), - "Specify which libraries are used in specific files and/or directories.", "Library", "Override?", "Override"); + super(project, ScriptingLibraryTable.LibraryModel.class, provider.getLibraryMappings(project), + "Specify which libraries are used in specific files and/or directories.", "Library", + "Override library settings for child directories and files?", "Override Library Settings"); } @Override - protected String visualize(@NotNull Library library) { + protected String visualize(@NotNull ScriptingLibraryTable.LibraryModel library) { return library.getName(); } From 6dac6d13c1b01515e04397227ffd90133941dfca Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Thu, 28 Oct 2010 19:32:20 +0400 Subject: [PATCH 4/7] Select javascript libraries to be used for a specified file/directory: cosmetic changes --- .../ide/scriptingContext/LangScriptingContextConfigurable.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java index 53b5ae6750c0..45f9a6cdcb34 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/LangScriptingContextConfigurable.java @@ -80,6 +80,7 @@ public abstract class LangScriptingContextConfigurable implements Configurable, @Override public Configurable[] getConfigurables() { - return new Configurable[] {myContextsConfigurable}; + //return new Configurable[] {myContextsConfigurable}; + return new Configurable[] {}; } } From 7e61902d129e1cbf84cd3ef690d186687c40ce89 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Fri, 29 Oct 2010 13:15:34 +0400 Subject: [PATCH 5/7] Minor JavaScript library management/UI fixes --- .../ui/EditLibraryDialog.java | 21 ++++++++----------- .../scripting/ScriptingLibraryTable.java | 3 +-- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.java index 8e1ccdacfe56..018a01e4637d 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.java @@ -39,7 +39,7 @@ import java.util.Arrays; public class EditLibraryDialog extends DialogWrapper { - private static final int FILE_URL_COL = 0; + private static final int FILE_LOCATION_COL = 0; private static final int FILE_TYPE_COL = 1; private static final String SOURCE_TYPE = "Source"; @@ -88,9 +88,13 @@ public class EditLibraryDialog extends DialogWrapper { typeCol.setMaxWidth(80); MyTableCellEditor cellEditor = new MyTableCellEditor(new JComboBox(new String[] {SOURCE_TYPE, COMPACT_TYPE}), myFileTableModel); typeCol.setCellEditor(cellEditor); - typeCol.getCellEditor(); } + public EditLibraryDialog(String title, LangScriptingContextProvider provider, Project project, ScriptingLibraryTable.LibraryModel lib) { + this(title, provider, project); + myLibName.setText(lib.getName()); + myFileTableModel.setFiles(lib.getSourceFiles(), lib.getCompactFiles()); + } private static class MyTableCellEditor extends DefaultCellEditor { @@ -118,13 +122,6 @@ public class EditLibraryDialog extends DialogWrapper { } } - - public EditLibraryDialog(String title, LangScriptingContextProvider provider, Project project, ScriptingLibraryTable.LibraryModel lib) { - this(title, provider, project); - myLibName.setText(lib.getName()); - myFileTableModel.setFiles(lib.getSourceFiles(), lib.getCompactFiles()); - } - @Override protected JComponent createCenterPanel() { return contentPane; @@ -166,8 +163,8 @@ public class EditLibraryDialog extends DialogWrapper { @Override public String getColumnName(int column) { switch(column) { - case FILE_URL_COL: - return "URL"; + case FILE_LOCATION_COL: + return "Location"; case FILE_TYPE_COL: return "Type"; } @@ -228,7 +225,7 @@ public class EditLibraryDialog extends DialogWrapper { public Object getValueAt(int rowIndex, int columnIndex) { VirtualFile file = myFiles.get(rowIndex); switch (columnIndex) { - case FILE_URL_COL: + case FILE_LOCATION_COL: return file; case FILE_TYPE_COL: return myCompactFiles.contains(file) ? COMPACT_TYPE : SOURCE_TYPE; diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryTable.java b/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryTable.java index 850630073dbb..e690ab680c95 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryTable.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryTable.java @@ -40,8 +40,7 @@ public class ScriptingLibraryTable { private HashSet myCompactFilesCache; public ScriptingLibraryTable(@NotNull LibraryTable libraryTable, LibraryType libraryType) { - LibraryTable.ModifiableModel tableModel = libraryTable.getModifiableModel(); - for (Library library : tableModel.getLibraries()) { + for (Library library : libraryTable.getLibraries()) { if (library instanceof LibraryEx) { LibraryType libType = ((LibraryEx)library).getType(); if (libType != null && libType.equals(libraryType)) { From 91dbfb6fedbefe37f14eac75892f8b791679a848 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Fri, 29 Oct 2010 13:30:54 +0400 Subject: [PATCH 6/7] Minor JavaScript library management/UI fixes --- .../scripting/ScriptingLibraryManager.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryManager.java b/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryManager.java index cb4ba1b86fab..e999828c0050 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryManager.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryManager.java @@ -15,14 +15,19 @@ */ package com.intellij.openapi.roots.libraries.scripting; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.project.Project; +import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.roots.OrderRootType; +import com.intellij.openapi.roots.ProjectRootManager; +import com.intellij.openapi.roots.ex.ProjectRootManagerEx; import com.intellij.openapi.roots.impl.libraries.LibraryTableBase; import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.roots.libraries.LibraryTable; import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar; import com.intellij.openapi.roots.libraries.LibraryType; +import com.intellij.openapi.util.EmptyRunnable; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.Nullable; @@ -62,11 +67,19 @@ public class ScriptingLibraryManager { updateLibraries(libTableModel, OrderRootType.CLASSES); libTableModel.commit(); } + updateOpenProjects(); myLibTable = null; } - if (myLibLevel == LibraryLevel.GLOBAL) { - ModuleManager.getInstance(myProject).getModifiableModel().commit(); - } + } + + private static void updateOpenProjects() { + ApplicationManager.getApplication().runWriteAction(new Runnable() { + public void run() { + for (Project project : ProjectManager.getInstance().getOpenProjects()) { + ProjectRootManagerEx.getInstanceEx(project).makeRootsChange(EmptyRunnable.getInstance(), false, true); + } + } + }); } private void updateLibraries(LibraryTable.ModifiableModel libTableModel, OrderRootType rootType) { From 58a924bff19f96f2d590d9ee07cb626426613317 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Fri, 29 Oct 2010 13:47:11 +0400 Subject: [PATCH 7/7] Minor JavaScript library management/UI fixes --- .../roots/libraries/scripting/ScriptingLibraryManager.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryManager.java b/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryManager.java index e999828c0050..3b91b4a59036 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryManager.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/libraries/scripting/ScriptingLibraryManager.java @@ -16,11 +16,9 @@ package com.intellij.openapi.roots.libraries.scripting; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.roots.OrderRootType; -import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.roots.ex.ProjectRootManagerEx; import com.intellij.openapi.roots.impl.libraries.LibraryTableBase; import com.intellij.openapi.roots.libraries.Library; @@ -67,9 +65,9 @@ public class ScriptingLibraryManager { updateLibraries(libTableModel, OrderRootType.CLASSES); libTableModel.commit(); } - updateOpenProjects(); myLibTable = null; } + updateOpenProjects(); } private static void updateOpenProjects() {