this.LogMessage (MessageImportance.Low, String.Format ("{0}: {1}", projectFile, ie.ToString ()));
return false;
} catch (Exception e) {
- this.LogErrorWithFilename (projectFile, e.Message);
- this.LogMessage (MessageImportance.Low, String.Format ("{0}: {1}", projectFile, e.ToString ()));
- return false;
+ if (buildStarted) {
+ this.LogErrorWithFilename (projectFile, e.Message);
+ this.LogMessage (MessageImportance.Low, String.Format ("{0}: {1}", projectFile, e.ToString ()));
+ }
+ throw;
} finally {
EndEngineBuild (result);
}
Directory.SetCurrentDirectory (Path.GetDirectoryName (fullFileName));
building = true;
result = BuildInternal (targetNames, targetOutputs, buildFlags);
+ } catch (InvalidProjectFileException ie) {
+ ParentEngine.LogErrorWithFilename (fullFileName, ie.Message);
+ ParentEngine.LogMessage (MessageImportance.Low, String.Format ("{0}: {1}", fullFileName, ie.ToString ()));
+ } catch (Exception e) {
+ ParentEngine.LogErrorWithFilename (fullFileName, e.Message);
+ ParentEngine.LogMessage (MessageImportance.Low, String.Format ("{0}: {1}", fullFileName, e.ToString ()));
+ throw;
} finally {
ParentEngine.EndProjectBuild (this, result);
current_settings = BuildSettings.None;