Changeset 49c2acc in tol


Ignore:
Timestamp:
Jun 15, 2010, 4:03:52 PM (16 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
17c3d11
Parents:
bcb9e10
Message:

Refs #916
El archivo packages.csv se llmará ahora index.csv
El campo description puede ser demasiado largo así que se sustituye por el campo brief que debería caber en una línea.
Se crea un nuevo archivo index.tol para características generales del repositorio

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@2244 be4846ae-f051-483a-831f-b64e7d08527f

Location:
tol/stdlib/general/TolPackage
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tol/stdlib/general/TolPackage/repository.tol

    rbcb9e10 r49c2acc  
    1414  Real version.high,
    1515  Real version.low,
    16   Text description,
     16  Text brief,
    1717  Set  keys,
    1818  Set  authors,
    … …  
    3030//facilitar proceso de instalación cerrada. Para ello la URL comenzará por
    3131//file:// seguido del path local donde se ubica el repositorio.\n
    32 //Si la URL empieza por http:// https:// ftp:// o cualquier otro protocolo
     32//Si la URL empieza por http:// https:// o cualquier otro protocolo
    3333//reconocible por el sistema operativo se realizará la correspondiente
    3434//descarga remota.
    3535Text _.url;
    3636
    37 //Protocolo de acceso al repositorio file://, http://, https://, ftp://
    38 Text _.protocol ="";
     37//Nombre oficial del repositorio;
     38Text _.name = "";
     39//Tipo del repositorio : "Private" ó "Public";
     40Text _.type = "";
     41//Descripción del repositorio;
     42Text _.description = "";
     43//Protocolo de acceso al repositorio file://, http://, ...
     44Text _.protocol = "";
    3945//Resto de la URL tras el protocolo
    4046Text _.address = "";
    … …  
    4248Real _.isRemote = ?;
    4349//Archivo del estado actual de los paquetes del repositorio
    44 Set _.status = Copy(Empty);
     50Set _.index = Copy(Empty);
    4551//Resultado de la conexión al repositorio remoto
    4652Real _.connected = ?;
    … …  
    131137  {
    132138    Real numErr0 = Copy(NError);
    133     Text aux = GetFileContens("packages.csv");
     139    Set repInf = IncludeText(GetFileContens("index.tol"));
     140    Text _.name := repInf::name;
     141    Text _.type := repInf::type;
     142    Text _.description := repInf::description;
     143    Text aux = GetFileContens("index.csv");
    134144    Set line = Tokenizer(aux,"\n");
    135145    Set pckInf = For(2,Card(line), @PackageInfo(Real k)
    … …  
    142152        Real version.low = Eval(fields[3]),
    143153        Real name.version = Eval(fields[4]),
    144         Text description = fields[5],
     154        Text brief = fields[5],
    145155        Set keys =  Eval(fields[6]),
    146156        Set authors =  Eval(fields[7]),
    … …  
    152162      aux[1]
    153163    });
    154     Set _.status := Sort(pckInf,Real(@PackageInfo a, @PackageInfo b)
     164    Set _.index := Sort(pckInf,Real(@PackageInfo a, @PackageInfo b)
    155165    {
    156166      Compare(b->name.version, a->name.version)
    157167    });
    158     Real SetIndexByName(_.status);
    159     Set Append(_.allPackages,_.status, True);
     168    Real SetIndexByName(_.index);
     169    Set Append(_.allPackages,_.index, True);
    160170    Set _.allPackages := Sort(_.allPackages,Real(@PackageInfo a, @PackageInfo b)
    161171    {
    … …  
    163173    });
    164174    Real numErr1 = Copy(NError);
    165     _.connected := And(numErr1==numErr0,Card(_.status))
     175    _.connected := And(numErr1==numErr0,Card(_.index))
    166176  })
    167177};
    … …  
    173183//////////////////////////////////////////////////////////////////////////////
    174184{
    175   Real pos = FindIndexByName(_.status,package);
     185  Real pos = FindIndexByName(_.index,package);
    176186  pos > 0
    177187};
    … …  
    220230//////////////////////////////////////////////////////////////////////////////
    221231{
    222   SetMin(EvalSet(_.status, Real(@PackageInfo pi)
     232  SetMin(EvalSet(_.index, Real(@PackageInfo pi)
    223233  {
    224234    DownloadFile(pi->name.version)
    … …  
    233243//////////////////////////////////////////////////////////////////////////////
    234244{
    235   Real pos = FindIndexByName(_.status,package);
     245  Real pos = FindIndexByName(_.index,package);
    236246  If(!pos, TheBegin,
    237247  {
    238     _.status[pos]->lastDate
     248    _.index[pos]->lastDate
    239249  })
    240250};
    … …  
    261271//////////////////////////////////////////////////////////////////////////////
    262272{
    263   SetSum(EvalSet(_.status, Real(@PackageInfo pi)
     273  SetSum(EvalSet(_.index, Real(@PackageInfo pi)
    264274  {
    265275    Upgrade(pi->name.version, caducityInDays)
    … …  
    293303//////////////////////////////////////////////////////////////////////////////
    294304{
    295   Real pos = FindIndexByName(_.status,package.version),
     305  Real pos = FindIndexByName(_.index,package.version),
    296306  If(!pos, False,
    297307  {
    298     TolPackage::DoRequirements(_.status[pos]->dependencies)
     308    TolPackage::DoRequirements(_.index[pos]->dependencies)
    299309  })
    300310}
  • tol/stdlib/general/TolPackage/server.tol

    rbcb9e10 r49c2acc  
    1313paquetes, es decir, si A requiere a B directa o indirectamente B no puede
    1414requerir a A ni directa ni indirectamente.
     15 * Debe haber un comité o alguien responsable de probar todos los paquetes de
     16un repositorio antes de publicar las actualizaciones de los paquetes para
     17asegurar la compatibilidad conjunta de todos ellos.
    1518
    1619*/
    … …  
    2629
    2730//////////////////////////////////////////////////////////////////////////////
    28 Real ResetPackageInfo(Text file, NameBlock pkg)
     31Real ResetRepository(
     32  Text root,         //Local server-side installing directory
     33  Text url,          //A unique address with remote or local protocol
     34  Text name,         //A unique name
     35  Text type,         //Private, Public
     36  Text description)  //Purpose of repository
    2937//////////////////////////////////////////////////////////////////////////////
    3038{
    31   Text info =
     39  Text index.csv =
    3240  "repository;"+
    3341  "name;"+
    … …  
    3543  "version.high;"+
    3644  "version.low;"+
    37   "description;"+
     45  "brief;"+
    3846  "keys;"+
    3947  "authors;"+
    … …  
    4149  "releaseDate;"+
    4250  "dependencies;\n";
    43   Text WriteFile(file, info);
     51
     52  Text index.tol =
     53  "//////////////////////////////////////////////////////////////////////////////\n"
     54  "//FILE : index.tol                                                            \n"
     55  "//PURPOSE : internal use of Class TolPackage::@Repository                     \n"
     56  "//                                                                            \n"
     57  "//       PLEASE, DON'T TOUCH THIS FILE NOR OTHER ONE IN THIS DIRECTORY!       \n"
     58  "//                                                                            \n"
     59  "//////////////////////////////////////////////////////////////////////////////\n"
     60  "  Text name = \""+name+"\";\n"+
     61  "  Text type = \""+type+"\";\n"+
     62  "  Text description = \""+description+"\";\n"+
     63  "\n";
     64   
     65  Text WriteFile(root+"index.csv",  index.csv);
     66  Text WriteFile(root+"index.tol",  index.tol);
     67//Text WriteFile(root+"index.wiki", index.wiki);
     68//Text WriteFile(root+"index.html", index.html);
    4469  True
    4570};
    … …  
    6994//////////////////////////////////////////////////////////////////////////////
    7095Real AddPackageInfo.Version(
    71   Text statusFile,
     96  Text root,
    7297  NameBlock pkg,
    7398  Real specificVersion)
    … …  
    77102  Text name.version = GetNameVersion(pkg);
    78103  Set dependencies = GetDeepDependencies(name);
    79   Text info =
     104  Text index.csv =
    80105    pkg:: _.autodoc.url + ";"
    81106  <<name + ";"
    … …  
    83108  <<If(!specificVersion,?,pkg::_.autodoc.version.high) + ";"
    84109  <<If(!specificVersion,?,pkg::_.autodoc.version.low) + ";"
    85   <<pkg::ScapeField(_.autodoc.description) + ";"
     110  <<pkg::ScapeField(_.autodoc.brief) + ";"
    86111  <<pkg::ScapeField(_.autodoc.keys) + ";"
    87112  <<pkg::ScapeField(_.autodoc.authors) + ";"
    … …  
    89114  <<Now + ";"
    90115  <<dependencies+ "\n";
    91   Text AppendFile(statusFile, info);
     116  Text AppendFile(root+"index.csv",  index.csv);
     117  //Text AppendFile(root+"index.wiki", index.wiki);
     118  //Text AppendFile(root+"index.html", index.html);
    92119  True
    93120};
    94121
     122
     123
    95124//////////////////////////////////////////////////////////////////////////////
    96 Real AddPackageInfo(Text statusFile, NameBlock pkg)
     125Real AddPackage(Text root, NameBlock pkg)
    97126//////////////////////////////////////////////////////////////////////////////
    98127{
    99   Real AddPackageInfo.Version(statusFile,pkg,True);
    100   Real AddPackageInfo.Version(statusFile,pkg,False)
     128  Real AddPackageInfo.Version(root,pkg,True);
     129  Real AddPackageInfo.Version(root,pkg,False)
    101130};
    102131
Note: See TracChangeset for help on using the changeset viewer.