build: derive package version from assembly version

This commit is contained in:
Meik
2026-07-01 14:33:34 +02:00
parent c12c1ab7d2
commit 9a07024fdd
4 changed files with 17 additions and 8 deletions

View File

@@ -13,7 +13,6 @@
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<M42ExtensionId>6673a25d-33d6-4072-91d9-abed4be1a966</M42ExtensionId>
<M42AssemblyPattern>C4ITF4SD*.*</M42AssemblyPattern>
<M42PackageVersion>1.4.0.39</M42PackageVersion>
<M42BuildPackage>true</M42BuildPackage>
</PropertyGroup>

View File

@@ -78,13 +78,22 @@
<Target Name="M42_BuildPackage"
AfterTargets="Build"
Condition="'$(RuntimeIdentifier)' == '' AND '$(M42BuildPackage)' == 'true'">
<Error Condition="'$(M42PackageVersion)' == ''"
Text="M42PackageVersion is required when M42BuildPackage=true." />
<Error Condition="!Exists('$(M42PackageTemplateDir)\package.json')"
Text="M42 package template not found: $(M42PackageTemplateDir)" />
<Error Condition="!Exists('$(M42BasePackageAssembliesDir)\C4ITF4SDM42WebApi.dll')"
Text="M42 base package assemblies are missing: $(M42BasePackageAssembliesDir)" />
<Exec Command="powershell.exe -NoProfile -ExecutionPolicy Bypass -File &quot;$(M42PackageBuildScript)&quot; -TemplateDir &quot;$(M42PackageTemplateDir)&quot; -AssembliesDir &quot;$(M42BasePackageAssembliesDir)&quot; -OutputRoot &quot;$(M42PackageOutputRoot)&quot; -PackageName &quot;$(M42PackageName)&quot; -PackageVersion &quot;$(M42PackageVersion)&quot;" />
<GetAssemblyIdentity AssemblyFiles="$(M42BasePackageAssembliesDir)\C4ITF4SDM42WebApi.dll">
<Output TaskParameter="Assemblies" ItemName="_M42PackageAssemblyIdentity" />
</GetAssemblyIdentity>
<PropertyGroup>
<_M42PackageAssemblyVersion>@(_M42PackageAssemblyIdentity->'%(Version)')</_M42PackageAssemblyVersion>
</PropertyGroup>
<Error Condition="'$(_M42PackageAssemblyVersion)' == ''"
Text="Could not read AssemblyVersion from $(M42BasePackageAssembliesDir)\C4ITF4SDM42WebApi.dll." />
<Exec Command="powershell.exe -NoProfile -ExecutionPolicy Bypass -File &quot;$(M42PackageBuildScript)&quot; -TemplateDir &quot;$(M42PackageTemplateDir)&quot; -AssembliesDir &quot;$(M42BasePackageAssembliesDir)&quot; -OutputRoot &quot;$(M42PackageOutputRoot)&quot; -PackageName &quot;$(M42PackageName)&quot; -PackageVersion &quot;$(_M42PackageAssemblyVersion)&quot;" />
</Target>
</Project>

View File

@@ -5,5 +5,5 @@
[assembly: AssemblyCopyright("Copyright © 2026, Consulting4IT GmbH, Germany")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyVersion("1.3.0.0")]
[assembly: AssemblyInformationalVersion("1.3.0.0")]
[assembly: AssemblyVersion("1.4.0.0")]
[assembly: AssemblyInformationalVersion("1.4.0.0")]

View File

@@ -26,11 +26,12 @@ Bewaehrte Projekt-Eigenschaften:
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<M42ExtensionId>...</M42ExtensionId>
<M42AssemblyPattern>C4ITF4SD*.*</M42AssemblyPattern>
<M42PackageVersion>...</M42PackageVersion>
<M42BuildPackage>true</M42BuildPackage>
```
Das Package wird ueber `M42SandboxedExtension.targets` gebaut. Ein erfolgreicher Release-Build erzeugt:
Das Package wird ueber `M42SandboxedExtension.targets` gebaut. Die Paketversion wird automatisch aus der `AssemblyVersion` der gebauten WebApi-Assembly gelesen. In diesem Repo wird diese zentral in `SharedAssemblyInfo.cs` gepflegt.
Ein erfolgreicher Release-Build erzeugt:
```text
artifacts/<PackageName> v<Version>/