Files
git.stella-ops.org/src/Directory.Versions.props

152 lines
7.3 KiB
XML

<Project>
<!--
Centralized Service Versioning for StellaOps
=============================================
This file is the single source of truth for all service versions.
It is managed by CI/CD automation. Manual edits will be overwritten during releases.
See:
- .gitea/scripts/release/bump-service-version.py (version bumping)
- .gitea/workflows/service-release.yml (release pipeline)
- devops/releases/service-versions.json (release manifest)
Format: Each service has a <StellaOps{ServiceName}Version> property.
The appropriate version is applied based on the project's directory path.
-->
<!-- =========================================================================
SERVICE VERSION DEFINITIONS
=========================================================================
CI scripts parse this section using regex pattern:
<StellaOps(\w+)Version>(\d+\.\d+\.\d+)</StellaOps\1Version>
========================================================================= -->
<PropertyGroup Label="ServiceVersions">
<StellaOpsAuthorityVersion>1.0.0</StellaOpsAuthorityVersion>
<StellaOpsAttestorVersion>1.0.0</StellaOpsAttestorVersion>
<StellaOpsConcelierVersion>1.0.0</StellaOpsConcelierVersion>
<StellaOpsScannerVersion>1.0.0</StellaOpsScannerVersion>
<StellaOpsPolicyVersion>1.0.0</StellaOpsPolicyVersion>
<StellaOpsSignerVersion>1.0.0</StellaOpsSignerVersion>
<StellaOpsExcititorVersion>1.0.0</StellaOpsExcititorVersion>
<StellaOpsGatewayVersion>1.0.0</StellaOpsGatewayVersion>
<StellaOpsSchedulerVersion>1.0.0</StellaOpsSchedulerVersion>
<StellaOpsCliVersion>1.0.0</StellaOpsCliVersion>
<StellaOpsOrchestratorVersion>1.0.0</StellaOpsOrchestratorVersion>
<StellaOpsNotifyVersion>1.0.0</StellaOpsNotifyVersion>
<StellaOpsSbomServiceVersion>1.0.0</StellaOpsSbomServiceVersion>
<StellaOpsVexHubVersion>1.0.0</StellaOpsVexHubVersion>
<StellaOpsEvidenceLockerVersion>1.0.0</StellaOpsEvidenceLockerVersion>
</PropertyGroup>
<!-- =========================================================================
SERVICE VERSION APPLICATION
=========================================================================
Apply version based on project directory path.
MSBuild evaluates conditions top-to-bottom; first match wins.
========================================================================= -->
<!-- Authority module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Authority/'))">
<StellaOpsServiceName>Authority</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsAuthorityVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Attestor module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Attestor/'))">
<StellaOpsServiceName>Attestor</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsAttestorVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Concelier module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Concelier/'))">
<StellaOpsServiceName>Concelier</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsConcelierVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Scanner module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Scanner/'))">
<StellaOpsServiceName>Scanner</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsScannerVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Policy module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Policy/'))">
<StellaOpsServiceName>Policy</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsPolicyVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Signer module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Signer/'))">
<StellaOpsServiceName>Signer</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsSignerVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Excititor module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Excititor/'))">
<StellaOpsServiceName>Excititor</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsExcititorVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Gateway module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Gateway/'))">
<StellaOpsServiceName>Gateway</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsGatewayVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Scheduler module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Scheduler/'))">
<StellaOpsServiceName>Scheduler</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsSchedulerVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- CLI module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Cli/'))">
<StellaOpsServiceName>CLI</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsCliVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Orchestrator module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Orchestrator/'))">
<StellaOpsServiceName>Orchestrator</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsOrchestratorVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- Notify module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/Notify/'))">
<StellaOpsServiceName>Notify</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsNotifyVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- SbomService module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/SbomService/'))">
<StellaOpsServiceName>SbomService</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsSbomServiceVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- VexHub module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/VexHub/'))">
<StellaOpsServiceName>VexHub</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsVexHubVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- EvidenceLocker module -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Replace('\','/').Contains('/EvidenceLocker/'))">
<StellaOpsServiceName>EvidenceLocker</StellaOpsServiceName>
<StellaOpsServiceVersion>$(StellaOpsEvidenceLockerVersion)</StellaOpsServiceVersion>
</PropertyGroup>
<!-- =========================================================================
VERSION PROPAGATION
=========================================================================
Apply detected service version to assembly metadata.
Only applies if StellaOpsServiceVersion was set above.
========================================================================= -->
<PropertyGroup Condition="'$(StellaOpsServiceVersion)' != ''">
<Version>$(StellaOpsServiceVersion)</Version>
<AssemblyVersion>$(StellaOpsServiceVersion).0</AssemblyVersion>
<FileVersion>$(StellaOpsServiceVersion).0</FileVersion>
<InformationalVersion>$(StellaOpsServiceVersion)</InformationalVersion>
</PropertyGroup>
</Project>