chore: versionar app para android
This commit is contained in:
2
openspec/changes/standardize-app-version/.openspec.yaml
Normal file
2
openspec/changes/standardize-app-version/.openspec.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
schema: spec-driven
|
||||
created: 2026-10-25
|
||||
23
openspec/changes/standardize-app-version/design.md
Normal file
23
openspec/changes/standardize-app-version/design.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Design
|
||||
|
||||
## Context
|
||||
|
||||
La APK usa `versionCode 1` y `versionName 1.0`, mientras npm y exportaciones usan `0.0.1`. Android requiere `versionCode` creciente para actualizar una instalación existente.
|
||||
|
||||
## Goals / Non-Goals
|
||||
|
||||
**Goals:** mantener una versión legible y un código Android monotónico, conservando `com.ilusion.toldoconjunto`.
|
||||
|
||||
**Non-Goals:** cambiar la firma de la APK, el package id o el esquema de datos.
|
||||
|
||||
## Decisions
|
||||
|
||||
- Usar `apps/toldo-app/version.properties` como fuente compartida simple (`versionName`, `versionCode`).
|
||||
- Gradle leerá directamente ese archivo.
|
||||
- npm y el servicio de exportación reflejarán la misma versión durante esta POC.
|
||||
- Incrementar `versionCode` sólo cuando se publique una nueva APK.
|
||||
|
||||
## Risks / Trade-offs
|
||||
|
||||
- Los valores JSON/package no son consumidos automáticamente por Gradle -> una prueba comprobará que coinciden con `version.properties`.
|
||||
- Instalar una APK firmada con otra clave seguirá requiriendo desinstalación -> se mantiene la clave de debug para builds debug y se documenta la necesidad de conservar la clave release.
|
||||
28
openspec/changes/standardize-app-version/proposal.md
Normal file
28
openspec/changes/standardize-app-version/proposal.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Proposal
|
||||
|
||||
## Why
|
||||
|
||||
La aplicación usa versiones distintas o hardcodeadas entre npm, Android y las exportaciones. Esto dificulta instalar actualizaciones sobre una APK existente y mantener trazabilidad de los respaldos.
|
||||
|
||||
## What Changes
|
||||
|
||||
- Definir `versionName` y `versionCode` en un archivo versionado compartido.
|
||||
- Usar esos valores en Gradle, npm y exportaciones JSON.
|
||||
- Publicar la siguiente versión como `0.0.2` con `versionCode 2`.
|
||||
- Validar el `applicationId` y la versión en el APK generado.
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
|
||||
- `app-versioning`: versionado consistente para web, exportaciones y Android.
|
||||
|
||||
### Modified Capabilities
|
||||
|
||||
- Ninguna.
|
||||
|
||||
## Impact
|
||||
|
||||
- `apps/toldo-app`: configuración npm y Android.
|
||||
- `packages/services`: metadato de exportación.
|
||||
- Build APK y pruebas de versionado.
|
||||
@@ -0,0 +1,22 @@
|
||||
# Spec Delta
|
||||
|
||||
## Purpose
|
||||
|
||||
Asegura que cada actualización de ToldoConjunto pueda identificarse y actualizar una instalación Android existente sin conflictos causados por códigos de versión repetidos o decrecientes.
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Versionado consistente
|
||||
The system SHALL expose the same semantic version in npm metadata, exported data, and Android versionName.
|
||||
|
||||
#### Scenario: Version 0.0.2
|
||||
- **WHEN** the app is built
|
||||
- **THEN** npm and exported data report `0.0.2`
|
||||
- **AND** Android reports versionName `0.0.2` and versionCode `2`
|
||||
|
||||
### Requirement: Identidad Android estable
|
||||
The system SHALL preserve the application id `com.ilusion.toldoconjunto` across releases.
|
||||
|
||||
#### Scenario: Actualización instalada
|
||||
- **WHEN** a newer APK is installed with the same signing key
|
||||
- **THEN** Android recognizes it as an update to the existing application
|
||||
12
openspec/changes/standardize-app-version/tasks.md
Normal file
12
openspec/changes/standardize-app-version/tasks.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Tasks
|
||||
|
||||
## 1. Versionado
|
||||
|
||||
- [x] 1.1 Crear la fuente compartida con `versionName=0.0.2` y `versionCode=2`, y actualizar npm/exportaciones
|
||||
- [x] 1.2 Configurar Gradle para leer la fuente compartida y conservar el applicationId
|
||||
- [x] 1.3 Añadir test que compruebe versionado y compatibilidad de exportación
|
||||
|
||||
## 2. Verificación
|
||||
|
||||
- [x] 2.1 Ejecutar tests y build web
|
||||
- [x] 2.2 Generar APK debug y verificar package id, versionName y versionCode
|
||||
Reference in New Issue
Block a user