fix: Correction format version YY.MM.DDNN (3 parties au lieu de 4)

- VERSION file stocke maintenant: 26.01.2604 (3 parties)
- Au lieu de: 26.01.26.04 (4 parties - invalide pour semver)
- Regex ajustée pour parser le nouveau format: ^YY.MM.DDNN$
- Détection changement de date compare YY, MM, DD séparément
- Build number reste YYMMDDNN (26012604)
- Commentaires mis à jour pour refléter format YY.MM.DDNN

Résout: "Could not parse 26.01.26.04+26012604"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-01-26 12:35:09 +01:00
parent eef1fc8d32
commit 7345cf805e

View File

@@ -164,10 +164,10 @@ if [ "$SOURCE_TYPE" = "local_build" ]; then
fi
source .env-deploy-dev
# Système automatique de versioning YY.MM.DD.NN
echo_info "Managing version (automatic YY.MM.DD.NN)..."
# Système automatique de versioning YY.MM.DDNN
echo_info "Managing version (automatic YY.MM.DDNN)..."
# Date du jour au format YY.MM.DD
# Date du jour
TODAY=$(date +%y.%m.%d)
TODAY_YY=$(date +%y)
TODAY_MM=$(date +%m)
@@ -177,15 +177,17 @@ if [ "$SOURCE_TYPE" = "local_build" ]; then
CURRENT_VERSION=$(cat ../VERSION | tr -d '\n\r' | tr -d ' ')
echo_info "Current version: $CURRENT_VERSION"
# Extraire la partie date et le build number
if [[ $CURRENT_VERSION =~ ^([0-9]{2}\.[0-9]{2}\.[0-9]{2})\.([0-9]{2})$ ]]; then
VERSION_DATE="${BASH_REMATCH[1]}"
BUILD_NUM="${BASH_REMATCH[2]}"
# Extraire la partie date et le build number (format: YY.MM.DDNN)
if [[ $CURRENT_VERSION =~ ^([0-9]{2})\.([0-9]{2})\.([0-9]{2})([0-9]{2})$ ]]; then
PREV_YY="${BASH_REMATCH[1]}"
PREV_MM="${BASH_REMATCH[2]}"
PREV_DD="${BASH_REMATCH[3]}"
BUILD_NUM="${BASH_REMATCH[4]}"
# Si la date a changé, reset à .01
if [ "$VERSION_DATE" != "$TODAY" ]; then
# Si la date a changé, reset à 01
if [ "$PREV_YY" != "$TODAY_YY" ] || [ "$PREV_MM" != "$TODAY_MM" ] || [ "$PREV_DD" != "$TODAY_DD" ]; then
NEW_BUILD="01"
echo_info "Date changed: $VERSION_DATE$TODAY, resetting build to 01"
echo_info "Date changed: $PREV_YY.$PREV_MM.$PREV_DD$TODAY_YY.$TODAY_MM.$TODAY_DD, resetting build to 01"
else
# Incrémenter le build number
NEW_BUILD=$(printf "%02d" $((10#$BUILD_NUM + 1)))
@@ -202,19 +204,16 @@ if [ "$SOURCE_TYPE" = "local_build" ]; then
echo_warning "VERSION file not found, creating new one"
fi
# Construire la version complète YY.MM.DD.NN pour le fichier VERSION
VERSION="${TODAY}.${NEW_BUILD}"
# Construire la version semver: YY.MM.DDNN (3 parties)
VERSION="${TODAY_YY}.${TODAY_MM}.${TODAY_DD}${NEW_BUILD}"
echo "$VERSION" > ../VERSION
echo_success "✅ New version: $VERSION"
# Version semver compatible: YY.MM.DDNN (3 parties)
SEMVER_VERSION="${TODAY_YY}.${TODAY_MM}.${TODAY_DD}${NEW_BUILD}"
# Build number: YYMMDDNN (tous les chiffres)
BUILD_NUMBER="${TODAY_YY}${TODAY_MM}${TODAY_DD}${NEW_BUILD}"
# Version complète pour pubspec.yaml
FULL_VERSION="${SEMVER_VERSION}+${BUILD_NUMBER}"
FULL_VERSION="${VERSION}+${BUILD_NUMBER}"
echo_info "Semver version for pubspec.yaml: $FULL_VERSION"
sed -i "s/^version: .*/version: $FULL_VERSION/" pubspec.yaml || echo_error "Failed to update pubspec.yaml"
@@ -274,13 +273,13 @@ cat > lib/core/services/app_info_service.dart <<EOF
// Provides application version and build information without external dependencies
class AppInfoService {
// Version number (format: YY.MM.DD.NN - auto-incremented on each DEV deploy)
// Version number (format: YY.MM.DDNN - auto-incremented on each DEV deploy)
static const String version = '$VERSION';
// Build number (version without dots: YYMMDDNN)
static const String buildNumber = '$BUILD_NUMBER';
// Full version string (format: vYY.MM.DD.NN+YYMMDDNN)
// Full version string (format: vYY.MM.DDNN+YYMMDDNN)
static String get fullVersion => 'v\$version+\$buildNumber';
// Application name