From e7a79216ab276cb53cbc1eed359ea5181e02ccd5 Mon Sep 17 00:00:00 2001 From: Jeff Young <jeff@rokeby.ie> Date: Mon, 13 Jan 2025 12:43:01 +0000 Subject: [PATCH] Add non-title-block var resolution to jobset outputs. Fixes https://gitlab.com/kicad/code/kicad/-/issues/19357 Fixes https://gitlab.com/kicad/code/kicad/-/issues/19618 --- common/jobs/jobs_output_archive.cpp | 13 ++++++------- common/jobs/jobs_output_folder.cpp | 7 ++++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/common/jobs/jobs_output_archive.cpp b/common/jobs/jobs_output_archive.cpp index eb88c16f61..9450a4a9e9 100644 --- a/common/jobs/jobs_output_archive.cpp +++ b/common/jobs/jobs_output_archive.cpp @@ -25,7 +25,8 @@ #include <gestfich.h> #include <common.h> -JOBS_OUTPUT_ARCHIVE::JOBS_OUTPUT_ARCHIVE() : JOBS_OUTPUT_HANDLER(), +JOBS_OUTPUT_ARCHIVE::JOBS_OUTPUT_ARCHIVE() : + JOBS_OUTPUT_HANDLER(), m_format( FORMAT::ZIP ) { } @@ -42,15 +43,16 @@ bool JOBS_OUTPUT_ARCHIVE::OutputPrecheck() } -bool JOBS_OUTPUT_ARCHIVE::HandleOutputs( const wxString& baseTempPath, - PROJECT* aProject, +bool JOBS_OUTPUT_ARCHIVE::HandleOutputs( const wxString& baseTempPath, PROJECT* aProject, const std::vector<JOB_OUTPUT>& aOutputsToHandle ) { bool success = true; - wxString outputPath = ExpandEnvVarSubstitutions( m_outputPath, aProject ); + wxString outputPath = ExpandTextVars( m_outputPath, aProject ); + outputPath = ExpandEnvVarSubstitutions( outputPath, aProject ); wxFFileOutputStream ostream( outputPath ); + if( !ostream.IsOk() ) // issue to create the file. Perhaps not writable dir { //msg.Printf( _( "Failed to create file '%s'." ), aDestFile ); @@ -61,19 +63,16 @@ bool JOBS_OUTPUT_ARCHIVE::HandleOutputs( const wxString& baseTemp wxZipOutputStream zipstream( ostream, -1, wxConvUTF8 ); wxString errors; - if( !AddDirectoryToZip( zipstream, baseTempPath, errors ) ) { success = false; } - if( !zipstream.Close() ) { success = false; } - return success; } diff --git a/common/jobs/jobs_output_folder.cpp b/common/jobs/jobs_output_folder.cpp index 7d85283a82..c69ea7803b 100644 --- a/common/jobs/jobs_output_folder.cpp +++ b/common/jobs/jobs_output_folder.cpp @@ -30,11 +30,11 @@ JOBS_OUTPUT_FOLDER::JOBS_OUTPUT_FOLDER() : } -bool JOBS_OUTPUT_FOLDER::HandleOutputs( const wxString& baseTempPath, - PROJECT* aProject, +bool JOBS_OUTPUT_FOLDER::HandleOutputs( const wxString& baseTempPath, PROJECT* aProject, const std::vector<JOB_OUTPUT>& aOutputsToHandle ) { - wxString outputPath = ExpandEnvVarSubstitutions( m_outputPath, aProject ); + wxString outputPath = ExpandTextVars( m_outputPath, aProject ); + outputPath = ExpandEnvVarSubstitutions( outputPath, aProject ); if( !wxFileName::DirExists( outputPath ) ) { @@ -47,6 +47,7 @@ bool JOBS_OUTPUT_FOLDER::HandleOutputs( const wxString& baseTempP bool success = true; wxString errors; + if( !CopyDirectory( baseTempPath, outputPath, errors ) ) { success = false;