49 const std::vector<wxString>& aPathsWithOverwriteDisallowed,
50 const std::vector<JOB_OUTPUT>& aOutputsToHandle,
51 std::optional<wxString>& aResolvedOutputPath )
54 aResolvedOutputPath.reset();
62 wxFileName outputFileName( outputPath );
63 wxString parentDir = outputFileName.GetPath();
65 if( !parentDir.IsEmpty() && !wxFileName::DirExists( parentDir ) )
67 if( !wxFileName::Mkdir( parentDir, wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL ) )
69 aResolvedOutputPath.reset();
74 wxFFileOutputStream ostream( outputPath );
78 aResolvedOutputPath.reset();
84 if( FILE* fp = ostream.GetFile()->fp() )
87 wxZipOutputStream zipstream( ostream, -1, wxConvUTF8 );
93 if( !zipstream.Close() )
97 aResolvedOutputPath = outputPath;
99 aResolvedOutputPath.reset();
bool HandleOutputs(const wxString &aBaseTempPath, PROJECT *aProject, const std::vector< wxString > &aPathsWithOverwriteDisallowed, const std::vector< JOB_OUTPUT > &aOutputsToHandle, std::optional< wxString > &aResolvedOutputPath) override
bool AddDirectoryToZip(wxZipOutputStream &aZip, const wxString &aSourceDir, wxString &aErrors, const wxString &aParentDir)
Add a directory and its contents to a zip file.