Changeset f1bb743 in tol
- Timestamp:
- Mar 1, 2012, 7:01:32 PM (15 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- f5f284a
- Parents:
- 6e04f71
- File:
-
- 1 edited
-
tol/stdlib/general/TolPackage/client.tol (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tol/stdlib/general/TolPackage/client.tol
r6e04f71 rf1bb743 122 122 123 123 ////////////////////////////////////////////////////////////////////////////// 124 Text _.autodoc.member.PackagePrefix = 125 "Devuelve un prefijo de paquete para poder hacwer comparaciones con " 126 "TextBeginWith."; 127 Text 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 ////////////////////////////////////////////////////////////////////////////// 124 149 Text _.autodoc.member.LocalLastCompatible = 125 150 "Devuelve la última versión de un paquete disponible localmente que es " 126 151 "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); 152 Text LocalLastCompatible(Text package) 153 ////////////////////////////////////////////////////////////////////////////// 154 { 155 Text pkgPrefix = PackagePrefix(package); 144 156 Set pkgLst = GetDir(TolPackage::Client::_.localRoot)[2]; 145 157 Set pkgSel = Select(pkgLst,Real(Text pkgNamVer) 146 158 { 147 159 Real _trace("LocalLastCompatible", "checking version ="<<pkgNamVer, 5); 148 Real ok1 = TextBeginWith(pkgNamVer, p ackage);160 Real ok1 = TextBeginWith(pkgNamVer, pkgPrefix); 149 161 If(!ok1, False, 150 162 { … … 250 262 { 251 263 Real _trace("LocalClean", "Begin", 1); 264 Text pkgPrefix = PackagePrefix(package); 265 252 266 Real ok = If(TextFind(package,"."), 253 267 { … … 258 272 Set sel = Select(dir,Real(Text sub) 259 273 { 260 TextBeginWith(sub,p ackage)274 TextBeginWith(sub,pkgPrefix) 261 275 }); 262 276 SetMin(EvalSet(sel,Real(Text pkg) … … 847 861 //////////////////////////////////////////////////////////////////////////////// 848 862 Text _.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."; 865 Text GetCompatibleVersion.one(Text package) 851 866 //////////////////////////////////////////////////////////////////////////////// 852 867 { 853 868 Real _trace("GetCompatibleVersion.one", "Begin", 1); 869 Text pkgPrefix = PackagePrefix(package); 854 870 Real If(!Card(_.versSyncInfo), 855 871 TolPackage::Client::RemoteUpdateVersSyncInfo(True)); … … 858 874 Real(TolPackage::@VersionSynchro reg) 859 875 { 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) 863 879 }); 864 880 If(!Card(sel_compatible), 865 881 { 866 882 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"); 868 884 Real Stop; 869 885 "" … … 882 898 //////////////////////////////////////////////////////////////////////////////// 883 899 Text _.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."; 902 Set GetCompatibleVersion.all(Set package.list) 887 903 //////////////////////////////////////////////////////////////////////////////// 888 904 { 889 905 EvalSet(package.list, Text (Text pv) 890 906 { 891 GetCompatibleVersion.one( tol_version,pv)907 GetCompatibleVersion.one(pv) 892 908 }) 893 909 }; … … 975 991 Text _.autodoc.member.GetCompatibleDeepDependencies = 976 992 "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"; 995 Set GetCompatibleDeepDependencies(Set package.list) 979 996 //////////////////////////////////////////////////////////////////////////////// 980 997 { 981 998 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); 983 1000 Set dep = GetVersionInfo(GetDeepDependencies.all(package.version.list)); 984 1001 Real _trace("GetCompatibleDeepDependencies", "End", 2); … … 993 1010 " Text localRoot : Local directory where packages will be downloaded\n" 994 1011 " 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"996 1012 " Set package.list : List of packages without explicit version\n" 997 1013 "Returns true if all packages are found and downloaded."; … … 999 1015 Text localRoot, 1000 1016 Real cleanLocalRoot, 1001 Text tol_version,1002 1017 Set package.list) 1003 1018 //////////////////////////////////////////////////////////////////////////////// 1004 1019 { 1005 1020 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 1022 1029 }; 1023 1030
Note: See TracChangeset
for help on using the changeset viewer.
