12 changed files with 247 additions and 6 deletions
-
42common/jobs/job_sym_upgrade.h
-
49eeschema/eeschema_jobs_handler.cpp
-
1eeschema/eeschema_jobs_handler.h
-
3eeschema/sch_plugins/kicad/sch_sexpr_lib_plugin_cache.cpp
-
7eeschema/sch_plugins/kicad/sch_sexpr_lib_plugin_cache.h
-
2eeschema/sch_plugins/kicad/sch_sexpr_parser.h
-
1kicad/CMakeLists.txt
-
7kicad/cli/command_fp_upgrade.cpp
-
34kicad/cli/command_sym.h
-
58kicad/cli/command_sym_upgrade.cpp
-
37kicad/cli/command_sym_upgrade.h
-
12kicad/kicad_cli.cpp
@ -0,0 +1,42 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2022 Mark Roszko <mark.roszko@gmail.com> |
|||
* Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify it |
|||
* under the terms of the GNU General Public License as published by the |
|||
* Free Software Foundation, either version 3 of the License, or (at your |
|||
* option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, but |
|||
* WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
* General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License along |
|||
* with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
*/ |
|||
|
|||
#ifndef JOB_SYM_UPGRADE_H |
|||
#define JOB_SYM_UPGRADE_H |
|||
|
|||
#include <wx/string.h> |
|||
#include "job.h" |
|||
|
|||
class JOB_SYM_UPGRADE : public JOB |
|||
{ |
|||
public: |
|||
JOB_SYM_UPGRADE( bool aIsCli ) : |
|||
JOB( "symupgrade", aIsCli ), |
|||
m_libraryPath(), |
|||
m_force( false ) |
|||
{ |
|||
} |
|||
|
|||
wxString m_libraryPath; |
|||
|
|||
bool m_force; |
|||
}; |
|||
|
|||
#endif |
@ -0,0 +1,34 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2022 Mark Roszko <mark.roszko@gmail.com> |
|||
* Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify it |
|||
* under the terms of the GNU General Public License as published by the |
|||
* Free Software Foundation, either version 3 of the License, or (at your |
|||
* option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, but |
|||
* WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
* General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License along |
|||
* with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
*/ |
|||
|
|||
#ifndef COMMAND_SYM_H |
|||
#define COMMAND_SYM_H |
|||
|
|||
#include "command.h" |
|||
|
|||
namespace CLI |
|||
{ |
|||
struct SYM_COMMAND : public COMMAND |
|||
{ |
|||
SYM_COMMAND() : COMMAND( "sym" ) {} |
|||
}; |
|||
} |
|||
|
|||
#endif |
@ -0,0 +1,58 @@ |
|||
/*
|
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2022 Mark Roszko <mark.roszko@gmail.com> |
|||
* Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify it |
|||
* under the terms of the GNU General Public License as published by the |
|||
* Free Software Foundation, either version 3 of the License, or (at your |
|||
* option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, but |
|||
* WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
* General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License along |
|||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
#include "command_sym_upgrade.h"
|
|||
#include <cli/exit_codes.h>
|
|||
#include "jobs/job_sym_upgrade.h"
|
|||
#include <kiface_base.h>
|
|||
#include <layer_ids.h>
|
|||
#include <wx/crt.h>
|
|||
#include <wx/dir.h>
|
|||
|
|||
#include <macros.h>
|
|||
|
|||
#define ARG_FORCE "--force"
|
|||
|
|||
CLI::SYM_UPGRADE_COMMAND::SYM_UPGRADE_COMMAND() : EXPORT_PCB_BASE_COMMAND( "upgrade" ) |
|||
{ |
|||
m_argParser.add_argument( ARG_FORCE ) |
|||
.help( UTF8STDSTR( |
|||
_( "Forces the symbol library to be resaved regardless of versioning" ) ) ) |
|||
.implicit_value( true ) |
|||
.default_value( false ); |
|||
} |
|||
|
|||
|
|||
int CLI::SYM_UPGRADE_COMMAND::Perform( KIWAY& aKiway ) |
|||
{ |
|||
std::unique_ptr<JOB_SYM_UPGRADE> symJob = std::make_unique<JOB_SYM_UPGRADE>( true ); |
|||
|
|||
symJob->m_libraryPath = FROM_UTF8( m_argParser.get<std::string>( ARG_INPUT ).c_str() ); |
|||
|
|||
if( !wxFile::Exists( symJob->m_libraryPath ) ) |
|||
{ |
|||
wxFprintf( stderr, _( "Symbol file does not exist or is not accessible\n" ) ); |
|||
return EXIT_CODES::ERR_INVALID_INPUT_FILE; |
|||
} |
|||
|
|||
int exitCode = aKiway.ProcessJob( KIWAY::FACE_SCH, symJob.get() ); |
|||
|
|||
return exitCode; |
|||
} |
@ -0,0 +1,37 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2022 Mark Roszko <mark.roszko@gmail.com> |
|||
* Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify it |
|||
* under the terms of the GNU General Public License as published by the |
|||
* Free Software Foundation, either version 3 of the License, or (at your |
|||
* option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, but |
|||
* WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|||
* General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License along |
|||
* with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
*/ |
|||
|
|||
#ifndef COMMAND_SYM_UPGRADE_H |
|||
#define COMMAND_SYM_UPGRADE_H |
|||
|
|||
#include "command_export_pcb_base.h" |
|||
|
|||
namespace CLI |
|||
{ |
|||
class SYM_UPGRADE_COMMAND : public EXPORT_PCB_BASE_COMMAND |
|||
{ |
|||
public: |
|||
SYM_UPGRADE_COMMAND(); |
|||
|
|||
int Perform( KIWAY& aKiway ) override; |
|||
}; |
|||
} // namespace CLI |
|||
|
|||
#endif |
Write
Preview
Loading…
Cancel
Save
Reference in new issue