From 36181e6462682c45f06468f265b34aa7bd4be2ac Mon Sep 17 00:00:00 2001 From: Meik Date: Fri, 26 Jun 2026 16:58:15 +0200 Subject: [PATCH] chore: automate Matrix42 package build --- .gitignore | 1 + F4SDM42WebApi/BuildM42Package.ps1 | 73 +++ F4SDM42WebApi/F4SD - M42WebApi.csproj | 2 + F4SDM42WebApi/M42SandboxedExtension.targets | 29 +- .../Files/WM/workspaces/C4IT_F4SD/F4SD.min.js | 3 + .../WM/workspaces/C4IT_F4SD/F4SDIcons.svg | 21 + .../WM/workspaces/C4IT_F4SD/workspace.json | 7 + PackageTemplate/install.xml | 45 ++ ...0_Navigation_C4IT_Addon_Administration.dat | 274 ++++++++++ .../0020_Navigation_C4IT_Addon_Assets.dat | 284 ++++++++++ ...0030_Navigation_C4IT_Addon_ServiceDesk.dat | 288 ++++++++++ ...0_Navigation_C4IT_Addon_ServiceCatalog.dat | 284 ++++++++++ .../02-01-0050 PLSLServiceTypeWebAPI.dat | 177 ++++++ ...02-01-0060 PLSLWebServiceOperationType.dat | 157 ++++++ ...02-01-0070 PLSLWebServiceOperationType.dat | 157 ++++++ ...02-01-0080 PLSLWebServiceOperationType.dat | 157 ++++++ ...02-01-0090 PLSLWebServiceOperationType.dat | 157 ++++++ ...02-01-0100 PLSLWebServiceOperationType.dat | 157 ++++++ ...02-01-0110 PLSLWebServiceOperationType.dat | 157 ++++++ ...02-01-0120 PLSLWebServiceOperationType.dat | 157 ++++++ ...02-01-0130 PLSLWebServiceOperationType.dat | 157 ++++++ .../getmyrolememberships.dat | 157 ++++++ .../0002_WebServiceOperation/getpickup.dat | 157 ++++++ .../getrolememberships.dat | 157 ++++++ .../02-01-0150 PDRActionType.dat | 382 +++++++++++++ .../02-01-0160 PDRActionType.dat | 383 +++++++++++++ .../02-01-0170 PDRActionType.dat | 383 +++++++++++++ .../02-01-0180 PDRLocalizationStringClass.dat | 14 + .../SPSActivityIncidentPickupEntry.dat | 48 ++ .../SPSJournalEntryPickupType.dat | 157 ++++++ .../C4IT_AddonConfigClassBase.class | 93 ++++ ...020 C4IT_F4SDConfigurationType_create.type | 48 ++ .../02-01-0080 C4IT_F4SDConfigurationType.dat | 130 +++++ .../1020_Roles/C4IT F4SD Cockpit Users.dat | 511 ++++++++++++++++++ .../02-01-0030 PDRDataQueryType.dat | 274 ++++++++++ .../C4IT - F4SD - Quick Calls.dat | 173 ++++++ ...4SD Configuration Content Widget Liste.dat | 10 + ...4SD Configuration Content Widget Liste.dat | 51 ++ .../02-01-0070 PDRNavigationItemType.dat | 275 ++++++++++ ...guration Content Widget Schnellansicht.dat | 21 + ...guration Content Widget Schnellansicht.dat | 34 ++ ...guration Content Widget Schnellansicht.dat | 50 ++ .../F4SD Incident Quickcall.dat | 328 +++++++++++ .../Fragments.GetList_Audience.dat | 144 +++++ .../Objects.GetObject_Audience.dat | 144 +++++ .../Objects.UpdateObject_Audience.dat | 144 +++++ .../1090_Audience/Ticket.Create_Audience.dat | 144 +++++ .../Ticket.Transform_Audience.dat | 144 +++++ ...ype_create-C4IT_F4SDConfigurationType.type | 11 + ...gClassBase-C4IT_AddonConfigClassBase.class | 13 + PackageTemplate/package.json | 18 + 51 files changed, 7336 insertions(+), 6 deletions(-) create mode 100644 F4SDM42WebApi/BuildM42Package.ps1 create mode 100644 PackageTemplate/Files/WM/workspaces/C4IT_F4SD/F4SD.min.js create mode 100644 PackageTemplate/Files/WM/workspaces/C4IT_F4SD/F4SDIcons.svg create mode 100644 PackageTemplate/Files/WM/workspaces/C4IT_F4SD/workspace.json create mode 100644 PackageTemplate/install.xml create mode 100644 PackageTemplate/install/0000_Global/0010_Navigation_C4IT_Addon_Administration.dat create mode 100644 PackageTemplate/install/0000_Global/0020_Navigation_C4IT_Addon_Assets.dat create mode 100644 PackageTemplate/install/0000_Global/0030_Navigation_C4IT_Addon_ServiceDesk.dat create mode 100644 PackageTemplate/install/0000_Global/0040_Navigation_C4IT_Addon_ServiceCatalog.dat create mode 100644 PackageTemplate/install/0001_WebAPIService/02-01-0050 PLSLServiceTypeWebAPI.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/02-01-0060 PLSLWebServiceOperationType.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/02-01-0070 PLSLWebServiceOperationType.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/02-01-0080 PLSLWebServiceOperationType.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/02-01-0090 PLSLWebServiceOperationType.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/02-01-0100 PLSLWebServiceOperationType.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/02-01-0110 PLSLWebServiceOperationType.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/02-01-0120 PLSLWebServiceOperationType.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/02-01-0130 PLSLWebServiceOperationType.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/getmyrolememberships.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/getpickup.dat create mode 100644 PackageTemplate/install/0002_WebServiceOperation/getrolememberships.dat create mode 100644 PackageTemplate/install/0003_UUXActions/02-01-0150 PDRActionType.dat create mode 100644 PackageTemplate/install/0003_UUXActions/02-01-0160 PDRActionType.dat create mode 100644 PackageTemplate/install/0003_UUXActions/02-01-0170 PDRActionType.dat create mode 100644 PackageTemplate/install/0004_Localizations/02-01-0180 PDRLocalizationStringClass.dat create mode 100644 PackageTemplate/install/0015_Pickup_Data/SPSActivityIncidentPickupEntry.dat create mode 100644 PackageTemplate/install/0015_Pickup_Data/SPSJournalEntryPickupType.dat create mode 100644 PackageTemplate/install/0020_Datendefinitionen/C4IT_AddonConfigClassBase.class create mode 100644 PackageTemplate/install/0030_Konfigurationselemente/02-01-0020 C4IT_F4SDConfigurationType_create.type create mode 100644 PackageTemplate/install/1010_Config_Data/02-01-0080 C4IT_F4SDConfigurationType.dat create mode 100644 PackageTemplate/install/1020_Roles/C4IT F4SD Cockpit Users.dat create mode 100644 PackageTemplate/install/1040_UUX_Data_Queries/02-01-0030 PDRDataQueryType.dat create mode 100644 PackageTemplate/install/1040_UUX_Data_Queries/C4IT - F4SD - Quick Calls.dat create mode 100644 PackageTemplate/install/1050_UUX_Dataset_Views/02-01-0040 PDRContentWidgetTemplateType_C4IT F4SD Configuration Content Widget Liste.dat create mode 100644 PackageTemplate/install/1050_UUX_Dataset_Views/02-01-0040 PDRContentWidgetTypeList_C4IT F4SD Configuration Content Widget Liste.dat create mode 100644 PackageTemplate/install/1060_UUX_Navigation_Items/02-01-0070 PDRNavigationItemType.dat create mode 100644 PackageTemplate/install/1070_Previews/02-01-0050 PDRContentWidgetTemplateType_C4IT F4SD Configuration Content Widget Schnellansicht.dat create mode 100644 PackageTemplate/install/1070_Previews/02-01-0050 PDRContentWidgetTemplateViewType_C4IT F4SD Configuration Content Widget Schnellansicht.dat create mode 100644 PackageTemplate/install/1070_Previews/02-01-0050 PDRContentWidgetTypeObjectDetails_C4IT F4SD Configuration Content Widget Schnellansicht.dat create mode 100644 PackageTemplate/install/1080_Quickcalls/F4SD Incident Quickcall.dat create mode 100644 PackageTemplate/install/1090_Audience/Fragments.GetList_Audience.dat create mode 100644 PackageTemplate/install/1090_Audience/Objects.GetObject_Audience.dat create mode 100644 PackageTemplate/install/1090_Audience/Objects.UpdateObject_Audience.dat create mode 100644 PackageTemplate/install/1090_Audience/Ticket.Create_Audience.dat create mode 100644 PackageTemplate/install/1090_Audience/Ticket.Transform_Audience.dat create mode 100644 PackageTemplate/install/ZZZ_SchemaUpdates/02-01-0020 C4IT_F4SDConfigurationType_create-C4IT_F4SDConfigurationType.type create mode 100644 PackageTemplate/install/ZZZ_SchemaUpdates/C4IT_AddonConfigClassBase-C4IT_AddonConfigClassBase.class create mode 100644 PackageTemplate/package.json diff --git a/.gitignore b/.gitignore index 49647ee..39a91ef 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ F4SDHelper/bin/ F4SDHelper/obj/ F4SDM42WebApi/bin/ F4SDM42WebApi/obj/ +artifacts/ diff --git a/F4SDM42WebApi/BuildM42Package.ps1 b/F4SDM42WebApi/BuildM42Package.ps1 new file mode 100644 index 0000000..dab584d --- /dev/null +++ b/F4SDM42WebApi/BuildM42Package.ps1 @@ -0,0 +1,73 @@ +param( + [Parameter(Mandatory = $true)] + [string]$TemplateDir, + + [Parameter(Mandatory = $true)] + [string]$AssembliesDir, + + [Parameter(Mandatory = $true)] + [string]$OutputRoot, + + [Parameter(Mandatory = $true)] + [string]$PackageName, + + [Parameter(Mandatory = $true)] + [string]$PackageVersion +) + +$ErrorActionPreference = 'Stop' + +function Normalize-FullPath { + param([string]$Path) + return [System.IO.Path]::GetFullPath($Path) +} + +function Normalize-TextFileLineEndings { + param([string]$Path) + + $content = [System.IO.File]::ReadAllText($Path) + $content = [regex]::Replace($content, '(?false 6673a25d-33d6-4072-91d9-abed4be1a966 C4ITF4SD*.* + 1.4.0.4 + true diff --git a/F4SDM42WebApi/M42SandboxedExtension.targets b/F4SDM42WebApi/M42SandboxedExtension.targets index 56bd181..6d03102 100644 --- a/F4SDM42WebApi/M42SandboxedExtension.targets +++ b/F4SDM42WebApi/M42SandboxedExtension.targets @@ -1,9 +1,13 @@ - $(MSBuildProjectDirectory)\BasePackage\Assemblies\ - $(MSBuildProjectDirectory)\Root\InstalledPackages\Assemblies\$(M42ExtensionId)\ + $(MSBuildProjectDirectory)\BasePackage\Assemblies + $(MSBuildProjectDirectory)\Root\InstalledPackages\Assemblies\$(M42ExtensionId) $(MSBuildProjectName)*.* win-x64;linux-x64 + C4IT - F4SD M42 ESM Integration Configuration Package + $(MSBuildProjectDirectory)\..\PackageTemplate + $(MSBuildProjectDirectory)\..\artifacts + $(MSBuildProjectDirectory)\BuildM42Package.ps1 - - + + + + + + + + + + diff --git a/PackageTemplate/Files/WM/workspaces/C4IT_F4SD/F4SD.min.js b/PackageTemplate/Files/WM/workspaces/C4IT_F4SD/F4SD.min.js new file mode 100644 index 0000000..e67f356 --- /dev/null +++ b/PackageTemplate/Files/WM/workspaces/C4IT_F4SD/F4SD.min.js @@ -0,0 +1,3 @@ +/*v1.0.0 (2024-10-29)*/var w;!function(o){"use strict";var e="c4it-f4sd-icons";o.mx=o.mx||{},o.mx.workspacesConfig=o.mx.workspacesConfig||{},o.mx.workspacesConfig.modules=o.mx.workspacesConfig.modules||{},o.mx.workspacesConfig.modules.add=o.mx.workspacesConfig.modules.add||function(e,n){o.mx.workspacesConfig.modules[e]=n},o.mx.workspacesConfig.modules.add("mx.C4IT.F4SD",{name:"mx.C4IT.F4SD",config:["$mdIconProvider",function(n){n.iconSet(e,"workspaces/C4IT_F4SD/F4SDIcons.svg"),o.mx=o.mx||{},o.mx.components=o.mx.components||{},o.mx.components.Icons=o.mx.components.Icons||{},o.mx.components.Icons.unshift({id:e,name:"C4IT F4SD Icons",icons:[{SVG:!0,id:e+":icon-f4sd",name:"F4SD Icon",keywords:["c4it","custom","f4sd"]},{SVG:!0,id:e+":icon-f4sd-coloured",name:"F4SD Icon (coloured)",keywords:["c4it","custom","f4sd"]}]})}]})} +(window),window,angular.module("mx.C4IT.F4SD").controller("mx.C4IT.F4SD.Actions.callF4SD",["mx.shell.Config","mx.SolutionBuilderAgent.Http","mx.shell.NotificationService","mx.internationalization",function(o,e,n,s){var t=this;this.restHost=o.settings.restHosts.default,this.messageF4SDOpened=s.get("c4it.f4sd.action-open-called")||"F4SD is beeing opened...",this.execute=function(o,s){var c=o[0]["Sys-ObjectId"]||o[0].ID;try{t.controllerParams=new URLSearchParams(s.controllerParams)}catch(a){console.log(a),n.error("Action config parameters format exception");return} +let i=new URL("/api/c4itf4sdwebapi/getdirectlinkf4sd/",t.restHost);i.searchParams.append("type",t.controllerParams.get("type")||s.name),i.searchParams.append("eoid",c),e.get(i.pathname+i.search).then(function(o){try{let e=new URL(o);"f4sdsend:"==e.protocol&&(t.controllerParams.has("showNotification")&&1==t.controllerParams.get("showNotification")&&n.info(t.messageF4SDOpened),window.location.href=o)}catch(s){console.log(s),n.error("Service not available")}},function o(e){console.log(e),n.error("Service not available")})}}]); \ No newline at end of file diff --git a/PackageTemplate/Files/WM/workspaces/C4IT_F4SD/F4SDIcons.svg b/PackageTemplate/Files/WM/workspaces/C4IT_F4SD/F4SDIcons.svg new file mode 100644 index 0000000..194f4bd --- /dev/null +++ b/PackageTemplate/Files/WM/workspaces/C4IT_F4SD/F4SDIcons.svg @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/PackageTemplate/Files/WM/workspaces/C4IT_F4SD/workspace.json b/PackageTemplate/Files/WM/workspaces/C4IT_F4SD/workspace.json new file mode 100644 index 0000000..816b055 --- /dev/null +++ b/PackageTemplate/Files/WM/workspaces/C4IT_F4SD/workspace.json @@ -0,0 +1,7 @@ +{ + "description": "C4IT - F4SD - M42 ESM Integration", + "version": "1.0.0", + "resources": [ + "F4SD.min.js" + ] +} \ No newline at end of file diff --git a/PackageTemplate/install.xml b/PackageTemplate/install.xml new file mode 100644 index 0000000..8ca8906 --- /dev/null +++ b/PackageTemplate/install.xml @@ -0,0 +1,45 @@ + + +