mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-21 07:47:40 +00:00
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
When option 'SkipMetadataFiles' is not set in the project (inverse of 'Build metadata files for Keyman Cloud' in Project Settings dialog), then will run the validation step and generate .keyboard_info / .model_info from the IDE. Also add corresponding log messages (and add formatting for some others that were missing). Fixes: #16068 Test-bot: skip
49 lines
1.1 KiB
ObjectPascal
49 lines
1.1 KiB
ObjectPascal
unit Keyman.Developer.System.Project.kpsProjectFileAction;
|
|
|
|
interface
|
|
|
|
uses
|
|
System.SysUtils,
|
|
|
|
Keyman.Developer.System.Project.kpsProjectFile,
|
|
Keyman.Developer.System.Project.ProjectFile,
|
|
Keyman.Developer.System.Project.ProjectFiles,
|
|
Keyman.Developer.System.Project.ProjectFileType,
|
|
Keyman.Developer.System.Project.ProjectLog,
|
|
Keyman.Developer.System.KmcWrapper,
|
|
KPSFile;
|
|
|
|
type
|
|
TkpsProjectFileAction = class(TkpsProjectFile)
|
|
public
|
|
function CompilePackage: Boolean;
|
|
function Clean: Boolean;
|
|
end;
|
|
|
|
implementation
|
|
|
|
function TkpsProjectFileAction.CompilePackage: Boolean;
|
|
var
|
|
w: TKmcWrapper;
|
|
begin
|
|
w := TKmcWrapper.Create;
|
|
try
|
|
Result := w.Compile(Self, FileName, TargetFilename, False);
|
|
if not OwnerProject.Options.SkipMetadataFiles then
|
|
Result := Result and w.CompileForPublishing(Self, OwnerProject.FileName, False);
|
|
// TODO(lowpri): FDebug flag
|
|
finally
|
|
w.Free;
|
|
end;
|
|
end;
|
|
|
|
function TkpsProjectFileAction.Clean: Boolean;
|
|
begin
|
|
CleanFile(OutputFileName);
|
|
CleanFile(TargetInstallerFilename); // I4737
|
|
Result := True;
|
|
end;
|
|
|
|
initialization
|
|
RegisterProjectFileType('.kps', TkpsProjectFileAction);
|
|
end.
|