diff --git a/data/test.schema.json b/data/test.schema.json index d3b80d06b..aa3cf8fec 100644 --- a/data/test.schema.json +++ b/data/test.schema.json @@ -20,6 +20,7 @@ "type": "string", "enum": [ "file", + "dir", "exe", "shared_lib", "pdb", diff --git a/docs/markdown/Contributing.md b/docs/markdown/Contributing.md index b16f61542..07ddc8834 100644 --- a/docs/markdown/Contributing.md +++ b/docs/markdown/Contributing.md @@ -242,6 +242,7 @@ current platform. The following values are currently supported: | type | Description | | ------------- | ------------------------------------------------------------------------------------------------------- | | `file` | No postprocessing, just use the provided path | +| `dir` | To include all files inside the directory (for generated docs, etc). The path must be a valid directory | | `exe` | For executables. On Windows the `.exe` suffix is added to the path in `file` | | `shared_lib` | For shared libraries, always written as `name`. The appropriate suffix and prefix are added by platform | | `pdb` | For Windows PDB files. PDB entries are ignored on non Windows platforms | diff --git a/run_project_tests.py b/run_project_tests.py index 56b7e2ac2..c84388892 100755 --- a/run_project_tests.py +++ b/run_project_tests.py @@ -131,7 +131,7 @@ class InstalledFile: return None # Handle the different types - if self.typ == 'file': + if self.typ in ['file', 'dir']: return p elif self.typ == 'shared_lib': if env.machines.host.is_windows() or env.machines.host.is_cygwin(): @@ -182,6 +182,20 @@ class InstalledFile: return p + def get_paths(self, compiler: str, env: environment.Environment, installdir: Path) -> T.List[Path]: + p = self.get_path(compiler, env) + if not p: + return [] + if self.typ == 'dir': + abs_p = installdir / p + if not abs_p.exists(): + raise RuntimeError('{} does not exist'.format(p)) + if not abs_p.is_dir(): + raise RuntimeError('{} is not a directory'.format(p)) + return [x.relative_to(installdir) for x in abs_p.rglob('*') if x.is_file() or x.is_symlink()] + else: + return [p] + @functools.total_ordering class TestDef: def __init__(self, path: Path, name: T.Optional[str], args: T.List[str], skip: bool = False): @@ -295,10 +309,15 @@ def platform_fix_name(fname: str, canonical_compiler: str, env: environment.Envi return fname def validate_install(test: TestDef, installdir: Path, compiler: str, env: environment.Environment) -> str: - expected_raw = [x.get_path(compiler, env) for x in test.installed_files] - expected = {Path(x): False for x in expected_raw if x} - found = [x.relative_to(installdir) for x in installdir.rglob('*') if x.is_file() or x.is_symlink()] ret_msg = '' + expected_raw = [] # type: T.List[Path] + for i in test.installed_files: + try: + expected_raw += i.get_paths(compiler, env, installdir) + except RuntimeError as err: + ret_msg += 'Expected path error: {}\n'.format(err) + expected = {x: False for x in expected_raw} + found = [x.relative_to(installdir) for x in installdir.rglob('*') if x.is_file() or x.is_symlink()] # Mark all found files as found and detect unexpected files for fname in found: if fname not in expected: diff --git a/test cases/frameworks/14 doxygen/test.json b/test cases/frameworks/14 doxygen/test.json index 85fdf73e1..f4a6f8a76 100644 --- a/test cases/frameworks/14 doxygen/test.json +++ b/test cases/frameworks/14 doxygen/test.json @@ -1,87 +1,5 @@ { "installed": [ - {"type": "file", "file": "usr/share/doc/spede/html/annotated.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/bc_s.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/bdwn.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/classComedy_1_1Comedian.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/classComedy_1_1Comedian.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/classComedy_1_1Comedian-members.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/classComedy_1_1Spede.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/classComedy_1_1Spede.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/classComedy_1_1Spede-members.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/classes.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/closed.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/comedian_8h_source.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/dir_7bdce917e28dfbd493cadd1d2e5c7d80.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/dir_44a4667d36a4476878de085754f6d2b9.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/dir_68b523c5b3a2dcea45d5ce70397fb722.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/dir_a7e6472d2301212032fd74682f8217f3.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/dir_ee191f21c02d247cc959e80c1a3acadf.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/doc.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/doxygen.css"}, - {"type": "file", "file": "usr/share/doc/spede/html/doxygen.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/dynsections.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/files.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/folderclosed.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/folderopen.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/functions.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/functions_func.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/hierarchy.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/index.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/jquery.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/menu.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/menudata.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/namespaceComedy.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/namespacemembers.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/namespacemembers_func.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/namespaces.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/nav_f.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/nav_g.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/nav_h.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/open.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/all_0.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/all_0.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/all_1.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/all_1.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/all_2.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/all_2.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/all_3.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/all_3.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/classes_0.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/classes_0.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/classes_1.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/classes_1.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/close.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/files_0.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/files_0.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/functions_0.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/functions_0.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/functions_1.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/functions_1.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/functions_2.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/functions_2.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/mag_sel.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/namespaces_0.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/namespaces_0.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/nomatches.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/pages_0.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/pages_0.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/search.css"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/search.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/searchdata.js"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/search_l.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/search_m.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/search/search_r.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/spede_8cpp.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/spede_8h.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/spede_8h_source.html"}, - {"type": "file", "file": "usr/share/doc/spede/html/splitbar.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/sync_off.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/sync_on.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/tabs.css"}, - {"type": "file", "file": "usr/share/doc/spede/html/tab_a.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/tab_b.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/tab_h.png"}, - {"type": "file", "file": "usr/share/doc/spede/html/tab_s.png"} + {"type": "dir", "file": "usr/share/doc/spede/html"} ] } diff --git a/test cases/frameworks/23 hotdoc/test.json b/test cases/frameworks/23 hotdoc/test.json index 8dd07e0a4..8b7bd7ecc 100644 --- a/test cases/frameworks/23 hotdoc/test.json +++ b/test cases/frameworks/23 hotdoc/test.json @@ -1,319 +1,6 @@ { "installed": [ - {"type": "file", "file": "usr/share/doc/foobar/html/foo.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/c-index.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/index.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/dumped.trie"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/theme.json"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/css/prism-tomorrow.css"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/css/bootstrap-toc.min.css"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/css/frontend.css"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/css/dumped.trie"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/css/jquery.mCustomScrollbar.min.css"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/css/custom_bootstrap.css"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/navbar_links.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/scripts.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/stylesheets.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/multi_return_value.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/parameters.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/base_page.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/footer.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/extra_head.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/parameter_detail.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/navbar_center.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/enum_member.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/member_list.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/return_item.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/subpages.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/dumped.trie"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/page_content.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/navbar.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/site_navigation.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/field_detail.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/templates/brand-logo.html"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/prism_autoloader_path_override.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/jquery.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/scrollspy.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/isotope.pkgd.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/utils.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/typeahead.jquery.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/language_switching.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/tag_filtering.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/prism-autoloader.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/navbar_offset_scroller.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/lines_around_headings.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/trie_index.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/trie.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/bootstrap.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/navigation.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/bootstrap-toc.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/anchor.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/prism-core.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/sitemap.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/dumped.trie"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/mustache.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/compare-versions.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/jquery.touchSwipe.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/jquery.mCustomScrollbar.concat.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/members"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/Hello"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/hello"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/type"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/FooIndecision"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/fooindecision"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/Members"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/dumped.trie"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/indecision"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/index.html-hello-world.fragment"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/dumped.trie"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/foo.html-FooIndecision.fragment"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/Subpages"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/foo"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/API"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/Reference"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/api"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/reference"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/subpages"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/index.html-subpages.fragment"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/c-index.html-subpages.fragment"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-inform7.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-pascal.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-bro.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nim.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-gherkin.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-stylus.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-ocaml.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-powershell.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-smalltalk.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-verilog.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-puppet.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-aspnet.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-parigp.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-objectivec.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-processing.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-objectivec.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-jsx.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nginx.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-powershell.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-php.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-smarty.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-roboconf.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-batch.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-vhdl.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-protobuf.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-textile.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-crystal.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-scss.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-bro.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-smarty.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-bison.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-tcl.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-pure.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-makefile.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-applescript.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-css-extras.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-stylus.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-q.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-dart.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-oz.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-haskell.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-clike.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-kotlin.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-http.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-bash.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-apl.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-docker.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-sass.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-basic.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nasm.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-kotlin.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-abap.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-perl.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-rust.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-c.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-scala.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-glsl.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-lua.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-coffeescript.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-jade.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-keyman.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-crystal.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-rest.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-json.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-roboconf.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-twig.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-dart.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-vim.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-handlebars.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-cpp.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-fsharp.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-sas.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-brainfuck.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-haxe.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-julia.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-jade.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-python.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nim.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-typescript.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-csharp.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-brainfuck.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-asciidoc.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-groovy.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-applescript.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-elixir.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-diff.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-scheme.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-parser.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-qore.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-yaml.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-j.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-mel.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-css-extras.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-erlang.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-icon.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-actionscript.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-cpp.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-makefile.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-q.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nsis.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-mizar.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-wiki.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-csharp.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-julia.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-coffeescript.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-sql.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-php-extras.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-basic.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-swift.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-haxe.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-apacheconf.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-javascript.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-markup.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-keyman.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-sql.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-php-extras.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-scheme.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-python.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-autoit.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-gherkin.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-java.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-parigp.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-autohotkey.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-ruby.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nginx.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-core.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-fortran.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nasm.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-ini.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-protobuf.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-jsx.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-markdown.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nix.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nsis.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-oz.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-less.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-abap.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-puppet.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-nix.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-pascal.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-latex.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-verilog.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-aspnet.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-go.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-glsl.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-inform7.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-yaml.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-matlab.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-lua.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-mizar.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-c.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-fsharp.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-haml.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-rust.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-icon.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-fortran.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-qore.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-batch.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-eiffel.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-vim.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-j.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-eiffel.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-elixir.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-erlang.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-matlab.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-tcl.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-ruby.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-d.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-swift.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-wiki.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-lolcode.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-latex.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-prolog.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-php.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-scss.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-vhdl.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-lolcode.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-prolog.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-apacheconf.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-core.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-diff.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-json.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-ini.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/dumped.trie"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-r.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-markup.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-apl.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-markdown.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-asciidoc.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-ocaml.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-javascript.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-autohotkey.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-less.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-pure.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-groovy.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-bison.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-sass.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-css.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-haml.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-handlebars.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-textile.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-parser.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-docker.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-monkey.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-http.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-git.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-sas.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-go.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-mel.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-rest.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-clike.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-d.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-haskell.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-git.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-java.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-rip.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-perl.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-typescript.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-actionscript.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-autoit.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-rip.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-twig.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-monkey.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-processing.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-scala.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-smalltalk.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-bash.min.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-r.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/prism_components/prism-css.js"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/fonts/glyphicons-halflings-regular.woff"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/fonts/glyphicons-halflings-regular.woff2"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/fonts/glyphicons-halflings-regular.svg"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/fonts/glyphicons-halflings-regular.ttf"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/fonts/glyphicons-halflings-regular.eot"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/fonts/dumped.trie"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/images/home.svg"}, - {"type": "file", "file": "usr/share/doc/foobar/html/assets/images/dumped.trie"} + {"type": "dir", "file": "usr/share/doc/foobar/html"} ], "tools": { "hotdoc": ">=0.1.0"