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 4 and Version 5 of TolPackageRulesAndComments


Ignore:
Timestamp:
Jun 17, 2010, 6:04:48 PM (15 years ago)
Author:
Víctor de Buen Remiro
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TolPackageRulesAndComments

    v4 v5  
    1 = Reglas de construcción y comentarios acerca de paquetes y repositorios =
     1= !TolPackage: Un sistema de desarrollo modular en red =
    22
    3  * Un paquete es un tipo de NameBlock especial que se carga con la orden
    4    #Require nombre_de_paquete y que se lee directamente de un archivo .oza
    5    almacenado previamente en un directorio local predeterminado por el sistema.
    6  * Los paquetes están disponibles en repositorios remotos o locales desde los
    7    cuales es posible instalarlos y manejarlos mediante las utilidades de
    8    {{{StdLib::TolPackage::Client}}}
    9  * Las correspondientes funciones de creación y mantenirmiento de los
    10    respositorios están disponibles en {{{StdLib::TolPackage::Server}}}
    11  * Los nombres de los paquetes deben seguir el estilo CamelCase
     3== Objetivos ==
     4
     5El objetivo principal de este sistema es que los usuarios finales que no
     6colaboran en el desarrollo de las librerías de uso más o menos genérico,
     7no tengan que preocuparse de dónde se encuentra el código fuente de las
     8mismas ni tenga que tener instalados programas para compartir código como
     9CSV o SVN. El usuario sólo necesita saber una URL remota o un camino local
     10donde se encuentran los paquetes y el nombre de los que necesita. El
     11sistema se ocupa de instalar todo lo necesario de forma automática si se
     12desea o manualmente si se trata de procesos críticos.
     13
     14El otro gran objetivo es fomentar la creación de utilidades concretas que
     15se puedan cargar atómicamente sin necesidad de compilar cantidades ingentes
     16de código del cual luego se usa sólo una pequeña parte la mayor parte de
     17las veces. El usuario no necesita saber qué paquetes dependen de cuáles
     18sino que son ellos mismos quienes se autogestionan.
     19
     20Por último, hay que permitir que cada paquete evolucione sin excesivas
     21ataduras de compatibilidad hacia atrás para que pueda progresar pero sin
     22dejar tirados a los usuarios que por motivos de seguridad no pueden
     23arriesgarse a actualizarse cada poco tiempo.
     24
     25== Arquitectura ==
     26
     27Un paquete es un tipo de NameBlock especial que se carga con la orden
     28{{{
     29  #Require nombre_de_paquete
     30}}}
     31y que se lee directamente de un archivo OIS almacenado previamente en un
     32directorio local predeterminado por el sistema al que llamaremos almacén
     33del cliente y que es común para todas las instalaciones de TOL que haya
     34en una misma máquina.
     35
     36Un repositorio es un sitio web o un directorio local al que llamaremos
     37también almacén servidor, donde se encuentra disponible una colección de
     38paquetes ya preparados para que los usuarios puedan descargarlos a su
     39almacén de cliente.
     40
     41Los paquetes disponibles en repositorios remotos o locales se instalan,
     42actualizan y manejarlos mediante las utilidades de
     43{{{StdLib::TolPackage::Client}}}
     44
     45Las utilidades para la creación de repositorios se encuentran en
     46{{{StdLib::TolPackage::Server}}}
     47
     48== Creación de paquetes ==
     49 
    1250 * Un paquete se crea como un NameBlock en un fichero principal del mismo
    1351   nombre con extensión .tol y dentro de un directorio raíz llamado igual. El
     
    1553   necesite con nombre libre pero ubicación paralela o en subdirectorios del
    1654   raíz.
     55 * En [source:/tolp/OfficialTolArchiveNetwork] pueden verse ejemplos de
     56   paquetes. Cada subdirectorio es un paquete.
     57 * Los nombres de los paquetes deben seguir el estilo CamelCase
    1758 * Cuando un paquete requiere de otros se debe incluir las correspondientes
    1859   sentencias #Require antes de la declaración del primer miembro.
     
    68109 * También debe tener una batería de tests estándar en un directorio test
    69110   colgando directamente de la raíz del paquete.
     111
     112== Creación de repositorios ==
     113
    70114 * El repositorio es un directorio plano con unos archivos obligatorios:
    71115  * index.tol: Contiene características generales del repositorio como el
     
    73117  * index.csv: Listado de los paquetes y su información asociada: fecha,
    74118    versión, dependencias, etc.
     119 * En el archivo [source:/tolp/OfficialTolArchiveNetwork/_upload.tol]
     120   puede verse como ejemplo el programa de creación y subida de [http://packages.tol-project.org/OfficialTolArchiveNetwork/ OfficialTolArchiveNetwork], el repositorio
     121   oficial de paquetes del equipo de desarrollo de TOL.
    75122 * Debe haber un comité o alguien responsable de probar todos los paquetes de
    76123   un repositorio antes de publicar las actualizaciones de los paquetes para