Documentar semver (regla en CLAUDE.md y README), publicar.ps1 con 3 numeros y nuevo remoto

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-20 14:45:14 -05:00
1 parent d7676dee41
commit 18e01c2774
3 files changed
+14 -4

No files matched your search

+8 -2
View File
@@ -13,9 +13,15 @@ comprimido (versión antigua)**.
- **Versión actual: 2.1.15.0** (rama `limpieza-2.1.8.0`; `main` = 2.1.7.0) (`Net.Business.Services.csproj`: `Version`,
`AssemblyVersion`, `FileVersion`). Cada versión tiene su commit; al publicar
se sube la versión (ver `publicar.ps1`).
- **Semver** (desde la 2.1.15): `MAJOR.MINOR.PATCH`; el cuarto número del `csproj` (.NET lo pide) va siempre en `0`.
`MAJOR` = cambia el contrato de la API y el WMS debe adaptarse (campo obligatorio nuevo, ruta distinta);
`MINOR` = funcionalidad nueva compatible (endpoint o campo opcional nuevo, aviso en `Message`);
`PATCH` = corrección o limpieza sin cambio de contrato. Etiquetas de git nuevas sin el cuarto número (`v2.1.15`;
las anteriores, como `v2.1.7.0`, no se tocan). Una versión de prueba para QA puede ir en `Version` como
`2.2.0-rc.1`, pero `AssemblyVersion`/`FileVersion` solo aceptan dígitos (`2.2.0.0`).
- **Git**: rama `main`, remoto `origin` =
`http://100.68.242.27:30000/george/itca_api_sap_wms.git` (HTTP sin cifrar,
red interna; confirmar que el repositorio sea **privado**). Etiqueta
`https://unasgeorge.vaquita-hadar.ts.net/george/itca_api_sap_wms.git` (cambiado desde
`http://100.68.242.27:30000/...`; confirmar que el repositorio sea **privado**). Etiqueta
`v2.1.7.0` = último estado antes de la limpieza de código.
- `appsettings.json` y `appsettings.*.json` están en `.gitignore` (solo se
versiona `appsettings.example.json`); las credenciales no están en el
+4 -2
View File
@@ -76,8 +76,10 @@ dotnet publish Net.Business.Services/Net.Business.Services.csproj -c Release -r
## Versión y script de publish
- La versión sale de `<Version>`/`<AssemblyVersion>`/`<FileVersion>` en
`Net.Business.Services/Net.Business.Services.csproj` (actual: **2.1.10.0** en la rama de limpieza; `main` = 2.1.7.0);
súbela en cada publish.
`Net.Business.Services/Net.Business.Services.csproj` (actual: **2.1.15.0** en la rama de limpieza; `main` = 2.1.7.0);
súbela en cada publish. Se usa **semver** (`MAJOR.MINOR.PATCH`, cuarto número del
`csproj` siempre `0`): `MAJOR` cambia el contrato de la API, `MINOR` agrega funcionalidad
compatible, `PATCH` corrige o limpia sin cambio de contrato (detalle en `CLAUDE.md`).
- `publicar.ps1` (solo Windows) genera `dist\ITCA_API_SAP_WMS_v<versión>.zip` sin
`appsettings.json`. Desde macOS se hace el mismo `dotnet publish` a mano con
`-p:HanaDll=...`, se borran `appsettings.json`/`appsettings.Development.json` de
+2
View File
@@ -8,6 +8,8 @@ Set-Location $PSScriptRoot
$csproj = 'Net.Business.Services\Net.Business.Services.csproj'
$version = ([xml](Get-Content $csproj)).Project.PropertyGroup.AssemblyVersion | Where-Object { $_ } | Select-Object -First 1
if (-not $version) { throw "No se encontró AssemblyVersion en $csproj" }
# Semver: el nombre lleva 3 numeros (2.1.15.0 -> 2.1.15); el cuarto del csproj siempre es 0
$version = ($version -replace '\.0$', '')
$out = "dist\ITCA_API_SAP_WMS_v$version"
$zip = "dist\ITCA_API_SAP_WMS_v$version.zip"