|
| 1 | +import generate ; |
| 2 | +import path ; |
| 3 | +import property-set ; |
| 4 | +import virtual-target ; |
| 5 | + |
| 6 | +path-constant HERE : . ; |
| 7 | + |
| 8 | +make html/index.html : build_docs.sh : @run-script ; |
| 9 | +generate files-to-install : html/index.html : <generating-rule>@delayed-glob ; |
| 10 | +install install |
| 11 | + : files-to-install |
| 12 | + : <location>html |
| 13 | + <install-source-root>html/dynamic_bitset |
| 14 | + ; |
| 15 | +explicit html/index.html files-to-install ; |
| 16 | + |
| 17 | +# this runs the antora script |
| 18 | +actions run-script |
| 19 | +{ |
| 20 | + bash $(>) |
| 21 | +} |
| 22 | + |
| 23 | +# this globs after its sources are created |
| 24 | +rule delayed-glob ( project name : property-set : sources * ) |
| 25 | +{ |
| 26 | + for local src in $(sources) |
| 27 | + { |
| 28 | + # the next line causes the source to be generated immediately |
| 29 | + # and not later (which it normally would) |
| 30 | + UPDATE_NOW [ $(src).actualize ] ; |
| 31 | + } |
| 32 | + |
| 33 | + # we need to construct the path to the globbed directory; |
| 34 | + # this path would be <current-project>/antora |
| 35 | + local root = [ path.root html [ $(project).location ] ] ; |
| 36 | + local files ; |
| 37 | + |
| 38 | + # actual globbing happens here |
| 39 | + for local file in [ path.glob-tree $(root) : * ] |
| 40 | + { |
| 41 | + # we have to skip directories, because our match expression accepts anything |
| 42 | + if [ CHECK_IF_FILE $(file) ] |
| 43 | + { |
| 44 | + # we construct a list of targets to copy |
| 45 | + files += [ virtual-target.from-file $(file:D=) : $(file:D) : $(project) ] ; |
| 46 | + } |
| 47 | + } |
| 48 | + |
| 49 | + # we prepend empty usage requirements to the result |
| 50 | + return [ property-set.empty ] $(files) ; |
| 51 | +} |
| 52 | + |
| 53 | +############################################################################### |
| 54 | +alias boostdoc ; |
| 55 | +explicit boostdoc ; |
| 56 | +alias boostrelease : install ; |
| 57 | +explicit boostrelease ; |
0 commit comments