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:
1 parent
d7676dee41
commit
18e01c2774
3 files changed
+14
-4
No files matched your search
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in new issue
Block a user