release 1.01
чуть доработано: - добавлен перенос шаблонов в проект - убрана линковка с библиотекой для изменения маски из конфига - исправлено изменение названия бинарника S-Function - исправлено некорректная запись из буфера в входы/выходы и обратно
This commit is contained in:
59
McuLib/m/installTemplates.m
Normal file
59
McuLib/m/installTemplates.m
Normal file
@@ -0,0 +1,59 @@
|
||||
function installTemplates(forceCopy)
|
||||
% installTemplates Копирует содержимое папки templates (включая вложенные папки) из уровня выше McuLib.slx в текущую папку
|
||||
%
|
||||
% installTemplates(forceCopy)
|
||||
%
|
||||
% forceCopy — логический параметр (true/false)
|
||||
% Если true, файлы будут перезаписаны.
|
||||
% Если false или не указан, копирование происходит без перезаписи существующих файлов.
|
||||
|
||||
if nargin < 1
|
||||
forceCopy = false;
|
||||
end
|
||||
|
||||
try
|
||||
libDir = fileparts(which('McuLib.slx')); % папка с McuLib.slx
|
||||
parentDir = fileparts(libDir); % уровень выше
|
||||
templatesDir = fullfile(parentDir, 'templates'); % папка templates
|
||||
|
||||
targetDir = pwd; % текущая папка
|
||||
mcuMask.disp(1, '');
|
||||
if ~exist(templatesDir, 'dir')
|
||||
mcuMask.disp(1, 'Папка шаблонов %s не найдена.', templatesDir);
|
||||
return;
|
||||
end
|
||||
|
||||
% Список всех файлов и папок внутри templates (рекурсивно)
|
||||
entries = dir(fullfile(templatesDir, '**', '*'));
|
||||
|
||||
for k = 1:length(entries)
|
||||
if ~entries(k).isdir
|
||||
% Относительный путь внутри templates
|
||||
relPath = erase(entries(k).folder, [templatesDir filesep]);
|
||||
if startsWith(relPath, filesep)
|
||||
relPath = relPath(2:end); % убрать начальный слеш
|
||||
end
|
||||
|
||||
srcFile = fullfile(entries(k).folder, entries(k).name);
|
||||
destFolder = fullfile(targetDir, relPath);
|
||||
destFile = fullfile(destFolder, entries(k).name);
|
||||
|
||||
if ~exist(destFolder, 'dir')
|
||||
mkdir(destFolder);
|
||||
end
|
||||
|
||||
if forceCopy || ~exist(destFile, 'file')
|
||||
copyfile(srcFile, destFile);
|
||||
mcuMask.disp(0, 'Скопирован файл: %s\n', fullfile(relPath, entries(k).name));
|
||||
else
|
||||
% mcuMask.disp(0, 'Файл уже существует и не перезаписывается: %s\n', fullfile(relPath, entries(k).name));
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
mcuMask.disp(0, ['Шаблоны успешно скопированы в ', targetDir]);
|
||||
|
||||
catch ME
|
||||
mcuMask.disp(0, 'Ошибка при копировании шаблонов: %s', ME.message);
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user