diff --git a/tools/check_python_deps.py b/tools/check_python_deps.py index df75e43754..34c53fdb1c 100644 --- a/tools/check_python_deps.py +++ b/tools/check_python_deps.py @@ -81,8 +81,8 @@ if __name__ == "__main__": format="[%(levelname)s] %(message)s", stream=sys.stdout, level=loglevel) # Display Python Version and path - logging.info(f"Python path : {sys.executable}") - logging.info(f"Python version : {sys.version}") + logging.info("Python path : %s", sys.executable) + logging.info("Python version : %s", sys.version) # Choose the pypi package ortools_name = "ortools" diff --git a/tools/doc/default.styleSheet.css.in b/tools/doc/default.styleSheet.css.in index 5e35db3f41..4e85569550 100644 --- a/tools/doc/default.styleSheet.css.in +++ b/tools/doc/default.styleSheet.css.in @@ -1,90 +1,90 @@ /* The standard CSS for doxygen 1.8.18 */ body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; +font: 400 14px/22px Roboto,sans-serif; } p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; +font: 400 14px/22px Roboto,sans-serif; } /* @group Heading Levels */ h1.groupheader { - font-size: 150%; +font-size: 150%; } .title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; +font: 400 14px/28px Roboto,sans-serif; +font-size: 150%; +font-weight: bold; +margin: 10px 2px; } h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; +border-bottom: 1px solid #879ECB; +color: #354C7B; +font-size: 150%; +font-weight: normal; +margin-top: 1.75em; +padding-top: 8px; +padding-bottom: 4px; +width: 100%; } h3.groupheader { - font-size: 100%; +font-size: 100%; } h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; +-webkit-transition: text-shadow 0.5s linear; +-moz-transition: text-shadow 0.5s linear; +-ms-transition: text-shadow 0.5s linear; +-o-transition: text-shadow 0.5s linear; +transition: text-shadow 0.5s linear; +margin-right: 15px; } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; +text-shadow: 0 0 15px cyan; } dt { - font-weight: bold; +font-weight: bold; } ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; +-moz-column-gap: 1em; +-webkit-column-gap: 1em; +column-gap: 1em; +-moz-column-count: 3; +-webkit-column-count: 3; +column-count: 3; } p.startli, p.startdd { - margin-top: 2px; +margin-top: 2px; } th p.starttd, p.intertd, p.endtd { - font-size: 100%; - font-weight: 700; +font-size: 100%; +font-weight: 700; } p.starttd { - margin-top: 0px; +margin-top: 0px; } p.endli { - margin-bottom: 0px; +margin-bottom: 0px; } p.enddd { - margin-bottom: 4px; +margin-bottom: 4px; } p.endtd { - margin-bottom: 2px; +margin-bottom: 2px; } p.interli { @@ -99,455 +99,455 @@ p.intertd { /* @end */ caption { - font-weight: bold; +font-weight: bold; } span.legend { - font-size: 70%; - text-align: center; +font-size: 70%; +text-align: center; } h3.version { - font-size: 90%; - text-align: center; +font-size: 90%; +text-align: center; } div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; +background-color: #EBEFF6; +border: 1px solid #A3B4D7; +text-align: center; } div.qindex, div.navpath { - width: 100%; - line-height: 140%; +width: 100%; +line-height: 140%; } div.navtab { - margin-right: 15px; +margin-right: 15px; } /* @group Link Styling */ a { - color: #3D578C; - font-weight: normal; - text-decoration: none; +color: #3D578C; +font-weight: normal; +text-decoration: none; } .contents a:visited { - color: #4665A2; +color: #4665A2; } a:hover { - text-decoration: underline; +text-decoration: underline; } a.qindex { - font-weight: bold; +font-weight: bold; } a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #FFFFFF; - border: 1px double #869DCA; +font-weight: bold; +background-color: #9CAFD4; +color: #FFFFFF; +border: 1px double #869DCA; } .contents a.qindexHL:visited { - color: #FFFFFF; +color: #FFFFFF; } a.el { - font-weight: bold; +font-weight: bold; } a.elRef { } a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; +color: #4665A2; } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; +color: #4665A2; } /* @end */ dl.el { - margin-left: -1cm; +margin-left: -1cm; } ul { - overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ } #side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ } #main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +overflow: visible; /* reset ul rule for the navigation bar drop down lists */ } .fragment { - text-align: left; - direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ - overflow-y: hidden; +text-align: left; +direction: ltr; +overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ +overflow-y: hidden; } pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; +border: 1px solid #C4CFE5; +background-color: #FBFCFD; +padding: 4px 6px; +margin: 4px 8px 4px 2px; +overflow: auto; +word-wrap: break-word; +font-size: 9pt; +line-height: 125%; +font-family: monospace, fixed; +font-size: 105%; } div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; +padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ +margin: 4px 8px 4px 2px; +background-color: #FBFCFD; +border: 1px solid #C4CFE5; } div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; +font-family: monospace, fixed; +font-size: 13px; +min-height: 13px; +line-height: 1.0; +text-wrap: unrestricted; +white-space: -moz-pre-wrap; /* Moz */ +white-space: -pre-wrap; /* Opera 4-6 */ +white-space: -o-pre-wrap; /* Opera 7 */ +white-space: pre-wrap; /* CSS3 */ +word-wrap: break-word; /* IE 5.5+ */ +text-indent: -53px; +padding-left: 53px; +padding-bottom: 0px; +margin: 0px; +-webkit-transition-property: background-color, box-shadow; +-webkit-transition-duration: 0.5s; +-moz-transition-property: background-color, box-shadow; +-moz-transition-duration: 0.5s; +-ms-transition-property: background-color, box-shadow; +-ms-transition-duration: 0.5s; +-o-transition-property: background-color, box-shadow; +-o-transition-duration: 0.5s; +transition-property: background-color, box-shadow; +transition-duration: 0.5s; } div.line:after { - content:"\000A"; - white-space: pre; +content:"\000A"; +white-space: pre; } div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; +background-color: cyan; +box-shadow: 0 0 10px cyan; } span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; +padding-right: 4px; +text-align: right; +border-right: 2px solid #0F0; +background-color: #E8E8E8; +white-space: pre; } span.lineno a { - background-color: #D8D8D8; +background-color: #D8D8D8; } span.lineno a:hover { - background-color: #C8C8C8; +background-color: #C8C8C8; } .lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; +-webkit-touch-callout: none; +-webkit-user-select: none; +-khtml-user-select: none; +-moz-user-select: none; +-ms-user-select: none; +user-select: none; } div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #FFFFFF; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +background-color: black; +font-weight: bold; +color: #FFFFFF; +margin-bottom: 3px; +margin-top: 3px; +padding: 0.2em; +border: solid thin #333; +border-radius: 0.5em; +-webkit-border-radius: .5em; +-moz-border-radius: .5em; +box-shadow: 2px 2px 3px #999; +-webkit-box-shadow: 2px 2px 3px #999; +-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; +background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); +background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); } div.classindex ul { - list-style: none; - padding-left: 0; +list-style: none; +padding-left: 0; } div.classindex span.ai { - display: inline-block; +display: inline-block; } div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; +margin-left: 16px; +margin-top: 12px; +font-weight: bold; } div.groupText { - margin-left: 16px; - font-style: italic; +margin-left: 16px; +font-style: italic; } body { - background-color: white; - color: black; - margin: 0; +background-color: white; +color: black; +margin: 0; } div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; +margin-top: 10px; +margin-left: 12px; +margin-right: 8px; } td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; +background-color: #EBEFF6; +font-weight: bold; +border: 1px solid #C4CFE5; +margin: 2px 0px 2px 0; +padding: 2px 10px; +white-space: nowrap; +vertical-align: top; } td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; +background-color: #EBEFF6; +border: 1px solid #C4CFE5; +padding: 2px 10px; +margin: 2px 0px; } tr.memlist { - background-color: #EEF1F7; +background-color: #EEF1F7; } p.formulaDsp { - text-align: center; +text-align: center; } img.formulaDsp { - + } img.formulaInl, img.inline { - vertical-align: middle; +vertical-align: middle; } div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; +text-align: center; +margin-top: 0px; +margin-bottom: 0px; +padding: 0px; } div.center img { - border: 0px; +border: 0px; } address.footer { - text-align: right; - padding-right: 12px; +text-align: right; +padding-right: 12px; } img.footer { - border: 0px; - vertical-align: middle; +border: 0px; +vertical-align: middle; } /* @group Code Colorization */ span.keyword { - color: #008000 +color: #008000 } span.keywordtype { - color: #604020 +color: #604020 } span.keywordflow { - color: #e08000 +color: #e08000 } span.comment { - color: #800000 +color: #800000 } span.preprocessor { - color: #806020 +color: #806020 } span.stringliteral { - color: #002080 +color: #002080 } span.charliteral { - color: #008080 +color: #008080 } -span.vhdldigit { - color: #ff00ff +span.vhdldigit { +color: #ff00ff } -span.vhdlchar { - color: #000000 +span.vhdlchar { +color: #000000 } -span.vhdlkeyword { - color: #700070 +span.vhdlkeyword { +color: #700070 } -span.vhdllogic { - color: #ff0000 +span.vhdllogic { +color: #ff0000 } blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; +background-color: #F7F8FB; +border-left: 2px solid #9CAFD4; +margin: 0 24px 0 4px; +padding: 0 12px 0 16px; } blockquote.DocNodeRTL { - border-left: 0; - border-right: 2px solid #9CAFD4; - margin: 0 4px 0 24px; - padding: 0 16px 0 12px; +border-left: 0; +border-right: 2px solid #9CAFD4; +margin: 0 4px 0 24px; +padding: 0 16px 0 12px; } /* @end */ /* .search { - color: #003399; - font-weight: bold; +color: #003399; +font-weight: bold; } form.search { - margin-bottom: 0px; - margin-top: 0px; +margin-bottom: 0px; +margin-top: 0px; } input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; +font-size: 75%; +color: #000080; +font-weight: normal; +background-color: #e8eef2; } */ td.tiny { - font-size: 75%; +font-size: 75%; } .dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; +padding: 4px; +border-collapse: collapse; +border: 1px solid #A3B4D7; } th.dirtab { - background: #EBEFF6; - font-weight: bold; +background: #EBEFF6; +font-weight: bold; } hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; +height: 0px; +border: none; +border-top: 1px solid #4A6AAA; } hr.footer { - height: 1px; +height: 1px; } /* @group Member Descriptions */ table.memberdecls { - border-spacing: 0px; - padding: 0px; +border-spacing: 0px; +padding: 0px; } .memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; +-webkit-transition-property: background-color, box-shadow; +-webkit-transition-duration: 0.5s; +-moz-transition-property: background-color, box-shadow; +-moz-transition-duration: 0.5s; +-ms-transition-property: background-color, box-shadow; +-ms-transition-duration: 0.5s; +-o-transition-property: background-color, box-shadow; +-o-transition-duration: 0.5s; +transition-property: background-color, box-shadow; +transition-duration: 0.5s; } .memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; +background-color: cyan; +box-shadow: 0 0 15px cyan; } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; +background-color: #F9FAFC; +border: none; +margin: 4px; +padding: 1px 0 0 8px; } .mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; +padding: 0px 8px 4px 8px; +color: #555; } .memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; +border-bottom: 1px solid #DEE4F0; +line-height: 1px; +margin: 0px; +padding: 0px; } .memItemLeft, .memTemplItemLeft { - white-space: nowrap; +white-space: nowrap; } .memItemRight, .memTemplItemRight { - width: 100%; +width: 100%; } .memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; +color: #4665A2; +white-space: nowrap; +font-size: 80%; } /* @end */ @@ -557,205 +557,205 @@ table.memberdecls { /* Styles for detailed member documentation */ .memtitle { - padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -1px; - background-image: url('nav_f.png'); - background-repeat: repeat-x; - background-color: #E2E8F2; - line-height: 1.25; - font-weight: 300; - float:left; +padding: 8px; +border-top: 1px solid #A8B8D9; +border-left: 1px solid #A8B8D9; +border-right: 1px solid #A8B8D9; +border-top-right-radius: 4px; +border-top-left-radius: 4px; +margin-bottom: -1px; +background-image: url('nav_f.png'); +background-repeat: repeat-x; +background-color: #E2E8F2; +line-height: 1.25; +font-weight: 300; +float:left; } .permalink { - font-size: 65%; - display: inline-block; - vertical-align: middle; +font-size: 65%; +display: inline-block; +vertical-align: middle; } .memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; +font-size: 80%; +color: #4665A2; +font-weight: normal; +margin-left: 9px; } .memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; +background-color: #EBEFF6; +border: 1px solid #A3B4D7; +text-align: center; +margin: 2px; +margin-right: 15px; +padding: 2px; } .mempage { - width: 100%; +width: 100%; } .memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; +padding: 0; +margin-bottom: 10px; +margin-right: 5px; +-webkit-transition: box-shadow 0.5s linear; +-moz-transition: box-shadow 0.5s linear; +-ms-transition: box-shadow 0.5s linear; +-o-transition: box-shadow 0.5s linear; +transition: box-shadow 0.5s linear; +display: table !important; +width: 100%; } .memitem.glow { - box-shadow: 0 0 15px cyan; +box-shadow: 0 0 15px cyan; } .memname { - font-weight: 400; - margin-left: 6px; +font-weight: 400; +margin-left: 6px; } .memname td { - vertical-align: bottom; +vertical-align: bottom; } .memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; +border-top: 1px solid #A8B8D9; +border-left: 1px solid #A8B8D9; +border-right: 1px solid #A8B8D9; +padding: 6px 0px 6px 0px; +color: #253555; +font-weight: bold; +text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +background-color: #DFE5F1; +/* opera specific markup */ +box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +border-top-right-radius: 4px; +/* firefox specific markup */ +-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; +-moz-border-radius-topright: 4px; +/* webkit specific markup */ +-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +-webkit-border-top-right-radius: 4px; } .overload { - font-family: "courier new",courier,monospace; - font-size: 65%; +font-family: "courier new",courier,monospace; +font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +border-bottom: 1px solid #A8B8D9; +border-left: 1px solid #A8B8D9; +border-right: 1px solid #A8B8D9; +padding: 6px 10px 2px 10px; +background-color: #FBFCFD; +border-top-width: 0; +background-image:url('nav_g.png'); +background-repeat:repeat-x; +background-color: #FFFFFF; +/* opera specific markup */ +border-bottom-left-radius: 4px; +border-bottom-right-radius: 4px; +box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +/* firefox specific markup */ +-moz-border-radius-bottomleft: 4px; +-moz-border-radius-bottomright: 4px; +-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; +/* webkit specific markup */ +-webkit-border-bottom-left-radius: 4px; +-webkit-border-bottom-right-radius: 4px; +-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); } dl.reflist dt { - padding: 5px; +padding: 5px; } dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; +margin: 0px 0px 10px 0px; +padding: 5px; } .paramkey { - text-align: right; +text-align: right; } .paramtype { - white-space: nowrap; +white-space: nowrap; } .paramname { - color: #602020; - white-space: nowrap; +color: #602020; +white-space: nowrap; } .paramname em { - font-style: normal; +font-style: normal; } .paramname code { - line-height: 14px; +line-height: 14px; } .params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} +margin-left: 0px; +padding-left: 0px; +} .params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { - font-weight: bold; - vertical-align: top; +font-weight: bold; +vertical-align: top; } - + .params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; -} - +font-style: italic; +vertical-align: top; +} + .params .paramdir, .tparams .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; +font-family: "courier new",courier,monospace; +vertical-align: top; } table.mlabels { - border-spacing: 0px; +border-spacing: 0px; } td.mlabels-left { - width: 100%; - padding: 0px; +width: 100%; +padding: 0px; } td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; +vertical-align: bottom; +padding: 0px; +white-space: nowrap; } span.mlabels { - margin-left: 8px; +margin-left: 8px; } span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; +background-color: #728DC1; +border-top:1px solid #5373B4; +border-left:1px solid #5373B4; +border-right:1px solid #C4CFE5; +border-bottom:1px solid #C4CFE5; +text-shadow: none; +color: white; +margin-right: 4px; +padding: 2px 3px; +border-radius: 3px; +font-size: 7pt; +white-space: nowrap; +vertical-align: middle; } @@ -765,760 +765,760 @@ span.mlabel { /* these are for tree view inside a (index) page */ div.directory { - margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; - width: 100%; +margin: 10px 0px; +border-top: 1px solid #9CAFD4; +border-bottom: 1px solid #9CAFD4; +width: 100%; } .directory table { - border-collapse:collapse; +border-collapse:collapse; } .directory td { - margin: 0px; - padding: 0px; - vertical-align: top; +margin: 0px; +padding: 0px; +vertical-align: top; } .directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; +white-space: nowrap; +padding-right: 6px; +padding-top: 3px; } .directory td.entry a { - outline:none; +outline:none; } .directory td.entry a img { - border: none; +border: none; } .directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); +width: 100%; +padding-left: 6px; +padding-right: 6px; +padding-top: 3px; +border-left: 1px solid rgba(0,0,0,0.05); } .directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; +padding-left: 6px; +background-color: #F7F8FB; } .directory img { - vertical-align: -30%; +vertical-align: -30%; } .directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; +white-space: nowrap; +width: 100%; +text-align: right; +font-size: 9pt; } .directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; +cursor: pointer; +padding-left: 2px; +padding-right: 2px; +color: #3D578C; } .arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; +color: #9CAFD4; +-webkit-user-select: none; +-khtml-user-select: none; +-moz-user-select: none; +-ms-user-select: none; +user-select: none; +cursor: pointer; +font-size: 80%; +display: inline-block; +width: 16px; +height: 22px; } .icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; +font-family: Arial, Helvetica; +font-weight: bold; +font-size: 12px; +height: 14px; +width: 16px; +display: inline-block; +background-color: #728DC1; +color: white; +text-align: center; +border-radius: 4px; +margin-left: 2px; +margin-right: 2px; } .icona { - width: 24px; - height: 22px; - display: inline-block; +width: 24px; +height: 22px; +display: inline-block; } .iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; +width: 24px; +height: 18px; +margin-bottom: 4px; +background-image:url('folderopen.png'); +background-position: 0px -4px; +background-repeat: repeat-y; +vertical-align:top; +display: inline-block; } .iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; +width: 24px; +height: 18px; +margin-bottom: 4px; +background-image:url('folderclosed.png'); +background-position: 0px -4px; +background-repeat: repeat-y; +vertical-align:top; +display: inline-block; } .icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; +width: 24px; +height: 18px; +margin-bottom: 4px; +background-image:url('doc.png'); +background-position: 0px -4px; +background-repeat: repeat-y; +vertical-align:top; +display: inline-block; } table.directory { - font: 400 14px Roboto,sans-serif; +font: 400 14px Roboto,sans-serif; } /* @end */ div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; +margin-top: 8px; +-webkit-touch-callout: none; +-webkit-user-select: none; +-khtml-user-select: none; +-moz-user-select: none; +-ms-user-select: none; +user-select: none; } address { - font-style: normal; - color: #2A3D61; +font-style: normal; +color: #2A3D61; } table.doxtable caption { - caption-side: top; +caption-side: top; } table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; +border-collapse:collapse; +margin-top: 4px; +margin-bottom: 4px; } table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; +border: 1px solid #2D4068; +padding: 3px 7px 2px; } table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; +background-color: #374F7F; +color: #FFFFFF; +font-size: 110%; +padding-bottom: 4px; +padding-top: 5px; } table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +/*width: 100%;*/ +margin-bottom: 10px; +border: 1px solid #A8B8D9; +border-spacing: 0px; +-moz-border-radius: 4px; +-webkit-border-radius: 4px; +border-radius: 4px; +-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; +-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .fieldtable td, .fieldtable th { - padding: 3px 7px 2px; +padding: 3px 7px 2px; } .fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; +white-space: nowrap; +border-right: 1px solid #A8B8D9; +border-bottom: 1px solid #A8B8D9; +vertical-align: top; } .fieldtable td.fieldname { - padding-top: 3px; +padding-top: 3px; } .fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ +border-bottom: 1px solid #A8B8D9; +/*width: 100%;*/ } .fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - +margin-top: 0px; +} + .fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; +margin-bottom: 2px; } .fieldtable tr:last-child td { - border-bottom: none; +border-bottom: none; } .fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; +background-image:url('nav_f.png'); +background-repeat:repeat-x; +background-color: #E2E8F2; +font-size: 90%; +color: #253555; +padding-bottom: 4px; +padding-top: 5px; +text-align:left; +font-weight: 400; +-moz-border-radius-topleft: 4px; +-moz-border-radius-topright: 4px; +-webkit-border-top-left-radius: 4px; +-webkit-border-top-right-radius: 4px; +border-top-left-radius: 4px; +border-top-right-radius: 4px; +border-bottom: 1px solid #A8B8D9; } .tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; +top: 0px; +left: 10px; +height: 36px; +background-image: url('tab_b.png'); +z-index: 101; +overflow: hidden; +font-size: 13px; } .navpath ul { - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; +font-size: 11px; +background-image:url('tab_b.png'); +background-repeat:repeat-x; +background-position: 0 -5px; +height:30px; +line-height:30px; +color:#8AA0CC; +border:solid 1px #C2CDE4; +overflow:hidden; +margin:0px; +padding:0px; } .navpath li { - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; +list-style-type:none; +float:left; +padding-left:10px; +padding-right:15px; +background-image:url('bc_s.png'); +background-repeat:no-repeat; +background-position:right; +color:#364D7C; } .navpath li.navelem a { - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; +height:32px; +display:block; +text-decoration: none; +outline: none; +color: #283A5D; +font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +text-decoration: none; } .navpath li.navelem a:hover { - color:#6884BD; +color:#6884BD; } .navpath li.footer { - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; +list-style-type:none; +float:right; +padding-left:10px; +padding-right:15px; +background-image:none; +background-repeat:no-repeat; +background-position:right; +color:#364D7C; +font-size: 8pt; } div.summary { - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; +float: right; +font-size: 8pt; +padding-right: 5px; +width: 50%; +text-align: right; } div.summary a { - white-space: nowrap; +white-space: nowrap; } table.classindex { - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; +margin: 10px; +white-space: nowrap; +margin-left: 3%; +margin-right: 3%; +width: 94%; +border: 0; +border-spacing: 0; +padding: 0; } div.ingroups { - font-size: 8pt; - width: 50%; - text-align: left; +font-size: 8pt; +width: 50%; +text-align: left; } div.ingroups a { - white-space: nowrap; +white-space: nowrap; } div.header { - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; +background-image:url('nav_h.png'); +background-repeat:repeat-x; +background-color: #F9FAFC; +margin: 0px; +border-bottom: 1px solid #C4CFE5; } div.headertitle { - padding: 5px 5px 5px 10px; +padding: 5px 5px 5px 10px; } .PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; +text-align: right; +direction: rtl; } dl { - padding: 0 0 0 0; +padding: 0 0 0 0; } /* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ dl.section { - margin-left: 0px; - padding-left: 0px; +margin-left: 0px; +padding-left: 0px; } dl.section.DocNodeRTL { - margin-right: 0px; - padding-right: 0px; +margin-right: 0px; +padding-right: 0px; } dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; +margin-left: -7px; +padding-left: 3px; +border-left: 4px solid; +border-color: #D0C000; } dl.note.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #D0C000; +margin-left: 0; +padding-left: 0; +border-left: 0; +margin-right: -7px; +padding-right: 3px; +border-right: 4px solid; +border-color: #D0C000; } dl.warning, dl.attention { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; +margin-left: -7px; +padding-left: 3px; +border-left: 4px solid; +border-color: #FF0000; } dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #FF0000; +margin-left: 0; +padding-left: 0; +border-left: 0; +margin-right: -7px; +padding-right: 3px; +border-right: 4px solid; +border-color: #FF0000; } dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; +margin-left: -7px; +padding-left: 3px; +border-left: 4px solid; +border-color: #00D000; } dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00D000; +margin-left: 0; +padding-left: 0; +border-left: 0; +margin-right: -7px; +padding-right: 3px; +border-right: 4px solid; +border-color: #00D000; } dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; +margin-left: -7px; +padding-left: 3px; +border-left: 4px solid; +border-color: #505050; } dl.deprecated.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #505050; +margin-left: 0; +padding-left: 0; +border-left: 0; +margin-right: -7px; +padding-right: 3px; +border-right: 4px solid; +border-color: #505050; } dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; +margin-left: -7px; +padding-left: 3px; +border-left: 4px solid; +border-color: #00C0E0; } dl.todo.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00C0E0; +margin-left: 0; +padding-left: 0; +border-left: 0; +margin-right: -7px; +padding-right: 3px; +border-right: 4px solid; +border-color: #00C0E0; } dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; +margin-left: -7px; +padding-left: 3px; +border-left: 4px solid; +border-color: #3030E0; } dl.test.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #3030E0; +margin-left: 0; +padding-left: 0; +border-left: 0; +margin-right: -7px; +padding-right: 3px; +border-right: 4px solid; +border-color: #3030E0; } dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; +margin-left: -7px; +padding-left: 3px; +border-left: 4px solid; +border-color: #C08050; } dl.bug.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #C08050; +margin-left: 0; +padding-left: 0; +border-left: 0; +margin-right: -7px; +padding-right: 3px; +border-right: 4px solid; +border-color: #C08050; } dl.section dd { - margin-bottom: 6px; +margin-bottom: 6px; } #projectlogo { - text-align: center; - vertical-align: bottom; - border-collapse: separate; +text-align: center; +vertical-align: bottom; +border-collapse: separate; } - + #projectlogo img -{ - border: 0px none; +{ +border: 0px none; } - + #projectalign { - vertical-align: middle; +vertical-align: middle; } #projectname { - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; +font: 300% Tahoma, Arial,sans-serif; +margin: 0px; +padding: 2px 0px; } - + #projectbrief { - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; +font: 120% Tahoma, Arial,sans-serif; +margin: 0px; +padding: 0px; } #projectnumber { - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; +font: 50% Tahoma, Arial,sans-serif; +margin: 0px; +padding: 0px; } #titlearea { - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; +padding: 0px; +margin: 0px; +width: 100%; +border-bottom: 1px solid #5373B4; } .image { - text-align: center; +text-align: center; } .dotgraph { - text-align: center; +text-align: center; } .mscgraph { - text-align: center; +text-align: center; } .plantumlgraph { - text-align: center; +text-align: center; } .diagraph { - text-align: center; +text-align: center; } .caption { - font-weight: bold; +font-weight: bold; } div.zoom { - border: 1px solid #90A5CE; +border: 1px solid #90A5CE; } dl.citelist { - margin-bottom:50px; +margin-bottom:50px; } dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; +color:#334975; +float:left; +font-weight:bold; +margin-right:10px; +padding:5px; } dl.citelist dd { - margin:2px 0; - padding:5px 0; +margin:2px 0; +padding:5px 0; } div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; +padding: 14px 25px; +background-color: #F4F6FA; +border: 1px solid #D8DFEE; +border-radius: 7px 7px 7px 7px; +float: right; +height: auto; +margin: 0 8px 10px 10px; +width: 200px; } .PageDocRTL-title div.toc { - float: left !important; - text-align: right; +float: left !important; +text-align: right; } div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; +background: url("bdwn.png") no-repeat scroll 0 5px transparent; +font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; +margin-top: 5px; +padding-left: 10px; +padding-top: 2px; } .PageDocRTL-title div.toc li { - background-position-x: right !important; - padding-left: 0 !important; - padding-right: 10px; +background-position-x: right !important; +padding-left: 0 !important; +padding-right: 10px; } div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; +font: bold 12px/1.2 Arial,FreeSans,sans-serif; +color: #4665A2; +border-bottom: 0 none; +margin: 0; } div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} +list-style: none outside none; +border: medium none; +padding: 0px; +} div.toc li.level1 { - margin-left: 0px; +margin-left: 0px; } div.toc li.level2 { - margin-left: 15px; +margin-left: 15px; } div.toc li.level3 { - margin-left: 30px; +margin-left: 30px; } div.toc li.level4 { - margin-left: 45px; +margin-left: 45px; } .PageDocRTL-title div.toc li.level1 { - margin-left: 0 !important; - margin-right: 0; +margin-left: 0 !important; +margin-right: 0; } .PageDocRTL-title div.toc li.level2 { - margin-left: 0 !important; - margin-right: 15px; +margin-left: 0 !important; +margin-right: 15px; } .PageDocRTL-title div.toc li.level3 { - margin-left: 0 !important; - margin-right: 30px; +margin-left: 0 !important; +margin-right: 30px; } .PageDocRTL-title div.toc li.level4 { - margin-left: 0 !important; - margin-right: 45px; +margin-left: 0 !important; +margin-right: 45px; } .inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; +font-weight: bold; +color: gray; +cursor: pointer; +-webkit-touch-callout: none; +-webkit-user-select: none; +-khtml-user-select: none; +-moz-user-select: none; +-ms-user-select: none; +user-select: none; } .inherit_header td { - padding: 6px 0px 2px 5px; +padding: 6px 0px 2px 5px; } .inherit { - display: none; +display: none; } tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; +margin-top: 12px; +margin-bottom: 4px; } /* tooltip related style info */ .ttc { - position: absolute; - display: none; +position: absolute; +display: none; } #powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; +cursor: default; +white-space: nowrap; +background-color: white; +border: 1px solid gray; +border-radius: 4px 4px 4px 4px; +box-shadow: 1px 1px 7px gray; +display: none; +font-size: smaller; +max-width: 80%; +opacity: 0.9; +padding: 1ex 1em 1em; +position: absolute; +z-index: 2147483647; } #powerTip div.ttdoc { - color: grey; - font-style: italic; +color: grey; +font-style: italic; } #powerTip div.ttname a { - font-weight: bold; +font-weight: bold; } #powerTip div.ttname { - font-weight: bold; +font-weight: bold; } #powerTip div.ttdeci { - color: #006318; +color: #006318; } #powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; +margin: 0px; +padding: 0px; +font: 12px/16px Roboto,sans-serif; } #powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; +content: ""; +position: absolute; +margin: 0px; } #powerTip.n:after, #powerTip.n:before, @@ -1529,202 +1529,202 @@ tr.heading h2 { #powerTip.se:after, #powerTip.se:before, #powerTip.nw:after, #powerTip.nw:before, #powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; +border: solid transparent; +content: " "; +height: 0; +width: 0; +position: absolute; } #powerTip.n:after, #powerTip.s:after, #powerTip.w:after, #powerTip.e:after, #powerTip.nw:after, #powerTip.ne:after, #powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); +border-color: rgba(255, 255, 255, 0); } #powerTip.n:before, #powerTip.s:before, #powerTip.w:before, #powerTip.e:before, #powerTip.nw:before, #powerTip.ne:before, #powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); +border-color: rgba(128, 128, 128, 0); } #powerTip.n:after, #powerTip.n:before, #powerTip.ne:after, #powerTip.ne:before, #powerTip.nw:after, #powerTip.nw:before { - top: 100%; +top: 100%; } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; +border-top-color: #FFFFFF; +border-width: 10px; +margin: 0px -10px; } #powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; +border-top-color: #808080; +border-width: 11px; +margin: 0px -11px; } #powerTip.n:after, #powerTip.n:before { - left: 50%; +left: 50%; } #powerTip.nw:after, #powerTip.nw:before { - right: 14px; +right: 14px; } #powerTip.ne:after, #powerTip.ne:before { - left: 14px; +left: 14px; } #powerTip.s:after, #powerTip.s:before, #powerTip.se:after, #powerTip.se:before, #powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; +bottom: 100%; } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; +border-bottom-color: #FFFFFF; +border-width: 10px; +margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; +border-bottom-color: #808080; +border-width: 11px; +margin: 0px -11px; } #powerTip.s:after, #powerTip.s:before { - left: 50%; +left: 50%; } #powerTip.sw:after, #powerTip.sw:before { - right: 14px; +right: 14px; } #powerTip.se:after, #powerTip.se:before { - left: 14px; +left: 14px; } #powerTip.e:after, #powerTip.e:before { - left: 100%; +left: 100%; } #powerTip.e:after { - border-left-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; +border-left-color: #FFFFFF; +border-width: 10px; +top: 50%; +margin-top: -10px; } #powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; +border-left-color: #808080; +border-width: 11px; +top: 50%; +margin-top: -11px; } #powerTip.w:after, #powerTip.w:before { - right: 100%; +right: 100%; } #powerTip.w:after { - border-right-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; +border-right-color: #FFFFFF; +border-width: 10px; +top: 50%; +margin-top: -10px; } #powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; +border-right-color: #808080; +border-width: 11px; +top: 50%; +margin-top: -11px; } @media print { - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } +#top { display: none; } +#side-nav { display: none; } +#nav-path { display: none; } +body { overflow:visible; } +h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } +.summary { display: none; } +.memitem { page-break-inside: avoid; } +#doc-content +{ +margin-left:0 !important; +height:auto !important; +width:auto !important; +overflow:inherit; +display:inline; +} } /* @group Markdown */ table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; +border-collapse:collapse; +margin-top: 4px; +margin-bottom: 4px; } table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; +border: 1px solid #2D4068; +padding: 3px 7px 2px; } table.markdownTable tr { } th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; +background-color: #374F7F; +color: #FFFFFF; +font-size: 110%; +padding-bottom: 4px; +padding-top: 5px; } th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left +text-align: left } th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right +text-align: right } th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center +text-align: center } .DocNodeRTL { - text-align: right; - direction: rtl; +text-align: right; +direction: rtl; } .DocNodeLTR { - text-align: left; - direction: ltr; +text-align: left; +direction: ltr; } table.DocNodeRTL { - width: auto; - margin-right: 0; - margin-left: auto; +width: auto; +margin-right: 0; +margin-left: auto; } table.DocNodeLTR { - width: auto; - margin-right: auto; - margin-left: 0; +width: auto; +margin-right: auto; +margin-left: 0; } tt, code, kbd, samp { - display: inline-block; - direction:ltr; +display: inline-block; +direction:ltr; } /* @end */ u { - text-decoration: underline; +text-decoration: underline; } diff --git a/tools/doc/gen_ref_doc.py b/tools/doc/gen_ref_doc.py index 84f94eb257..10189f0ad0 100644 --- a/tools/doc/gen_ref_doc.py +++ b/tools/doc/gen_ref_doc.py @@ -2,13 +2,12 @@ from __future__ import print_function -import re import os +import re -def main(version_number): - """For each doc section, edit the doxy and header files, and generate the doc. - """ +def main(version): + """For each doc section, edit the doxy and header files, and generate the doc.""" sections = create_section_data() doxy_tmp = 'tools/doc/tmp.doxy' header_tmp = 'tools/doc/header.tmp.html' @@ -22,11 +21,11 @@ def main(version_number): doxyfile = 'tools/doc/' + section['doxyfile'] headerfile = 'tools/doc/' + section['headerfile'] footerfile = 'tools/doc/' + section['footerfile'] - styleSheetfile = 'tools/doc/' + section['styleSheetfile'] + stylesheetfile = 'tools/doc/' + section['styleSheetfile'] input_files = section['input_files'] # Edit doxyfile. project_name_string = 'PROJECT_NAME = ' + project_name - project_number_string = 'PROJECT_NUMBER = ' + version_number + project_number_string = 'PROJECT_NUMBER = ' + version html_output_string = 'HTML_OUTPUT = ' + output_dir input_string = 'INPUT = ' + input_files f = open(doxyfile, 'r') @@ -46,7 +45,8 @@ def main(version_number): f = open(headerfile, 'r') g = open(header_tmp, 'w') filedata = f.read() - filedata = re.sub('Banner Text', 'Google OR-Tools ' + version_number, filedata) + filedata = re.sub('Banner Text', 'Google OR-Tools ' + version, + filedata) filedata = re.sub('Page Title', title, filedata) # Write filedata. g.write(filedata) @@ -63,7 +63,7 @@ def main(version_number): g.close() # Edit style sheet file. - f = open(styleSheetfile, 'r') + f = open(stylesheetfile, 'r') g = open(style_sheet_tmp, 'w') filedata = f.read() # Write filedata. @@ -81,115 +81,138 @@ def main(version_number): os.system(f'rm {footer_tmp}') os.system(f'rm {style_sheet_tmp}') + def create_section_data(): - sections = [ - { - 'output_dir': 'cpp_algorithms', - 'project name': 'Algorithms', - 'title': 'C++ Reference: Algorithms', - 'doxyfile': 'cpp.doxy.in', - 'headerfile': 'cpp.header.html.in', - 'footerfile': 'all.footer.html.in', - 'styleSheetfile': 'all.styleSheet.css.in', + """Generate each section configuration.""" + sections = [{ + 'output_dir': + 'cpp_algorithms', + 'project name': + 'Algorithms', + 'title': + 'C++ Reference: Algorithms', + 'doxyfile': + 'cpp.doxy.in', + 'headerfile': + 'cpp.header.html.in', + 'footerfile': + 'all.footer.html.in', + 'styleSheetfile': + 'all.styleSheet.css.in', 'input_files': - 'ortools/algorithms/dense_doubly_linked_list.h ' + - 'ortools/algorithms/dynamic_partition.h ' + - 'ortools/algorithms/dynamic_permutation.h ' + - 'ortools/algorithms/find_graph_symmetries.h ' + - 'ortools/algorithms/hungarian.h ' + - 'ortools/algorithms/knapsack_solver.h ' + - 'ortools/algorithms/sparse_permutation.h' - }, - { - 'output_dir': 'cpp_sat', - 'project name': 'CP-SAT', - 'title': 'C++ Reference: CP-SAT', - 'doxyfile': 'cpp.doxy.in', - 'headerfile': 'cpp.header.html.in', - 'footerfile': 'all.footer.html.in', - 'styleSheetfile': 'all.styleSheet.css.in', + 'ortools/algorithms/dense_doubly_linked_list.h ' + + 'ortools/algorithms/dynamic_partition.h ' + + 'ortools/algorithms/dynamic_permutation.h ' + + 'ortools/algorithms/find_graph_symmetries.h ' + + 'ortools/algorithms/hungarian.h ' + + 'ortools/algorithms/knapsack_solver.h ' + + 'ortools/algorithms/sparse_permutation.h' + }, { + 'output_dir': + 'cpp_sat', + 'project name': + 'CP-SAT', + 'title': + 'C++ Reference: CP-SAT', + 'doxyfile': + 'cpp.doxy.in', + 'headerfile': + 'cpp.header.html.in', + 'footerfile': + 'all.footer.html.in', + 'styleSheetfile': + 'all.styleSheet.css.in', 'input_files': - 'ortools/sat/cp_model.h ' + - 'ortools/sat/cp_model_solver.h ' + - 'ortools/sat/model.h ' + - 'ortools/util/sorted_interval_list.h ' + - 'ortools/util/time_limit.h ' + - 'ortools/gen/ortools/sat/boolean_problem.pb.h ' + - 'ortools/gen/ortools/sat/cp_model.pb.h ' + - 'ortools/gen/ortools/sat/sat_parameters.pb.h' - }, - { - 'output_dir': 'cpp_graph', - 'project name': 'Graph', - 'title': 'C++ Reference: Graph', - 'doxyfile': 'cpp.doxy.in', - 'headerfile': 'cpp.header.html.in', - 'footerfile': 'all.footer.html.in', - 'styleSheetfile': 'all.styleSheet.css.in', + 'ortools/sat/cp_model.h ' + 'ortools/sat/cp_model_solver.h ' + + 'ortools/sat/model.h ' + 'ortools/util/sorted_interval_list.h ' + + 'ortools/util/time_limit.h ' + + 'ortools/gen/ortools/sat/boolean_problem.pb.h ' + + 'ortools/gen/ortools/sat/cp_model.pb.h ' + + 'ortools/gen/ortools/sat/sat_parameters.pb.h' + }, { + 'output_dir': + 'cpp_graph', + 'project name': + 'Graph', + 'title': + 'C++ Reference: Graph', + 'doxyfile': + 'cpp.doxy.in', + 'headerfile': + 'cpp.header.html.in', + 'footerfile': + 'all.footer.html.in', + 'styleSheetfile': + 'all.styleSheet.css.in', 'input_files': - 'ortools/graph/christofides.h ' + - 'ortools/graph/cliques.h ' + - 'ortools/graph/connected_components.h ' + - 'ortools/graph/connectivity.h ' + - 'ortools/graph/ebert_graph.h ' + - 'ortools/graph/eulerian_path.h ' + - 'ortools/graph/graph.h ' + - 'ortools/graph/graphs.h ' + - 'ortools/graph/hamiltonian_path.h ' + - 'ortools/graph/io.h ' + - 'ortools/graph/iterators.h ' + - 'ortools/graph/linear_assignment.h ' + - 'ortools/graph/max_flow.h ' + - 'ortools/graph/min_cost_flow.h ' + - 'ortools/graph/minimum_spanning_tree.h ' + - 'ortools/graph/one_tree_lower_bound.h ' + - 'ortools/graph/shortestpaths.h ' + - 'ortools/graph/strongly_connected_components.h ' + - 'ortools/graph/util.h ' + - 'ortools/gen/ortools/graph/flow_problem.pb.h ' - }, - { - 'output_dir': 'cpp_linear', - 'project name': 'Linear solver', - 'title': 'C++ Reference: Linear solver', - 'doxyfile': 'cpp.doxy.in', - 'headerfile': 'cpp.header.html.in', - 'footerfile': 'all.footer.html.in', - 'styleSheetfile': 'all.styleSheet.css.in', + 'ortools/graph/christofides.h ' + 'ortools/graph/cliques.h ' + + 'ortools/graph/connected_components.h ' + + 'ortools/graph/connectivity.h ' + 'ortools/graph/ebert_graph.h ' + + 'ortools/graph/eulerian_path.h ' + 'ortools/graph/graph.h ' + + 'ortools/graph/graphs.h ' + 'ortools/graph/hamiltonian_path.h ' + + 'ortools/graph/io.h ' + 'ortools/graph/iterators.h ' + + 'ortools/graph/linear_assignment.h ' + 'ortools/graph/max_flow.h ' + + 'ortools/graph/min_cost_flow.h ' + + 'ortools/graph/minimum_spanning_tree.h ' + + 'ortools/graph/one_tree_lower_bound.h ' + + 'ortools/graph/shortestpaths.h ' + + 'ortools/graph/strongly_connected_components.h ' + + 'ortools/graph/util.h ' + + 'ortools/gen/ortools/graph/flow_problem.pb.h ' + }, { + 'output_dir': + 'cpp_linear', + 'project name': + 'Linear solver', + 'title': + 'C++ Reference: Linear solver', + 'doxyfile': + 'cpp.doxy.in', + 'headerfile': + 'cpp.header.html.in', + 'footerfile': + 'all.footer.html.in', + 'styleSheetfile': + 'all.styleSheet.css.in', 'input_files': - 'ortools/linear_solver/linear_expr.h ' + - 'ortools/linear_solver/linear_solver.h ' + - 'ortools/linear_solver/model_exporter.h ' + - 'ortools/linear_solver/model_exporter_swig_helper.h ' + - 'ortools/linear_solver/model_validator.h ' + - 'ortools/gen/ortools/linear_solver/linear_solver.pb.h ' - }, - { - 'output_dir': 'cpp_routing', - 'project name': 'Routing', - 'title': 'C++ Reference: Routing', - 'doxyfile': 'cpp.doxy.in', - 'headerfile': 'cpp.header.html.in', - 'footerfile': 'all.footer.html.in', - 'styleSheetfile': 'all.styleSheet.css.in', + 'ortools/linear_solver/linear_expr.h ' + + 'ortools/linear_solver/linear_solver.h ' + + 'ortools/linear_solver/model_exporter.h ' + + 'ortools/linear_solver/model_exporter_swig_helper.h ' + + 'ortools/linear_solver/model_validator.h ' + + 'ortools/gen/ortools/linear_solver/linear_solver.pb.h ' + }, { + 'output_dir': + 'cpp_routing', + 'project name': + 'Routing', + 'title': + 'C++ Reference: Routing', + 'doxyfile': + 'cpp.doxy.in', + 'headerfile': + 'cpp.header.html.in', + 'footerfile': + 'all.footer.html.in', + 'styleSheetfile': + 'all.styleSheet.css.in', 'input_files': - 'ortools/constraint_solver/constraint_solver.h ' + - 'ortools/constraint_solver/constraint_solveri.h ' + - 'ortools/constraint_solver/routing.h ' + - 'ortools/constraint_solver/routing_flags.h ' + - 'ortools/constraint_solver/routing_index_manager.h ' + - 'ortools/constraint_solver/routing_lp_scheduling.h ' + - 'ortools/constraint_solver/routing_neighborhoods.h ' + - 'ortools/constraint_solver/routing_parameters.h ' + - 'ortools/constraint_solver/routing_types.h ' + - 'ortools/gen/ortools/constraint_solver/assignment.pb.h ' + - 'ortools/gen/ortools/constraint_solver/demon_profiler.pb.h ' + - 'ortools/gen/ortools/constraint_solver/routing_enums.pb.h ' + - 'ortools/gen/ortools/constraint_solver/routing_parameters.pb.h ' + - 'ortools/gen/ortools/constraint_solver/search_limit.pb.h ' + - 'ortools/gen/ortools/constraint_solver/solver_parameters.pb.h ' - }, - { + 'ortools/constraint_solver/constraint_solver.h ' + + 'ortools/constraint_solver/constraint_solveri.h ' + + 'ortools/constraint_solver/routing.h ' + + 'ortools/constraint_solver/routing_flags.h ' + + 'ortools/constraint_solver/routing_index_manager.h ' + + 'ortools/constraint_solver/routing_lp_scheduling.h ' + + 'ortools/constraint_solver/routing_neighborhoods.h ' + + 'ortools/constraint_solver/routing_parameters.h ' + + 'ortools/constraint_solver/routing_types.h ' + + 'ortools/gen/ortools/constraint_solver/assignment.pb.h ' + + 'ortools/gen/ortools/constraint_solver/demon_profiler.pb.h ' + + 'ortools/gen/ortools/constraint_solver/routing_enums.pb.h ' + + 'ortools/gen/ortools/constraint_solver/routing_parameters.pb.h ' + + 'ortools/gen/ortools/constraint_solver/search_limit.pb.h ' + + 'ortools/gen/ortools/constraint_solver/solver_parameters.pb.h ' + }, { 'output_dir': 'cpp', 'project name': 'OR-Tools', 'title': 'C++ Reference', @@ -197,11 +220,8 @@ def create_section_data(): 'headerfile': 'default.header.html.in', 'footerfile': 'default.footer.html.in', 'styleSheetfile': 'default.styleSheet.css.in', - 'input_files': - 'ortools ' + - 'tools/doc' - }, - { + 'input_files': 'ortools ' + 'tools/doc' + }, { 'output_dir': 'dotnet', 'project name': 'OR-Tools', 'title': '.Net Reference', @@ -209,11 +229,8 @@ def create_section_data(): 'headerfile': 'dotnet.header.html.in', 'footerfile': 'all.footer.html.in', 'styleSheetfile': 'all.styleSheet.css.in', - 'input_files': - 'ortools ' + - 'tools/doc' - }, - { + 'input_files': 'ortools ' + 'tools/doc' + }, { 'output_dir': 'java', 'project name': 'OR-Tools', 'title': 'Java Reference', @@ -221,21 +238,19 @@ def create_section_data(): 'headerfile': 'java.header.html.in', 'footerfile': 'all.footer.html.in', 'styleSheetfile': 'all.styleSheet.css.in', - 'input_files': - 'ortools ' + - 'tools/doc' - } - ] + 'input_files': 'ortools ' + 'tools/doc' + }] return sections + if __name__ == '__main__': - f = open('Version.txt', 'r') - ft = f.read() - f.close() + version_file = open('Version.txt', 'r') + version_file_data = version_file.read() + version_file.close() major_pattern = re.compile(r'OR_TOOLS_MAJOR=(\d)') minor_pattern = re.compile(r'OR_TOOLS_MINOR=(\d)') - major = major_pattern.findall(ft)[0] - minor = minor_pattern.findall(ft)[0] + major = major_pattern.findall(version_file_data)[0] + minor = minor_pattern.findall(version_file_data)[0] version_number = f'{major}.{minor}' main(version_number) diff --git a/tools/docker/build-manylinux1.sh b/tools/docker/build-manylinux1.sh index 9479698436..2fd8b349d9 100755 --- a/tools/docker/build-manylinux1.sh +++ b/tools/docker/build-manylinux1.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Build all the wheel artifacts for the platforms supported by manylinux1 and # export them to the specified location. # @@ -15,8 +15,7 @@ # destination path for the wheels export. # BUILD_ROOT if not specified at command line, this value is used as the # root path for the build process. -set -x -set -eo pipefail +set -euxo pipefail DEFAULT_BUILD_ROOT="$HOME" DEFAULT_EXPORT_ROOT="${HOME}/export" @@ -45,7 +44,7 @@ function export_manylinux_wheel { # Arguments: # $1 the or-tools sources root directory # $2 the artifacts export directory - if [ "$#" -ne 2 ]; then + if [[ "$#" -ne 2 ]]; then echo "build_pypi_archives called with an illegal number of parameters" exit 1 # TODO return error and check it outside fi @@ -90,26 +89,26 @@ function test_installed { ############################################################################### # Setup -if [ -z "$1" ]; then +if [[ -z "$1" ]]; then (>&2 usage) exit 1 fi SRC_ROOT="$1"; -if [ -n "$2" ]; then BUILD_ROOT="$2"; fi -if [ -n "$3" ]; then EXPORT_ROOT="$3"; fi +if [[ -n "$2" ]]; then BUILD_ROOT="$2"; fi +if [[ -n "$3" ]]; then EXPORT_ROOT="$3"; fi -if [ ! -d "$SRC_ROOT" ]; then +if [[ ! -d "$SRC_ROOT" ]]; then (>&2 echo "Can't find or-tools sources at the specified location: $SRC_ROOT") exit 1 fi -if [ -z "$BUILD_ROOT" ]; then +if [[ -z "$BUILD_ROOT" ]]; then (>&2 echo "\$BUILD_ROOT is not set, using default location: $DEFAULT_BUILD_ROOT") BUILD_ROOT="$DEFAULT_BUILD_ROOT" fi -if [ -z "$EXPORT_ROOT" ]; then +if [[ -z "$EXPORT_ROOT" ]]; then (>&2 echo "\$EXPORT_ROOT is not set, using default location: $DEFAULT_EXPORT_ROOT") EXPORT_ROOT="$DEFAULT_EXPORT_ROOT" fi @@ -145,7 +144,7 @@ mkdir -p "${BUILD_ROOT}" mkdir -p "${EXPORT_ROOT}" # Make third_party if needed -if [ ! -f "${SRC_ROOT}/Makefile.local" ]; then +if [[ ! -f "${SRC_ROOT}/Makefile.local" ]]; then (>&2 echo "\${SRC_ROOT}/Makefile.local doesn't exist, building third_party") cd "$SRC_ROOT" make third_party @@ -159,7 +158,7 @@ do PYTAG=$(basename "$PYROOT") # Check for platforms to be skipped _skip=$(contains_element "$PYTAG" "${SKIP[@]}") - if [ "$_skip" -eq '0' ]; then + if [[ "$_skip" -eq '0' ]]; then (>&2 echo "skipping deprecated platform $PYTAG") continue fi @@ -184,14 +183,14 @@ do # Hack wheel file to rename it manylinux1 since manylinux2010 is still not # supported by default pip on most distro. - FILE=(${EXPORT_ROOT}/ortools-*-${PYTAG}-manylinux2010_x86_64.whl) + FILE=${EXPORT_ROOT}/ortools-*-${PYTAG}-manylinux2010_x86_64.whl echo "Old wheel file to hack: ${WHEEL_FILE}" # Unpack to hack it unzip "$FILE" -d /tmp - rm -f $FILE - WHEEL_FILE=(/tmp/ortools-*.dist-info/WHEEL) - RECORD_FILE=(/tmp/ortools-*.dist-info/RECORD) + rm -f "$FILE" + WHEEL_FILE=/tmp/ortools-*.dist-info/WHEEL + RECORD_FILE=/tmp/ortools-*.dist-info/RECORD # Save old hash and size, in order to look them up in RECORD # see: https://github.com/pypa/pip/blob/c9df690f3b5bb285a855953272e6fe24f69aa08a/src/pip/_internal/wheel.py#L71-L84 @@ -204,24 +203,24 @@ hashlib.sha256(open('${WHEEL_FILE}', 'rb').read())\ .digest())\ .decode('latin1')\ .rstrip('='))\"" - OLD_HASH=$(eval ${WHEEL_HASH_CMD}) - OLD_SIZE=$(wc -c < ${WHEEL_FILE}) + OLD_HASH=$(eval "${WHEEL_HASH_CMD}") + OLD_SIZE=$(wc -c < "${WHEEL_FILE}") # Hack the WHEEL file and recompute the new hash - sed -i 's/manylinux2010/manylinux1/' ${WHEEL_FILE} - NEW_HASH=$(eval ${WHEEL_HASH_CMD}) - NEW_SIZE=$(wc -c < ${WHEEL_FILE}) + sed -i 's/manylinux2010/manylinux1/' "${WHEEL_FILE}" + NEW_HASH=$(eval "${WHEEL_HASH_CMD}") + NEW_SIZE=$(wc -c < "${WHEEL_FILE}") # Update RECORD file with the new hash and size - sed -i "s/${OLD_HASH},${OLD_SIZE}/${NEW_HASH},${NEW_SIZE}/" ${RECORD_FILE} + sed -i "s/${OLD_HASH},${OLD_SIZE}/${NEW_HASH},${NEW_SIZE}/" "${RECORD_FILE}" # Repack it as a manylinux1 package WHEEL_FILE=${FILE//manylinux2010/manylinux1} - (cd /tmp; zip -r ${WHEEL_FILE} ortools ortools-*; rm -r ortools*) + (cd /tmp; zip -r "${WHEEL_FILE}" ortools ortools-*; rm -r ortools*) echo "New hacked wheel file: ${WHEEL_FILE}" # verify manylinux1 package integrity using pex pip install pex - python -m pex -o ort.pex ${WHEEL_FILE} + python -m pex -o ort.pex "${WHEEL_FILE}" rm ort.pex # Restore environment diff --git a/tools/export_to_ipynb.py b/tools/export_to_ipynb.py index 0c719c9b2a..93db1cf417 100755 --- a/tools/export_to_ipynb.py +++ b/tools/export_to_ipynb.py @@ -9,7 +9,7 @@ from nbformat import v4 input_file = sys.argv[1] print(f'reading {input_file}') with open(input_file) as fpin: - text = fpin.read() + text = fpin.read() # Compute output file path. output_file = input_file @@ -27,12 +27,12 @@ output_file = output_file.replace('samples/', '') nbook = v3.reads_py('') nbook = v4.upgrade(nbook) # Upgrade v3 to v4 -print(f'Adding copyright cell...') -copyright = '##### Copyright 2020 The OR-Tools Authors.' -nbook['cells'].append(v4.new_markdown_cell(copyright)) +print('Adding copyright cell...') +google = '##### Copyright 2020 Google LLC.' +nbook['cells'].append(v4.new_markdown_cell(google)) -print(f'Adding license cell...') -license = '''Licensed under the Apache License, Version 2.0 (the "License"); +print('Adding license cell...') +apache = '''Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -44,13 +44,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ''' -nbook['cells'].append(v4.new_markdown_cell(license)) +nbook['cells'].append(v4.new_markdown_cell(apache)) -print(f'Adding Title cell...') +print('Adding Title cell...') basename = '# ' + os.path.basename(input_file).replace('.py', '') nbook['cells'].append(v4.new_markdown_cell(basename)) -print(f'Adding link cell...') +print('Adding link cell...') github_logo = 'https://raw.githubusercontent.com/google/or-tools/master/tools/github_32px.png' github_path = 'https://github.com/google/or-tools/blob/master/' + input_file @@ -66,13 +66,15 @@ link = f'''