mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-07 09:25:33 +00:00
153 lines
11 KiB
ObjectPascal
153 lines
11 KiB
ObjectPascal
program kmcomp;
|
|
|
|
{$APPTYPE CONSOLE}
|
|
|
|
uses
|
|
System.SysUtils,
|
|
main in 'main.pas',
|
|
compile in '..\common\delphi\compiler\compile.pas',
|
|
VersionInfo in '..\..\..\common\windows\delphi\general\VersionInfo.pas',
|
|
RegistryKeys in '..\..\..\common\windows\delphi\general\RegistryKeys.pas',
|
|
kccompilepackage in 'kccompilepackage.pas',
|
|
CompilePackage in '..\common\delphi\compiler\CompilePackage.pas',
|
|
kpsfile in '..\common\delphi\packages\kpsfile.pas',
|
|
PackageInfo in '..\..\..\common\windows\delphi\packages\PackageInfo.pas',
|
|
PackageFileFormats in '..\..\..\common\windows\delphi\packages\PackageFileFormats.pas',
|
|
kmpinffile in '..\..\..\common\windows\delphi\packages\kmpinffile.pas',
|
|
RedistFiles in '..\tike\main\RedistFiles.pas',
|
|
DebugPaths in '..\..\..\common\windows\delphi\general\DebugPaths.pas',
|
|
httpuploader in '..\..\..\common\windows\delphi\general\httpuploader.pas',
|
|
httpuploader_messageprocessor_forms in '..\..\..\common\windows\delphi\general\httpuploader_messageprocessor_forms.pas',
|
|
utilfiletypes in '..\..\..\common\windows\delphi\general\utilfiletypes.pas',
|
|
klog in '..\..\..\common\windows\delphi\general\klog.pas',
|
|
KeyNames in '..\..\..\common\windows\delphi\general\KeyNames.pas',
|
|
StockFileNames in '..\..\..\common\windows\delphi\general\StockFileNames.pas',
|
|
KeymanDeveloperOptions in '..\tike\main\KeymanDeveloperOptions.pas',
|
|
Upload_Settings in '..\..\..\common\windows\delphi\general\Upload_Settings.pas',
|
|
utilstr in '..\..\..\common\windows\delphi\general\utilstr.pas',
|
|
utilsystem in '..\..\..\common\windows\delphi\general\utilsystem.pas',
|
|
utildir in '..\..\..\common\windows\delphi\general\utildir.pas',
|
|
utilkeyboard in '..\..\..\common\windows\delphi\keyboards\utilkeyboard.pas',
|
|
unicode in '..\..\..\common\windows\delphi\general\Unicode.pas',
|
|
utilhttp in '..\..\..\common\windows\delphi\general\utilhttp.pas',
|
|
GetOsVersion in '..\..\..\common\windows\delphi\general\GetOsVersion.pas',
|
|
UfrmTike in '..\tike\main\UfrmTike.pas' {TikeForm: TTntForm},
|
|
CompilePackageInstaller in '..\common\delphi\compiler\CompilePackageInstaller.pas',
|
|
UTikeDebugMode in '..\tike\main\UTikeDebugMode.pas',
|
|
CompileKeymanWeb in '..\tike\compile\CompileKeymanWeb.pas',
|
|
VisualKeyboard in '..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboard.pas',
|
|
KeymanWebKeyCodes in '..\tike\compile\KeymanWebKeyCodes.pas',
|
|
ExtShiftState in '..\..\..\common\windows\delphi\visualkeyboard\ExtShiftState.pas',
|
|
kmxfileconsts in '..\..\..\common\windows\delphi\keyboards\kmxfileconsts.pas',
|
|
wininet5 in '..\..\..\common\windows\delphi\general\wininet5.pas',
|
|
kmxfileutils in '..\..\..\common\windows\delphi\keyboards\kmxfileutils.pas',
|
|
GlobalProxySettings in '..\..\..\common\windows\delphi\general\GlobalProxySettings.pas',
|
|
VKeyChars in '..\..\..\common\windows\delphi\general\VKeyChars.pas',
|
|
ErrorControlledRegistry in '..\..\..\common\windows\delphi\vcl\ErrorControlledRegistry.pas',
|
|
utilexecute in '..\..\..\common\windows\delphi\general\utilexecute.pas',
|
|
KeymanVersion in '..\..\..\common\windows\delphi\general\KeymanVersion.pas',
|
|
kmxfile in '..\..\..\common\windows\delphi\keyboards\kmxfile.pas',
|
|
Glossary in '..\..\..\common\windows\delphi\general\Glossary.pas',
|
|
VKeys in '..\..\..\common\windows\delphi\general\VKeys.pas',
|
|
CompileErrorCodes in '..\common\delphi\compiler\CompileErrorCodes.pas',
|
|
TouchLayout in '..\tike\oskbuilder\TouchLayout.pas',
|
|
TouchLayoutDefinitions in '..\tike\oskbuilder\TouchLayoutDefinitions.pas',
|
|
KeyboardFonts in '..\common\delphi\general\KeyboardFonts.pas',
|
|
KeyboardParser in '..\tike\main\KeyboardParser.pas',
|
|
WindowsLanguages in '..\common\delphi\general\WindowsLanguages.pas',
|
|
TempFileManager in '..\..\..\common\windows\delphi\general\TempFileManager.pas',
|
|
JsonUtil in '..\..\..\common\windows\delphi\general\JsonUtil.pas',
|
|
TikeUnicodeData in '..\tike\main\TikeUnicodeData.pas',
|
|
UnicodeData in '..\..\..\common\windows\delphi\charmap\UnicodeData.pas',
|
|
ttinfo in '..\..\..\common\windows\delphi\general\ttinfo.pas',
|
|
ADODB_TLB in '..\..\..\common\windows\delphi\tlb\ADODB_TLB.pas',
|
|
ADOX_TLB in '..\..\..\common\windows\delphi\tlb\ADOX_TLB.pas',
|
|
UKeymanTargets in '..\common\delphi\general\UKeymanTargets.pas',
|
|
kccompileproject in 'kccompileproject.pas',
|
|
Keyman.Developer.System.Project.ProjectFile in '..\tike\project\Keyman.Developer.System.Project.ProjectFile.pas',
|
|
mrulist in '..\tike\main\mrulist.pas',
|
|
Keyman.Developer.System.Project.Project in '..\tike\project\Keyman.Developer.System.Project.Project.pas',
|
|
Keyman.Developer.System.Project.ProjectFiles in '..\tike\project\Keyman.Developer.System.Project.ProjectFiles.pas',
|
|
Keyman.Developer.System.Project.ProjectFileType in '..\tike\project\Keyman.Developer.System.Project.ProjectFileType.pas',
|
|
Keyman.Developer.System.Project.ProjectLoader in '..\tike\project\Keyman.Developer.System.Project.ProjectLoader.pas',
|
|
Keyman.Developer.System.Project.ProjectSaver in '..\tike\project\Keyman.Developer.System.Project.ProjectSaver.pas',
|
|
Keyman.Developer.System.Project.kmnProjectFile in '..\tike\project\Keyman.Developer.System.Project.kmnProjectFile.pas',
|
|
Keyman.Developer.System.Project.kmxProjectFile in '..\tike\project\Keyman.Developer.System.Project.kmxProjectFile.pas',
|
|
Keyman.Developer.System.Project.kpsProjectFile in '..\tike\project\Keyman.Developer.System.Project.kpsProjectFile.pas',
|
|
Keyman.Developer.System.Project.kvkProjectFile in '..\tike\project\Keyman.Developer.System.Project.kvkProjectFile.pas',
|
|
Keyman.Developer.System.Project.ProjectLog in '..\tike\project\Keyman.Developer.System.Project.ProjectLog.pas',
|
|
UserMessages in '..\..\..\common\windows\delphi\general\UserMessages.pas',
|
|
VisualKeyboardLoaderBinary in '..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboardLoaderBinary.pas',
|
|
VisualKeyboardLoaderXML in '..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboardLoaderXML.pas',
|
|
VisualKeyboardSaverBinary in '..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboardSaverBinary.pas',
|
|
VisualKeyboardSaverXML in '..\..\..\common\windows\delphi\visualkeyboard\VisualKeyboardSaverXML.pas',
|
|
kccompilekvk in 'kccompilekvk.pas',
|
|
ValidateKeyboardInfo in '..\tike\compile\ValidateKeyboardInfo.pas',
|
|
MergeKeyboardInfo in '..\tike\compile\MergeKeyboardInfo.pas',
|
|
JsonExtractKeyboardInfo in '..\tike\compile\JsonExtractKeyboardInfo.pas',
|
|
Keyman.System.PackageInfoRefreshKeyboards in '..\common\delphi\packages\Keyman.System.PackageInfoRefreshKeyboards.pas',
|
|
Keyman.System.KeyboardJSInfo in '..\common\delphi\keyboards\Keyman.System.KeyboardJSInfo.pas',
|
|
Keyman.System.KeyboardUtils in '..\common\delphi\keyboards\Keyman.System.KeyboardUtils.pas',
|
|
Keyman.System.KMXFileLanguages in '..\common\delphi\keyboards\Keyman.System.KMXFileLanguages.pas',
|
|
Keyman.System.Standards.ISO6393ToBCP47Registry in '..\..\..\common\windows\delphi\standards\Keyman.System.Standards.ISO6393ToBCP47Registry.pas',
|
|
Keyman.System.Standards.LCIDToBCP47Registry in '..\..\..\common\windows\delphi\standards\Keyman.System.Standards.LCIDToBCP47Registry.pas',
|
|
Keyman.System.KeyboardInfoFile in '..\common\delphi\keyboards\Keyman.System.KeyboardInfoFile.pas',
|
|
BCP47Tag in '..\..\..\common\windows\delphi\general\BCP47Tag.pas',
|
|
Keyman.System.LanguageCodeUtils in '..\..\..\common\windows\delphi\general\Keyman.System.LanguageCodeUtils.pas',
|
|
Keyman.System.RegExGroupHelperRSP19902 in '..\..\..\common\windows\delphi\vcl\Keyman.System.RegExGroupHelperRSP19902.pas',
|
|
Keyman.System.Standards.BCP47SubtagRegistry in '..\..\..\common\windows\delphi\standards\Keyman.System.Standards.BCP47SubtagRegistry.pas',
|
|
Keyman.System.Standards.BCP47SuppressScriptRegistry in '..\..\..\common\windows\delphi\standards\Keyman.System.Standards.BCP47SuppressScriptRegistry.pas',
|
|
TextFileFormat in '..\common\delphi\general\TextFileFormat.pas',
|
|
Keyman.Developer.System.Project.kmnProjectFileAction in '..\tike\project\Keyman.Developer.System.Project.kmnProjectFileAction.pas',
|
|
Keyman.Developer.System.Project.kpsProjectFileAction in '..\tike\project\Keyman.Developer.System.Project.kpsProjectFileAction.pas',
|
|
Keyman.System.PackageInfoRefreshLexicalModels in '..\common\delphi\packages\Keyman.System.PackageInfoRefreshLexicalModels.pas',
|
|
Keyman.Developer.System.Project.modelTsProjectFile in '..\tike\project\Keyman.Developer.System.Project.modelTsProjectFile.pas',
|
|
Keyman.Developer.System.Project.modelTsProjectFileAction in '..\tike\project\Keyman.Developer.System.Project.modelTsProjectFileAction.pas',
|
|
Keyman.Developer.System.LexicalModelCompile in '..\common\delphi\lexicalmodels\Keyman.Developer.System.LexicalModelCompile.pas',
|
|
Keyman.System.LexicalModelUtils in '..\common\delphi\lexicalmodels\Keyman.System.LexicalModelUtils.pas',
|
|
Keyman.Developer.System.Project.ProjectLogConsole in 'Keyman.Developer.System.Project.ProjectLogConsole.pas',
|
|
Sentry.Client in '..\..\..\common\windows\delphi\ext\sentry\Sentry.Client.pas',
|
|
Sentry.Client.Console in '..\..\..\common\windows\delphi\ext\sentry\Sentry.Client.Console.pas',
|
|
sentry in '..\..\..\common\windows\delphi\ext\sentry\sentry.pas',
|
|
Keyman.System.KeymanSentryClient in '..\..\..\common\windows\delphi\general\Keyman.System.KeymanSentryClient.pas',
|
|
KeymanPaths in '..\..\..\common\windows\delphi\general\KeymanPaths.pas',
|
|
Keyman.System.CanonicalLanguageCodeUtils in '..\..\..\common\windows\delphi\general\Keyman.System.CanonicalLanguageCodeUtils.pas',
|
|
Keyman.System.Standards.LangTagsRegistry in '..\..\..\common\windows\delphi\standards\Keyman.System.Standards.LangTagsRegistry.pas',
|
|
Keyman.Developer.System.Project.UrlRenderer in '..\tike\project\Keyman.Developer.System.Project.UrlRenderer.pas',
|
|
Keyman.Developer.System.ValidateRepoChanges in 'Keyman.Developer.System.ValidateRepoChanges.pas',
|
|
Keyman.Developer.System.KeymanDeveloperPaths in '..\tike\main\Keyman.Developer.System.KeymanDeveloperPaths.pas',
|
|
Keyman.Developer.System.ValidateKpsFile in '..\common\delphi\compiler\Keyman.Developer.System.ValidateKpsFile.pas';
|
|
|
|
{$R icons.RES}
|
|
{$R version.res}
|
|
{$R manifest.res}
|
|
|
|
const
|
|
{$IFDEF WIN64}
|
|
LOGGER_DEVELOPER_TOOLS_KMCOMP = TKeymanSentryClient.LOGGER_DEVELOPER_TOOLS + '.kmcomp.x64';
|
|
{$ELSE}
|
|
LOGGER_DEVELOPER_TOOLS_KMCOMP = TKeymanSentryClient.LOGGER_DEVELOPER_TOOLS + '.kmcomp';
|
|
{$ENDIF}
|
|
begin
|
|
TKeymanSentryClient.Start(TSentryClientConsole, kscpDeveloper, LOGGER_DEVELOPER_TOOLS_KMCOMP);
|
|
try
|
|
try
|
|
if (ParamStr(1) = '-sentry-client-test-exception') and (ParamStr(2) = 'dll') then
|
|
begin
|
|
compile.Compiler_Diagnostic_Console(0);
|
|
Exit;
|
|
end;
|
|
TKeymanSentryClient.Validate;
|
|
Run;
|
|
except
|
|
on E: Exception do
|
|
if not SentryHandleException(E) then
|
|
begin
|
|
writeln(E.Message);
|
|
ExitCode := 99;
|
|
end;
|
|
end;
|
|
finally
|
|
TKeymanSentryClient.Stop;
|
|
end;
|
|
end.
|