RSS
 

Eigene Build-Version für ActionScript unter FlashDevelop

30 Dec

Nach einer gefühlten Ewigkeit der Suche habe ich nun endlich eine *.bat-Datei schreiben können, die mir bei jedem Compilierungsvorgang in FlashDevelop eine neue Versionsnummer in eine ActionScript-Datei schreibt. Diese kann dann problemlos im restlichen ActionScript-Projekt wie gewohnt verwendet werden, so dass ich nun in jedem compilierten SWF automatisch eine neue Versionsnummer habe.

Der Code der updateVersion.bat ist folgender:

REM Writes the date and time as current version into src/org/buehling/Version.as
 
@echo off
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDATE=%%c_%%b_%%a
REM @echo %cdate%
FOR /F "tokens=1,2,3,4,5 delims=/: " %%a in ('time/T') do set CTIME=%%b_%%a
REM @echo %ctime%
 
SET VERSIONFILE=src\org\buehling\Version.as
SET VERSION=%CDATE%_%CTIME%
 
del "%VERSIONFILE%"
 
echo package org.buehling >> %VERSIONFILE%
echo { >> %VERSIONFILE%
echo //CAUTION: >> %VERSIONFILE%
echo //THIS FILE IS CREATED AUTOMATICALLY BY updateVersion.bat AT EACH COMPILATION! >> %VERSIONFILE%
echo //Any changes will be overridden and lost! >> %VERSIONFILE%
echo public class Version { >> %VERSIONFILE%
echo public static const VERSION:String = "%VERSION%"; >> %VERSIONFILE%
echo } >> %VERSIONFILE%
echo } >> %VERSIONFILE%

Die Datei liegt im Wurzelordner des FlashDevelop-Projekts und wurde mit der Zeile $(ProjectDir)\updateVersion.bat in die “Pre-Build Command Line” Tools der Projekteigenschaften aufgenommen. Vor jedem Compilieren ruft FD die Datei auf, die wiederum die Datei src/org/buehling/Version.as neu anlegt und darin das aktuelle Datum der Form YYYY_MM_DD_hh_mm in eine String-Variable schreibt.
Listing der Version.as:

package org.buehling
{
   //CAUTION:
   //THIS FILE IS CREATED AUTOMATICALLY BY updateVersion.bat AT EACH COMPILATION!
   //Any changes will be overridden and lost!
   public class Version {
      public static const VERSION:String = "2009_12_30_25_23";
   }
}

In anderen Projektteilen, binde ich den Wert dann ganz normal ein, z.B. in ein Flex-Label: <mx:Label text="{Version.VERSION}" />

Update: In diesem Post schreibe ich über die Erzeugung einer Build-Version-Nummer auf Basis eines echten Zählers mittels hta.

 
1 Comment

Posted in Flash, Flex

 

Leave a Reply

 

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

 
  1. marco

    March 28, 2010 at 9:48 am

    Gute Idee, das. Danke :)