From 71292e1c92b62fbb5ee4ffc3c2ddd3c248ae4d62 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 13 Jul 2014 11:21:43 +0100 Subject: [PATCH 1/8] Remove redundant statement. --- site-tools/update-doc-list.php | 1 - 1 file changed, 1 deletion(-) diff --git a/site-tools/update-doc-list.php b/site-tools/update-doc-list.php index 9668f296..ac060d8a 100644 --- a/site-tools/update-doc-list.php +++ b/site-tools/update-doc-list.php @@ -74,7 +74,6 @@ function main() { function update_from_git($libs, $location, $branch) { echo "Updating from {$branch}\n"; - $git_command = "cd '${location}' && git"; $super_project = new BoostSuperProject($location, $branch); $modules = $super_project->get_modules(); From 89ed945ffc1d2d5c37c9813fbe9918181114ef11 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 13 Jul 2014 11:21:44 +0100 Subject: [PATCH 2/8] Get module paths from git when creating metadata. --- site-tools/create-module-metadata.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/site-tools/create-module-metadata.php b/site-tools/create-module-metadata.php index 8ee1124d..dc9375a8 100644 --- a/site-tools/create-module-metadata.php +++ b/site-tools/create-module-metadata.php @@ -1,6 +1,7 @@ get_for_version(BoostVersion::develop()); + $library_details = + boost_libraries::from_xml_file(__DIR__ . '/../doc/libraries.xml') + ->get_for_version(BoostVersion::develop()); + $git_submodules = (new BoostSuperProject($boost_root))->get_modules(); + // Get the library data, so that it can be updated with maintainers. // In case you're wondering why the result from get_for_version doesn't @@ -64,9 +68,14 @@ function main() { foreach ($library_details as $library) { $module = $library['module']; + if (!isset($git_submodules[$module])) { + echo "Unknown module: {$module}\n"; + continue; + } + if (isset($library['documentation'])) { $doc_url = $library['documentation']; - $module_base = "libs/$module"; + $module_base = $git_submodules[$module]['path']; if ($doc_url == $module_base) { $doc_url = ''; @@ -93,12 +102,12 @@ function main() { foreach ($libraries_by_module as $module => $libraries) { $module_libraries = boost_libraries::from_array($libraries); - $module_dir = "$boost_root/libs/$module"; + $module_dir = "{$boost_root}/{$git_submodules[$module]['path']}"; $meta_dir = "$module_dir/meta"; $meta_file = "$module_dir/meta/libraries.json"; if (!is_dir($module_dir)) { - echo "Module doesn't exist: $module\n"; + echo "Module '$module' doesn't exist at '$module_dir'\n"; continue; } From 78dbd170dd5ac9c0436661eb9623f92f78509534 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 13 Jul 2014 11:21:44 +0100 Subject: [PATCH 3/8] Remove loading from a file. It's never really used. --- site-tools/update-doc-list.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/site-tools/update-doc-list.php b/site-tools/update-doc-list.php index ac060d8a..9d02e339 100644 --- a/site-tools/update-doc-list.php +++ b/site-tools/update-doc-list.php @@ -28,11 +28,13 @@ function main() { if ($location) { $location = realpath($location); - if (is_file($location)) + if (!is_dir($location)) { - update_from_file($libs, $location, $version); + echo "Not a directory: {$location}\n"; + exit(1); } - else if (get_bool_from_array(run_process( + + if (get_bool_from_array(run_process( "cd '${location}' && git rev-parse --is-bare-repository"))) { if ($version) { @@ -134,11 +136,6 @@ function update_from_local_copy($libs, $location, $branch = 'latest') { } } -function update_from_file($libs, $location, $version) { - echo "Updated from local file\n"; - $libs->update(load_from_file($location, $version)); -} - function load_from_file($path, $branch) { return load_from_text(file_get_contents($path), $path, $branch); } From efc08e09fb46112c3167742801c935d753c816cb Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 13 Jul 2014 11:21:44 +0100 Subject: [PATCH 4/8] Support release versions in update. --- common/code/boost_version.php | 6 ++++++ site-tools/update-doc-list.php | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/common/code/boost_version.php b/common/code/boost_version.php index c0be5ec1..2ba9948b 100644 --- a/common/code/boost_version.php +++ b/common/code/boost_version.php @@ -182,6 +182,12 @@ class BoostVersion { ($this->is_beta() ? '_beta'. $this->beta : ''); } + /** Return the git tag/branch for the version */ + function git_ref() { + return $this->version['stage'] ? $this->stage_name() : + 'boost-'.implode('.', $this->version_numbers()); + } + /** Return the version numbers from the verion array */ private function version_numbers() { $numbers = $this->version; diff --git a/site-tools/update-doc-list.php b/site-tools/update-doc-list.php index 9d02e339..675bd093 100644 --- a/site-tools/update-doc-list.php +++ b/site-tools/update-doc-list.php @@ -17,10 +17,9 @@ function main() { exit(1); } - // TODO: Support releases. - if ($version && !in_array($version, ['master', 'develop', 'latest'])) { - echo "Invalid version: $version\n"; - exit(1); + if ($version) { + // BoostVersion dies if version is invalid. + $version = BoostVersion::from($version); } $libs = boost_libraries::from_xml_file(dirname(__FILE__) . '/../doc/libraries.xml'); @@ -70,10 +69,11 @@ function main() { * * @param \boost_libraries $libs The libraries to update. * @param string $location The location of the super project in the mirror. - * @param string $branch The branch to update from. + * @param BoostVersion|string $version The version to update from. * @throws RuntimeException */ -function update_from_git($libs, $location, $branch) { +function update_from_git($libs, $location, $version) { + $branch = BoostVersion::from($version)->git_ref(); echo "Updating from {$branch}\n"; $super_project = new BoostSuperProject($location, $branch); From b3dea6453dfaa7b52a651b588cb600ffa0b3ea87 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 13 Jul 2014 11:21:44 +0100 Subject: [PATCH 5/8] Don't die on parse errors when updating. --- common/code/boost_libraries.php | 16 +++++++++++++--- site-tools/update-doc-list.php | 24 +++++++++++++++++------- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/common/code/boost_libraries.php b/common/code/boost_libraries.php index f64406d9..720f8492 100644 --- a/common/code/boost_libraries.php +++ b/common/code/boost_libraries.php @@ -151,9 +151,7 @@ class boost_libraries $import = json_decode($json, true); if (!$import) { - // TODO: Proper error handling. - echo "Error decoding json: $json\n"; - exit(0); + throw new library_decode_exception("Error decoding json.", $json); } if ($json[0] == '{') { @@ -687,5 +685,17 @@ class boost_libraries } class boost_libraries_exception extends RuntimeException {} +class library_decode_exception extends boost_libraries_exception { + private $content = ''; + + function __construct($message, $content) { + parent::__construct($message); + $this->content = $content; + } + + public function content() { + return $this->content; + } +} ?> diff --git a/site-tools/update-doc-list.php b/site-tools/update-doc-list.php index 675bd093..d6e642ce 100644 --- a/site-tools/update-doc-list.php +++ b/site-tools/update-doc-list.php @@ -105,12 +105,17 @@ function update_from_git($libs, $location, $version) { foreach(run_process("{$module_command} ls-tree {$module['hash']} " ."meta/libraries.xml meta/libraries.json") as $entry) { - $entry = trim($entry); - if (preg_match("@^100644 blob ([a-zA-Z0-9]+)\t(.*)$@", $entry, $matches)) { - $hash = $matches[1]; - $filename = $matches[2]; - $text = implode("\n", (run_process("{$module_command} show {$hash}"))); - $libs->update(load_from_text($text, $filename, $branch), $name); + try { + $entry = trim($entry); + if (preg_match("@^100644 blob ([a-zA-Z0-9]+)\t(.*)$@", $entry, $matches)) { + $hash = $matches[1]; + $filename = $matches[2]; + $text = implode("\n", (run_process("{$module_command} show {$hash}"))); + $libs->update(load_from_text($text, $filename, $branch), $name); + } + } + catch (library_decode_exception $e) { + echo "Error decoding metadata for module {$name}:\n{$e->content()}\n"; } } } @@ -131,7 +136,12 @@ function update_from_local_copy($libs, $location, $branch = 'latest') { foreach ( glob("{$location}/{$module_details['path']}/meta/libraries.*") as $path) { - $libs->update(load_from_file($path, $branch), $name); + try { + $libs->update(load_from_file($path, $branch), $name); + } + catch (library_decode_exception $e) { + echo "Error decoding metadata for module {$name}:\n{$e->content()}\n"; + } } } } From b8aebbea9f6b9d237a9cb2729b4cbabaa3f44dd6 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 13 Jul 2014 11:21:44 +0100 Subject: [PATCH 6/8] Update documentation list. --- doc/libraries.xml | 75 ++++++++++++++++++++++++++++++++++++++-- generated/libraries.txt | Bin 100970 -> 103571 bytes 2 files changed, 73 insertions(+), 2 deletions(-) diff --git a/doc/libraries.xml b/doc/libraries.xml index 3ec69c3f..099e36f5 100644 --- a/doc/libraries.xml +++ b/doc/libraries.xml @@ -252,6 +252,33 @@ Domain System + + chrono + chrono + 1.47.0 + master + Chrono + Howard Hinnant + Beman Dawes + Vicente J. Botet Escriba + Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr> + Useful time utilities. C++11. + libs/chrono/ + proposal + Domain + System + + + chrono/stopwatch + chrono + master + Chrono.Stopwatch + Vicente J. Botet Escriba + Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr> + Useful stopclocks and stopwatches utilities. + libs/chrono/stopwatches/ + Domain + circular_buffer circular_buffer @@ -332,7 +359,7 @@ conversion conversion 1.20.0 - develop + master Conversion Dave Abrahams Kevlin Henney @@ -751,7 +778,7 @@ lexical_cast lexical_cast 1.20.0 - develop + master Lexical Cast Kevlin Henney Antony Polukhin <antoshkka -at- gmail.com> @@ -760,6 +787,19 @@ Miscellaneous String + + lexical_cast + lexical_cast + 1.20.0 + develop + Lexical Cast + Kevlin Henney + Antony Polukhin <antoshkka -at- gmail.com> + General literal text conversions, such as an int represented a string, or vice-versa. + libs/lexical_cast/lexical_cast.htm + Miscellaneous + String + local_function local_function @@ -1238,6 +1278,21 @@ libs/ratio/ Math + + ratio + ratio + 1.47.0 + develop + Ratio + Howard Hinnant + Beman Dawes + Vicente J. Botet Escriba + Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr> + Compile time rational arithmetic. C++11. + libs/ratio/ + proposal + Math + rational rational @@ -1409,6 +1464,22 @@ Concurrent System + + thread + thread + 1.25.0 + master + Thread + Anthony Williams + Vicente J. Botet Escriba + Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr> + Niall Douglas <niall -at- nedprod.com> + Portable C++ multi-threading. C++11, C++14. + libs/thread/ + proposal + Concurrent + System + throw_exception throw_exception diff --git a/generated/libraries.txt b/generated/libraries.txt index 46f70c99e13686494f004533d48af4105b8018e4..5b1841c448085d5c5d7b5b24da9cb92441a179a6 100644 GIT binary patch delta 3033 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 From e314b1ae372ccd102d0b27274ccb755d6a02a4ea Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 13 Jul 2014 11:21:44 +0100 Subject: [PATCH 7/8] Fix numeric modules. --- doc/libraries.xml | 8 ++++---- generated/libraries.txt | Bin 103571 -> 105310 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/libraries.xml b/doc/libraries.xml index 099e36f5..e2ae096d 100644 --- a/doc/libraries.xml +++ b/doc/libraries.xml @@ -1049,7 +1049,7 @@ numeric/conversion - numeric/conversion + numeric_conversion 1.32.0 Numeric Conversion Fernando Cacciola @@ -1060,7 +1060,7 @@ numeric/interval - numeric/interval + interval 1.30.0 Interval Guillaume Melquiond @@ -1072,7 +1072,7 @@ numeric/odeint - numeric/odeint + odeint 1.53.0 Odeint Karsten Ahnert @@ -1083,7 +1083,7 @@ numeric/ublas - numeric/ublas + ublas 1.29.0 uBLAS Joerg Walter diff --git a/generated/libraries.txt b/generated/libraries.txt index 5b1841c448085d5c5d7b5b24da9cb92441a179a6..aa8e5dcde6172508cbcd7fe7da7819dec7d6d2ad 100644 GIT binary patch delta 2538 zcmbQdlI`9$whb4BCa)HentVid-DCwW?#XwA4ovn~DmJ}9jgf;XF=ukWg2ME4OGduQ zTaVgoekY>DKG`fuU^1J`&dCBtq9+S@g-mv^<(qs~X5r)$E~1kiQaPrtbzqd5yg-9% z@&;L9kS-20E2YHZ;>`5P2Jh4-J1DYj{v}r|IN4k8B$5&QlWPnfO`n#=C^vbPKKJx* z?u^!x&+02oFZE{Bn5+=QGWnBH;N*!$(olEuZ1y*{Vw}A7sO{!ICWcH*7ABJyTDop7 zG1p>ZHZ?HaywEb5iP30s;$4T$wl+LWj3(1BHZg{7o^L0>#Ar78p_s$w4-VfM87(I- zG_jey-~;PsO=m?WM#ISqENv$X9A=%YP$oS&*7-i%feKtaljE7$Ci}U#OpnZA3m)#bayv~ag>|TMre4Cv;To@-uOp;?s z&M!)x{P3de^JZCS7u@|GM&88 z(qXeoP!Thu$>fO*wwtenRxvS}O=nDJblBV<;lVWdftcfFiD)GzCJV#qA4M1)HrK@3 zvM?Hh{dYl{ee>VM1(WIHf1 z8bM4rnCs3od4Y-TWCsI<$$xWSzyssJ5&p@xg%03=m|R|DG1)>^XmU?s?c@XbhTtga zFZN@abi;YFLYc|rs}Vwz>x;Q3&&#fvydlpN%@Cf+a^)td1__jI0~s<|s8VF}+X^2h zM&rqf8M@P7W;4o9ZmSlbtWkLmZioUG&*q34e#YtBA{fmlCp1V--fF2jxj~z4vus^4 z6QjlCi49GYc{lP+?$7R?+}nt-9hB0~HU>a!mTNYfe4$2YvQAUWWcLP;7i=~!Xbxp! zG@Rbp!05QyyiJ5@@`MKG&3zqWtV~7*;AHizcOMgz5iEdNHb0wim66HR1RR6^C&__B zc%y^U=ESK#nV2liH^Gn0t{IL5v%RbgT_F*2E4IKz2!{EB=gCKFJKuz@F4{&m8WH?1|9yuf)5QrPfM z_FHWZ_97&?o>XVLN}aX!6(f_GDL4R5Y(L4!XaNeR$qy`9HecKMlaa~H z0Gx99_Jp%AnHhnT+~(y6w3((iwKLjIzhKBHxLM)w0TxEf$%%JCnNVS~-H8qsCUX;L zrc{{Bar*9Lfg^i1?>m>mJpF?Rquu6&OY>Pl*=Ayc)8xJmsmTYfzMU*^WcTD9*Pc#p zI4-pL&#e@2*>Lf`%jRWwHJF$!4NNy*ydTBPWCFdd2F8;YSUOH#`XO%8VwTMUAOA8knS!FqVY2_{C{8mgrTmoC%)FAxiF$RD3${5- zuKe9}2#m+=rddLZAx6X!3(kVvq`B!y>lri`5u!GcuWioxA;j2ICh-CR0#RVz~Xe z79%Ujw-3b}z)m&PW#nUGv;dcS+Z*&5g_tH^Jmfz)tbl*}2SY|qR#2*j2JCigbH*Sh zCUav@>A8KMC8G-ylO;HUx4YOd#xOCN8-h|fC@pP&Y{%#d3P@1!WH~bGBE`@48_tY! zpa^o=Zso>k#Kdf205Va0aoBSC4r&sDS@=bplz$gx`aum3Drr-5rd^}mlQgpgNAfxnT*9Pgy z&oiUY((GpZdZeO0sD9prU zXf)YD5?l-DPk))ocm|Xpzyb51k&$n@S`Oo?>3Z3WWw7#pdt@HtUM5C!NSuZjG8#hT z$$tCEVn$acCL>6?2qF3%RIVUffT|51l zHlqp5(US%C@=f<>VKjsk&U)>Pc9V5Ig{F73FxpI?>%ho4{dOCp1E_H@UABW!e*3R> zMt`Qs^DP~>cXcs7V`MflG?~27!D;)}9!7a4Mw7`2cOAEj^)r@&>IHDYy8Y}###T_; LdnjhdR9g!GH4Uir delta 2558 zcmcb&jcxKuwhb4BCeIW;JvlT+dU}l=qx|Fzm)xiS4`d9P%&crNdD287mc*RQ^vRBe zQq#{RF>rXTcTbcP$jXKbZZT#}+> zooHoXRb4xoQC^fewWwtB!!#w1#Ny)Aq7r?j&4=Vx3r>D&_;GTvhVb-t!HgP{&*~e) zjhLQV!YDGGFN9HKa<+lOv@Afr%UAg#>8ko`J#fu=BXA2Ow1;h#*+`eaoEgZEzQJeIN4yD!{!uQ9wsJZ zv&k1`hipD(FTliPYChR;n*C;Rr|*o6=93?aIc)ZKQDR~;0GaAI`F6SVO@6vpe=>84@Z^7+jV8COUk47bPtC%UwblqtUR@$MJZcr#_O*Savn#|r+y*a0VpK-E_q#C2aWW@tAlMl2>OlB(a1_cIs z)L+P#-|Si%400LN6qCtnYE_f73j!v0l%2q0h{!%sCQH-Fj7LQ#U&@!=tW=%K#AIkZ z*-=twdS4-<{N(s*@yS!Gzfay!e|fTtq{d{W1JYmzEZ8o_Y-wsSxj;h^tnpVvIn(6* z-OiJ5mrG4P*Q_@A)Ye^-Ygz*)XWH;jUeeTpVYSHQJFTXZ(X1C}k7Qypump$p>P`_R zCL_bm2fM>rnGMYirWZ;wI&F@fxSMJE{z^ut%~4aXGBO%YW<2V!xnP7+wUx;9I-n@3PB@?3wIA#{BFJopl zHiM+f%#|ukOvVK8UarBYGDY9* zOb;+&blU8AR2!O^q9@lLeK`5w_1%**k1d$ob5m@y^r?7|`HV+FK4P7`{*TZk~THntA$y zsf>=Btsm(!FSv`NTi@zgyMxbt;Swo8NrqXJj_Cv;fD`WV^5NlkL8W zZC>^D3nMgtPJZw`ipS8zN-3{2H?=4;S%0(bj~$GYjyg>?{}nMg!J35^CQ+J{lUO|Y zV|xAMQz7=7Lw~0+GMa!x?#~}~CT0V314v%>`0vETY+z{!N-*2cFfv*(fpYWY^E24C zd$BO;GBFvOOg`8hJ-wWT@dhXurbn?d%1nM>$+EqjgVBMR+0X)<*0yup<< zj%m_S$L*fpjHXP?<|dZg8+{q0n70Q9G0HQ-Lcn+OTYX`$??JUN!uQi}1~7sv!08i$ z8NoFm$lK=ThSL>87(=IfhBCg#tW_QgG73*`2i2Y{N<^pog)vHPzYxawkCDm3Wc!5( z#!MzA3rIDyy*irFnVHGLV*7zOMg=BDgY6F!7^9e&j19pNn3K%N$;4u0X$tY^&QwO% z>1WayPfa%Em6%?W!>9^(FsL${{Ha-ZI)54?|Kw+BqSND@898`LDhpEMGxJhXEA*AN zD`zmqflRYBoxaeH(P;bjEXH@B6v24ZVf(WjMpbB$x!ot9QJ9Izz-)SAA!E$+r~*dE z$s6kZrmres)SO(bVLmxv9@}(#IY!ROvlocN9RLb3jmek7g{IHTXB31~sk|K1`AQi1 zKov1tk(IH5nZfp+62?RDTri=W(SQk3mri%8VwBx3SH-Bo#B2zuQm5y%Fmg{nU&F|~ zeSQt2Arq*$10{c Date: Sun, 13 Jul 2014 11:30:23 +0100 Subject: [PATCH 8/8] Fix 'not a directory' error for non-existant path. 'realpath' returns false if the path doesn't exist. --- site-tools/update-doc-list.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/site-tools/update-doc-list.php b/site-tools/update-doc-list.php index d6e642ce..5b0a0b94 100644 --- a/site-tools/update-doc-list.php +++ b/site-tools/update-doc-list.php @@ -25,14 +25,16 @@ function main() { $libs = boost_libraries::from_xml_file(dirname(__FILE__) . '/../doc/libraries.xml'); if ($location) { - $location = realpath($location); + $real_location = realpath($location); - if (!is_dir($location)) + if ($real_location && !is_dir($real_location)) { echo "Not a directory: {$location}\n"; exit(1); } + $location = $real_location; + if (get_bool_from_array(run_process( "cd '${location}' && git rev-parse --is-bare-repository"))) {