Versionado de nuestros proyectos
Previous topic  First topic  Next topic


QPM mantiene un contador con la Version, el Release y el Build de nuestro proyecto en forma automática. El mismo se puede apreciar en la pestaña Sources.

Con cada compilación exitosa (Warning incluido), se incrementa automaticamente el contador del Build.

Cuando el Build llega a 10000 se incrementa en 1 el Release y se setea en 0000 el Build.
Cuando el Release llega a 100 se incrementa en 1 la Versión y se setea en 00 el Release y en 0000 el Build.
Cuando la Versión llega a 100 se setean en 0 todos los contadores.

Estos valores tambien pueden ser seteados en forma manual mediante el botón Set que se encuentra a la izquierda de los contadores.

Cuando QPM compila nuestra aplicacion le traspasa automaticamente un string con la version de nuestro Proyecto.

Dicho string esta contenido en la constante __PRJ_VERSION__ y se puede acceder como cualquier otra constante al igual que el __DATE__ y __TIME__ de compilacion.

El formato del string es:

"
VVRRBBBB"

donde:


  • VV es la versión
  • RR es el release
  • BBBB es el build
  • .

    Por ejemplo: si __PRJ_VERSION__ contiene "03090011" significa:

    Version "03"
    Release "09"
    Build "0011"

    Ejemplo de uso:


    #include "minigui.ch"

    Function main()
    msginfo( "Proyect Version: " + __PRJ_VERSION__ )
    Return .T.


    Esta constante podría ser diferente en cada source compilado ya que QPM realiza compilación incremental, o sea que no compila todos los fuentes al mismo tiempo salvo que se fuerce una compilación full del proyecto. Una buena idea para unificar este dato sería crear una funcion de usuario que resida en un módulo con FORCERECOMP (ver: ¿Como forzar automaticamente la recompilacion de modulos? para mas informacion), de modo que desde cualquier lugar de nuestro programa se invoque dicha funcion que retornará la version de Proyecto de la ultima compilación.

    Por Ejemplo: Definir la siguiente funcion en un source con FORCERECOMP y que solo tenga dicha funcion para acelerar su compilacion


    Function PRJ_Version()
    Return __PRJ_VERSION__


    A partir de ese momento podriamos usar la siguiente sintaxis desde cualquier lugar de nuestra aplicación y siempre devolverá la version de la ultima compilación, ya que por tener forzada la recompilación, este módulo siempre es recompilado:

    msginfo( "Proyect Version: " + Prj_Version() )


    QPM (QAC Based Project Manager) Version 05.05.0016

    Compilación Incremental con las tres versiones de librerías mas populares de la familia MiniGui: HMG, HMG Extended y OOHG.

    Lista de usuarios    Donar vía PayPal    Sitio del proyecto


    Powered by QPM  

    Previous topic  First topic  Next topic