close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 25 and Version 26 of TolPackageRulesAndComments


Ignore:
Timestamp:
Oct 18, 2010, 5:50:07 PM (14 years ago)
Author:
Víctor de Buen Remiro
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TolPackageRulesAndComments

    v25 v26  
    33= !TolPackage: Un sistema de desarrollo modular en red  =
    44
    5 == Objetivos ==
     5== Introducción ==
    66
    77El objetivo principal de este sistema es que los usuarios finales que no
    88colaboran en el desarrollo de las librerías de uso más o menos genérico,
    99no tengan que preocuparse de dónde se encuentra el código fuente de las
    10 mismas ni tenga que tener instalados programas para compartir código como
     10mismas, ni tenga tampoco que tener instalados programas para compartir código como
    1111CSV o SVN. El usuario sólo necesita saber una URL remota o un camino local
    1212donde se encuentran los paquetes y el nombre de los que necesita. El
     
    1616El otro gran objetivo es fomentar la creación de utilidades concretas que
    1717se puedan cargar atómicamente sin necesidad de compilar cantidades ingentes
    18 de código del cual luego se usa sólo una pequeña parte la mayor parte de
     18de código, del cual luego se usa sólo una pequeña parte la mayoría de
    1919las veces. El usuario no necesita saber qué paquetes dependen de cuáles
    2020sino que son ellos mismos quienes se autogestionan.
     
    3333de los problemas que pueden resolver.
    3434
     35=== El gestor de paquetes ===
     36
     37El gestor de paquetes TOL es el {{{NameBlock TolPakage}}} disponible en
     38la {{{StdLib}}}
     39
     40Los paquetes disponibles en repositorios remotos o locales se instalan,
     41actualizan y manejarlos mediante las utilidades de
     42{{{TolPackage::Client}}}
     43
     44Las utilidades para la creación de repositorios se encuentran en
     45{{{TolPackage::Server}}}
     46
    3547== Uso básico de paquetes ==
    3648
     
    3951  #Require nombre_de_paquete;
    4052}}}
    41 y que se lee directamente de un archivo OIS almacenado previamente en un
    42 directorio local predeterminado por el sistema al que llamaremos almacén
    43 del cliente y que es común para todas las instalaciones de TOL que haya
    44 en una misma máquina y ubicado en {{{Text TolPackage::Client::_.localRoot}}}.
     53que se lee directamente de un archivo OIS almacenado previamente en un
     54directorio local predeterminado por el sistema. Llamaremos almacén
     55del cliente a ese directorio común para todas las instalaciones de TOL
     56que haya en una misma máquina, que estará ubicado en
     57{{{
     58#!cpp
     59  Text TolPackage::Client::_.localRoot
     60}}}
    4561
    4662La orden de requerimiento {{{#Require}}} es muy diferente a las órdenes
     
    4965
    5066 * No hay que dar el camino del archivo TOL sino el nombre del paquete
    51  * No hay que poner el nombre entre comillas
    52  * El NameBlock cargado es siempre global se llame desde donde se llame
     67 * No hay que poner el nombre entre comillas.
     68 * El NameBlock cargado es siempre global, se llame desde donde se llame.
    5369 * No es posible deshacer un requerimiento: el paquete permanecerá
    54    disponible durante toda la sesión
    55 
    56 Un repositorio es un sitio web o un directorio local al que llamaremos
    57 también almacén servidor, donde se encuentra disponible una colección de
    58 paquetes ya preparados para que los usuarios puedan descargarlos a su
    59 almacén de cliente. Los paquetes se encuentran comprimidos en el
    60 repositorio remoto mientras que en el almacén del cliente se encuentran
    61 los directorios descomprimidos para no perder tiempo en descomprimirlos
     70   disponible durante toda la sesión.
     71 * Un paquete consta exclusivamente de código declarativo, para poder
     72   residir en un .oza. La primera vez que se carga en una sesión se
     73   ejecutarán las sentencias no declarativas programadas en el método
     74   especial {{{StartActions}}}
     75
     76Un repositorio es un sitio web al que llamaremos también almacén del
     77servidor, donde se encuentra disponible una colección de paquetes ya
     78preparados para que los usuarios puedan descargarlos a su almacén de
     79cliente. Los paquetes se encuentran comprimidos en el repositorio
     80remoto mientras que en el almacén del cliente se encuentran los
     81directorios descomprimidos para no perder tiempo en descomprimirlos
    6282cada vez.
    6383
    64 === El gestor de paquetes ===
    65 
    66 El gestor de paquetes TOL es el {{{NameBlock TolPakage}}}
    67 
    68 Los paquetes disponibles en repositorios remotos o locales se instalan,
    69 actualizan y manejarlos mediante las utilidades de
    70 {{{StdLib::TolPackage::Client}}}
    71 
    72 Las utilidades para la creación de repositorios se encuentran en
    73 {{{StdLib::TolPackage::Server}}}
    7484
    7585=== Uso on-line de paquetes ===
     
    8393}}}
    8494
    85 Por defecto, esta lista sólo contiene el [wiki:OfficialTolArchiveNetwork
    86 repositorio oficial de bayes] pero es posible añadir otros mediante
     95Por defecto, esta lista sólo contiene el
     96[wiki:OfficialTolArchiveNetwork repositorio oficial de bayes] pero es
     97posible añadir otros mediante
    8798{{{
    8899  Real TolPackage::Client::AddRepository(Text url)
     
    133144  Set  _.autodoc.dependencies = [["paquete1","paquete2", ...]];
    134145   }}}
     146 * Si el el paquete se está desarrollando en un entorno de edición compartida
     147   tipo CVS ó SVN es muy conveniente incluir la información acerca del estado
     148   actual en el miembro opcional {{{Text _.autodoc.versionControl}}}.
     149   Para el caso de SVN quedaría así
     150   {{{
     151#!cpp
     152  Text _.autodoc.versionControl = AvoidErr.NonDecAct(OSSvnInfo("."));
     153   }}}
     154   Falta hacer la función {{{OSSvnInfo}}} equivalente para el sistema CVS.
     155   Se trata de un campo opcional pero altamente recomendado.
    135156 * Cuando un paquete requiera para su ejecución de recursos ajenos a TOL será
    136157   necesario añadir un nuevo miembro que será un conjunto de textos con los