Changeset f1bb743 in tol


Ignore:
Timestamp:
Mar 1, 2012, 7:01:32 PM (15 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
f5f284a
Parents:
6e04f71
Message:

Refs #1191
Removing tol_version from DownloadCompatibleDeepDependencies and all related functions.
You need use the same version of TOL that destination machine.
New method PackagePrefix to allow TextBeginWith comparissons

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

File:
1 edited

Legend:

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

    r6e04f71 rf1bb743  
    122122
    123123//////////////////////////////////////////////////////////////////////////////
     124Text _.autodoc.member.PackagePrefix =
     125"Devuelve un prefijo de paquete para poder hacwer comparaciones con "
     126"TextBeginWith.";
     127Text PackagePrefix(Text package)
     128//////////////////////////////////////////////////////////////////////////////
     129{
     130  Real _trace("RefersPackage", "Begin", 1);
     131  Set tok = Tokenizer(package,".");
     132  Real tokCard = Card(tok);
     133  Real endAtPoint = TextEndAt(package,".");
     134  Text pkgPrefix = Case(
     135    tokCard==1,package+".",
     136    tokCard==4,tok[1]+"."+tok[2]+"."+tok[3],
     137    endAtPoint,package,
     138    1==1,      package+".");
     139  Real _trace("RefersPackage", "package='"<<package+"'", 5);
     140  Real _trace("RefersPackage", "tok={"<<tok+"}", 5);
     141  Real _trace("RefersPackage", "tokCard="<<tokCard, 5);
     142  Real _trace("RefersPackage", "endAtPoint="<<endAtPoint, 5);
     143  Real _trace("RefersPackage", "pkgPrefix='"<<pkgPrefix+"'", 1);
     144  Real _trace("RefersPackage", "End", 1);
     145  pkgPrefix
     146};
     147
     148//////////////////////////////////////////////////////////////////////////////
    124149Text _.autodoc.member.LocalLastCompatible =
    125150"Devuelve la última versión de un paquete disponible localmente que es "
    126151"compatible con la versión actual de TOL.";
    127 Text LocalLastCompatible(Text package_)
    128 //////////////////////////////////////////////////////////////////////////////
    129 {
    130   Set tok  = Tokenizer(package_,".");
    131   Real tokCard = Card(tok);
    132   Real endAtPoint = TextEndAt(package_,".");
    133   Text package = Case(
    134     tokCard==1,package_+".",
    135     tokCard==4,tok[1]+"."+tok[2]+"."+tok[3],
    136     endAtPoint,package_,
    137     1==1,      package_+".");
    138   Real _trace("LocalLastCompatible", "Begin", 1);
    139   Real _trace("LocalLastCompatible", "package_='"<<package_+"'", 5);
    140   Real _trace("LocalLastCompatible", "tok={"<<tok+"}", 5);
    141   Real _trace("LocalLastCompatible", "tokCard="<<tokCard, 5);
    142   Real _trace("LocalLastCompatible", "endAtPoint="<<endAtPoint, 5);
    143   Real _trace("LocalLastCompatible", "package='"<<package+"'", 1);
     152Text LocalLastCompatible(Text package)
     153//////////////////////////////////////////////////////////////////////////////
     154{
     155  Text pkgPrefix = PackagePrefix(package);
    144156  Set pkgLst = GetDir(TolPackage::Client::_.localRoot)[2];
    145157  Set pkgSel = Select(pkgLst,Real(Text pkgNamVer)
    146158  {
    147159    Real _trace("LocalLastCompatible", "checking version ="<<pkgNamVer, 5);
    148     Real ok1 = TextBeginWith(pkgNamVer, package);
     160    Real ok1 = TextBeginWith(pkgNamVer, pkgPrefix);
    149161    If(!ok1, False,
    150162    {
    … …  
    250262{
    251263  Real _trace("LocalClean", "Begin", 1);
     264  Text pkgPrefix = PackagePrefix(package);
     265
    252266  Real ok = If(TextFind(package,"."),
    253267  {
    … …  
    258272    Set sel = Select(dir,Real(Text sub)
    259273    {
    260       TextBeginWith(sub,package)
     274      TextBeginWith(sub,pkgPrefix)
    261275    });
    262276    SetMin(EvalSet(sel,Real(Text pkg)
    … …  
    847861////////////////////////////////////////////////////////////////////////////////
    848862Text _.autodoc.member.GetCompatibleVersion.one =
    849 "Gets the latest version of a package that is compatible with a tol version.";
    850 Text GetCompatibleVersion.one(Text tol_version, Text package)
     863"Gets the latest version of a package that is compatible with current "
     864"tol version.";
     865Text GetCompatibleVersion.one(Text package)
    851866////////////////////////////////////////////////////////////////////////////////
    852867{
    853868  Real _trace("GetCompatibleVersion.one", "Begin", 1);
     869  Text pkgPrefix = PackagePrefix(package);
    854870  Real If(!Card(_.versSyncInfo),
    855871   TolPackage::Client::RemoteUpdateVersSyncInfo(True));
    … …  
    858874  Real(TolPackage::@VersionSynchro reg)
    859875  {
    860     And(TextBeginWith(reg->co_name_version,package),
    861         tol_version>=reg->te_min_tol_version,
    862         tol_version<=reg->te_max_tol_version)
     876    And(TextBeginWith(reg->co_name_version, pkgPrefix),
     877        TolPackage::_.currentTolVersion>=reg->te_min_tol_version,
     878        TolPackage::_.currentTolVersion<=reg->te_max_tol_version)
    863879  });
    864880  If(!Card(sel_compatible),
    865881  {
    866882    WriteLn("[GetCompatibleVersion.one] Cannot find a version of package "<<
    867     package+" compatible with TOL "+tol_version,"E");
     883    package+" compatible with TOL "+TolPackage::_.currentTolVersion,"E");
    868884    Real Stop;
    869885    ""
    … …  
    882898////////////////////////////////////////////////////////////////////////////////
    883899Text _.autodoc.member.GetCompatibleVersion.all =
    884 "Gets the latest versions of a set of packages that are compatible with a tol "
    885 "version.";
    886 Set GetCompatibleVersion.all(Text tol_version, Set package.list)
     900"Gets the latest versions of a set of packages that are compatible with "
     901"current tol version.";
     902Set GetCompatibleVersion.all(Set package.list)
    887903////////////////////////////////////////////////////////////////////////////////
    888904{
    889905  EvalSet(package.list, Text (Text pv)
    890906  {
    891     GetCompatibleVersion.one(tol_version, pv)
     907    GetCompatibleVersion.one(pv)
    892908  })
    893909};
    … …  
    975991Text _.autodoc.member.GetCompatibleDeepDependencies =
    976992"Gets the TolPackage::@VersionSynchro related to all deep dependencies of a "
    977 "list of packages for the last version that is compatible with a tol version";
    978 Set GetCompatibleDeepDependencies(Text tol_version, Set package.list)
     993"list of packages for the last version that is compatible with current tol "
     994"version";
     995Set GetCompatibleDeepDependencies(Set package.list)
    979996////////////////////////////////////////////////////////////////////////////////
    980997{
    981998  Real _trace("GetCompatibleDeepDependencies", "Begin", 1);
    982   Set package.version.list = GetCompatibleVersion.all(tol_version, package.list);
     999  Set package.version.list = GetCompatibleVersion.all(package.list);
    9831000  Set dep = GetVersionInfo(GetDeepDependencies.all(package.version.list));
    9841001  Real _trace("GetCompatibleDeepDependencies", "End", 2);
    … …  
    9931010"  Text localRoot      : Local directory where packages will be downloaded\n"
    9941011"  Real cleanLocalRoot : If true, local directory will be cleaned before to download\n"
    995 "  Text tol_version    : Version of TOL comaptible with all packages\n"
    9961012"  Set package.list    : List of packages without explicit version\n"
    9971013"Returns true if all packages are found and downloaded.";
    … …  
    9991015  Text localRoot,
    10001016  Real cleanLocalRoot,   
    1001   Text tol_version, 
    10021017  Set package.list)
    10031018////////////////////////////////////////////////////////////////////////////////
    10041019{
    10051020  Real _trace("DownloadCompatibleDeepDependencies", "Begin", 1);
    1006   If(Compare.VersionString(tol_version,TolPackage::_.currentTolVersion)>0,
    1007   {
    1008     WriteLn("[DownloadCompatibleDeepDependencies] Cannot download packages for "
    1009     "TOL "+tol_version+" using TOL "+TolPackage::_.currentTolVersion,"E");
    1010     False
    1011   },
    1012   {
    1013     Real If(cleanLocalRoot, OSDirRemove(localRoot));
    1014     Set dep = GetCompatibleDeepDependencies(tol_version, package.list);
    1015     Real ok = SetMin(EvalSet(dep, Real(TolPackage::@VersionSynchro vsi)
    1016     {
    1017       DownloadPackage(vsi->te_url,vsi->co_name_version,True,localRoot)
    1018     }));
    1019     Real _trace("DownloadCompatibleDeepDependencies", "End", 1);
    1020     ok
    1021   })
     1021  Real If(cleanLocalRoot, OSDirRemove(localRoot));
     1022  Set dep = GetCompatibleDeepDependencies(package.list);
     1023  Real ok = SetMin(EvalSet(dep, Real(TolPackage::@VersionSynchro vsi)
     1024  {
     1025    DownloadPackage(vsi->te_url,vsi->co_name_version,True,localRoot)
     1026  }));
     1027  Real _trace("DownloadCompatibleDeepDependencies", "End", 1);
     1028  ok
    10221029};
    10231030
Note: See TracChangeset for help on using the changeset viewer.