# t40003 - Dependants and dependencies include diagram filter test ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t40003_include: type: include # Provide the files to parse in order to look # for #include directives glob: - ../../tests/t40003/src/dependants/t1.cc - ../../tests/t40003/src/dependencies/t2.cc # Render the paths relative to this directory relative_to: ../../../tests/t40003 include: # Include only files which depend on t1.h dependants: - include/dependants/t1.h # and dependencies of t2.cc dependencies: - src/dependencies/t2.cc plantuml: before: - "' t40003 test include diagram" ``` ## Source code ## Generated UML diagrams ![t40003_include](./t40003_include.svg "Dependants and dependencies include diagram filter test") ## Generated JSON models ```json { "diagram_type": "include", "elements": [ { "display_name": "src", "elements": [ { "display_name": "src/dependants", "elements": [ { "display_name": "src/dependants/t1.cc", "file_kind": "implementation", "id": "1215324434184692437", "name": "t1.cc", "type": "file" } ], "id": "1128556599972003761", "name": "dependants", "type": "folder" }, { "display_name": "src/dependencies", "elements": [ { "display_name": "src/dependencies/t2.cc", "file_kind": "implementation", "id": "2215849176605856058", "name": "t2.cc", "type": "file" } ], "id": "2015386828772336316", "name": "dependencies", "type": "folder" } ], "id": "1387619747296316447", "name": "src", "type": "folder" }, { "display_name": "include", "elements": [ { "display_name": "include/dependants", "elements": [ { "display_name": "include/dependants/t3.h", "file_kind": "header", "id": "60001020671836182", "name": "t3.h", "type": "file" }, { "display_name": "include/dependants/t2.h", "file_kind": "header", "id": "1921842892192045013", "name": "t2.h", "type": "file" }, { "display_name": "include/dependants/t1.h", "file_kind": "header", "id": "2295271780650013565", "name": "t1.h", "type": "file" } ], "id": "1763526330848915994", "name": "dependants", "type": "folder" }, { "display_name": "include/dependencies", "elements": [ { "display_name": "include/dependencies/t3.h", "file_kind": "header", "id": "1226843223635488673", "name": "t3.h", "type": "file" }, { "display_name": "include/dependencies/t2.h", "file_kind": "header", "id": "1849348825646635129", "name": "t2.h", "type": "file" }, { "display_name": "include/dependencies/t1.h", "file_kind": "header", "id": "1120257488305564427", "name": "t1.h", "type": "file" }, { "display_name": "include/dependencies/t5.h", "file_kind": "header", "id": "2106129159239499468", "name": "t5.h", "type": "file" } ], "id": "1833478793852674517", "name": "dependencies", "type": "folder" } ], "id": "989412417490706876", "name": "include", "type": "folder" } ], "metadata": { "clang_uml_version": "0.3.7-55-gfb370ad", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, "name": "t40003_include", "relationships": [ { "destination": "60001020671836182", "source": "1215324434184692437", "type": "association" }, { "destination": "1882940911178525353", "source": "1215324434184692437", "type": "association" }, { "destination": "1226843223635488673", "source": "2215849176605856058", "type": "association" }, { "destination": "2106129159239499468", "source": "2215849176605856058", "type": "association" }, { "destination": "1921842892192045013", "source": "60001020671836182", "type": "association" }, { "destination": "2295271780650013565", "source": "1921842892192045013", "type": "association" }, { "destination": "1849348825646635129", "source": "1226843223635488673", "type": "association" }, { "destination": "1120257488305564427", "source": "1849348825646635129", "type": "association" }, { "destination": "1120257488305564427", "source": "2106129159239499468", "type": "association" } ] } ```