add rebuildDependencies method to be called by text project editor widget when saved (fix for FELIX-1905)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@885227 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/sigil/eclipse/core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilProject.java b/sigil/eclipse/core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilProject.java
index 08c29a6..1ac0c99 100644
--- a/sigil/eclipse/core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilProject.java
+++ b/sigil/eclipse/core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilProject.java
@@ -109,9 +109,15 @@
{
SubMonitor progress = SubMonitor.convert( monitor, 100 );
- calculateUses();
-
bldProjectFile.setContents( buildContents(), IFile.KEEP_HISTORY, progress.newChild( 10 ) );
+
+ rebuildDependencies(progress.newChild(90));
+ }
+
+ public void rebuildDependencies(IProgressMonitor monitor) throws CoreException {
+ SubMonitor progress = SubMonitor.convert( monitor, 100 );
+
+ calculateUses();
IRepositoryManager manager = SigilCore.getRepositoryManager( this );
ResolutionConfig config = new ResolutionConfig( ResolutionConfig.INCLUDE_OPTIONAL );
@@ -130,12 +136,11 @@
throw SigilCore.newCoreException( "Failed to synchronize dependencies", e );
}
- progress.setWorkRemaining( 40 );
+ progress.setWorkRemaining( 30 );
- SigilCore.rebuildBundleDependencies( this, progress.newChild( 20 ) );
+ SigilCore.rebuildBundleDependencies( this, progress.newChild( 30 ) );
}
-
/**
* Returns the project custom preference pool.
* Project preferences may include custom encoding.
diff --git a/sigil/eclipse/core/src/org/apache/felix/sigil/eclipse/model/project/ISigilProjectModel.java b/sigil/eclipse/core/src/org/apache/felix/sigil/eclipse/model/project/ISigilProjectModel.java
index 5379ac6..917db29 100644
--- a/sigil/eclipse/core/src/org/apache/felix/sigil/eclipse/model/project/ISigilProjectModel.java
+++ b/sigil/eclipse/core/src/org/apache/felix/sigil/eclipse/model/project/ISigilProjectModel.java
@@ -22,6 +22,7 @@
import java.util.Collection;
+
import org.apache.felix.sigil.config.IBldProject;
import org.apache.felix.sigil.core.BldCore;
import org.apache.felix.sigil.model.ICompoundModelElement;
@@ -72,6 +73,8 @@
* @throws CoreException
*/
void save( IProgressMonitor monitor ) throws CoreException;
+
+ void rebuildDependencies(IProgressMonitor monitor) throws CoreException;
/**
diff --git a/sigil/eclipse/ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilProjectEditorPart.java b/sigil/eclipse/ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilProjectEditorPart.java
index e2a362f..e6471c2 100644
--- a/sigil/eclipse/ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilProjectEditorPart.java
+++ b/sigil/eclipse/ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilProjectEditorPart.java
@@ -109,6 +109,7 @@
}
} );
project.setBundle( null );
+ project.rebuildDependencies(monitor);
}
else if ( isDirty() )
{