conversion from idea 6 projects fixed

This commit is contained in:
nik
2009-12-23 12:10:12 +03:00
parent 6d4bf49187
commit 9581a8d885
2 changed files with 19 additions and 6 deletions
@@ -55,6 +55,7 @@ public class ConversionRunner {
myProcessWorkspaceFile = myWorkspaceConverter != null && myContext.getWorkspaceFile().exists()
&& myWorkspaceConverter.isConversionNeeded(myContext.getWorkspaceSettings());
myModulesFilesToProcess.clear();
if (myModuleFileConverter != null) {
for (File moduleFile : myContext.getModuleFiles()) {
if (moduleFile.exists() && myModuleFileConverter.isConversionNeeded(myContext.getModuleSettings(moduleFile))) {
@@ -92,9 +92,11 @@ public class ConversionServiceImpl extends ConversionService {
}
final File backupDir = ProjectConversionUtil.backupFiles(affectedFiles, context.getProjectBaseDir());
for (ConversionRunner runner : runners) {
runner.preProcess();
runner.process();
runner.postProcess();
if (runner.isConversionNeeded()) {
runner.preProcess();
runner.process();
runner.postProcess();
}
}
context.saveFiles(affectedFiles);
listener.successfullyConverted(backupDir);
@@ -143,11 +145,21 @@ public class ConversionServiceImpl extends ConversionService {
Set<String> convertersToRunIds = new HashSet<String>();
while (iterator.hasNext()) {
ConversionRunner runner = iterator.next();
if (!runner.isConversionNeeded() && !convertersToRunIds.contains(runner.getProvider().getId())) {
iterator.remove();
boolean conversionNeeded = runner.isConversionNeeded();
if (!conversionNeeded) {
for (String id : runner.getProvider().getPrecedingConverterIds()) {
if (convertersToRunIds.contains(id)) {
conversionNeeded = true;
break;
}
}
}
if (conversionNeeded) {
convertersToRunIds.add(runner.getProvider().getId());
}
else {
convertersToRunIds.add(runner.getProvider().getId());
iterator.remove();
}
}
return converters;