diff options
26 files changed, 2092 insertions, 1324 deletions
| diff --git a/dub_describe.json b/dub_describe.json new file mode 100644 index 0000000..355978d --- /dev/null +++ b/dub_describe.json @@ -0,0 +1,2030 @@ +{ +	"rootPackage": "spine", +	"configuration": "default", +	"buildType": "debug", +	"compiler": "ldc", +	"architecture": [ +		"x86_64" +	], +	"platform": [ +		"linux", +		"posix" +	], +	"packages": [ +		{ +			"path": "./", +			"name": "spine", +			"version": "0.11.3", +			"description": "a sisu like document parser", +			"homepage": "https://sisudoc.org", +			"authors": [ +				"Ralph Amissah" +			], +			"copyright": "Copyright © 2015 - 2020 Ralph Amissah", +			"license": "AGPL-3.0+", +			"dependencies": [ +				"spine:d2sqlite3", +				"spine:dyaml", +				"spine:imageformats" +			], +			"active": true, +			"configuration": "default", +			"targetType": "executable", +			"targetPath": "./bin", +			"targetName": "spine", +			"targetFileName": "spine", +			"workingDirectory": "", +			"mainSourceFile": "", +			"dflags": [], +			"lflags": [], +			"libs": [], +			"copyFiles": [], +			"extraDependencyFiles": [], +			"versions": [], +			"debugVersions": [], +			"importPaths": [ +				"src/" +			], +			"stringImportPaths": [ +				"./views" +			], +			"preGenerateCommands": [], +			"postGenerateCommands": [], +			"preBuildCommands": [], +			"postBuildCommands": [], +			"preRunCommands": [], +			"postRunCommands": [], +			"buildRequirements": [ +				"allowWarnings" +			], +			"options": [], +			"files": [ +				{ +					"role": "import_", +					"path": "src/build_depends/dub2nix/src/dub2nix.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/conf/compile_time_info.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_in/paths_source.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_in/read_config_files.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_in/read_source_files.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/cgi_sqlite_search_form.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/create_zip_file.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/defaults.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/epub3.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/html.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/hub.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/latex.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/metadata.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/odt.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/package.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/paths_output.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/rgx.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/source_pod.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/sqlite.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/xmls.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/io_out/xmls_css.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/conf_make_meta_json.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/conf_make_meta_structs.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/conf_make_meta_yaml.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/defaults.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/doc_debugs.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc_from_src.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc_harvest.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc_harvests_authors.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc_harvests_topics.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc_object_setter.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc_show_config.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc_show_make.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc_show_metadata.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/metadoc_show_summary.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/package.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/meta/rgx.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/share/defaults.d" +				}, +				{ +					"role": "source", +					"path": "src/doc_reform/spine.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/constructor/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/getting_started/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/representer/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/resolver/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/tojson/source/app.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/yaml_bench/yaml_bench.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/yaml_gen/yaml_gen.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/yaml_stats/yaml_stats.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/composer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/constructor.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/dumper.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/emitter.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/encoding.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/escapes.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/event.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/exception.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/linebreak.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/loader.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/node.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/parser.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/queue.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/reader.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/representer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/resolver.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/scanner.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/serializer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/style.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/tagdirective.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/common.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/compare.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/constructor.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/emitter.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/errors.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/inputoutput.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/reader.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/representer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/resolver.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/tokens.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/token.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/testsuite/source/app.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/database.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/internal/memory.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/internal/util.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/library.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/results.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/sqlite3.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/statement.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/tests.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/bmp.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/jpeg.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/png.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/tga.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/tinyendian/source/tinyendian.d" +				}, +				{ +					"role": "stringImport", +					"path": "views/version.txt" +				} +			] +		}, +		{ +			"path": "./", +			"name": "spine:d2sqlite3", +			"version": "0.11.3", +			"description": "A thin wrapper around SQLite 3", +			"homepage": "https://github.com/dlang-community/d2sqlite3", +			"authors": [ +				"Nicolas Sicard", +				"Other contributors: see Github repo" +			], +			"copyright": "Copyright 2011-18 Nicolas Sicard", +			"license": "BSL-1.0", +			"dependencies": [], +			"active": true, +			"configuration": "with-lib", +			"targetType": "library", +			"targetPath": "", +			"targetName": "spine_d2sqlite3", +			"targetFileName": "libspine_d2sqlite3.a", +			"workingDirectory": "", +			"mainSourceFile": "", +			"dflags": [], +			"lflags": [], +			"libs": [ +				"sqlite3" +			], +			"copyFiles": [], +			"extraDependencyFiles": [], +			"versions": [], +			"debugVersions": [], +			"importPaths": [ +				"src/" +			], +			"stringImportPaths": [ +				"views" +			], +			"preGenerateCommands": [], +			"postGenerateCommands": [], +			"preBuildCommands": [], +			"postBuildCommands": [], +			"preRunCommands": [], +			"postRunCommands": [], +			"buildRequirements": [], +			"options": [], +			"files": [ +				{ +					"role": "import_", +					"path": "src/build_depends/dub2nix/src/dub2nix.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/conf/compile_time_info.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_in/paths_source.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_in/read_config_files.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_in/read_source_files.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/cgi_sqlite_search_form.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/create_zip_file.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/defaults.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/epub3.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/html.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/hub.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/latex.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/metadata.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/odt.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/paths_output.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/rgx.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/source_pod.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/sqlite.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/xmls.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/xmls_css.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/conf_make_meta_json.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/conf_make_meta_structs.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/conf_make_meta_yaml.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/defaults.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/doc_debugs.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_from_src.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_harvest.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_harvests_authors.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_harvests_topics.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_object_setter.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_show_config.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_show_make.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_show_metadata.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_show_summary.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/rgx.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/share/defaults.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/spine.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/constructor/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/getting_started/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/representer/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/resolver/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/tojson/source/app.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/yaml_bench/yaml_bench.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/yaml_gen/yaml_gen.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/yaml_stats/yaml_stats.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/composer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/constructor.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/dumper.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/emitter.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/encoding.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/escapes.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/event.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/exception.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/linebreak.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/loader.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/node.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/parser.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/queue.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/reader.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/representer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/resolver.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/scanner.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/serializer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/style.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/tagdirective.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/common.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/compare.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/constructor.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/emitter.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/errors.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/inputoutput.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/reader.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/representer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/resolver.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/tokens.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/token.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/testsuite/source/app.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/database.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/internal/memory.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/internal/util.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/library.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/package.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/results.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/sqlite3.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/statement.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/d2sqlite3/source/tests.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/bmp.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/jpeg.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/png.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/imageformats/imageformats/tga.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/tinyendian/source/tinyendian.d" +				}, +				{ +					"role": "stringImport", +					"path": "views/version.txt" +				} +			] +		}, +		{ +			"path": "./", +			"name": "spine:dyaml", +			"version": "0.11.3", +			"description": "YAML parser and emitter", +			"homepage": "https://github.com/dlang-community/D-YAML", +			"authors": [ +				"Ferdinand Majerech", +				"Cameron \"Herringway\" Ross" +			], +			"copyright": "Copyright © 2011-2018, Ferdinand Majerech", +			"license": "BSL-1.0", +			"dependencies": [], +			"active": true, +			"configuration": "library", +			"targetType": "library", +			"targetPath": "", +			"targetName": "spine_dyaml", +			"targetFileName": "libspine_dyaml.a", +			"workingDirectory": "", +			"mainSourceFile": "", +			"dflags": [], +			"lflags": [], +			"libs": [], +			"copyFiles": [], +			"extraDependencyFiles": [], +			"versions": [], +			"debugVersions": [], +			"importPaths": [ +				"./src/ext_depends/D-YAML/source/dyaml", +				"./src/ext_depends/tinyendian/source" +			], +			"stringImportPaths": [ +				"views" +			], +			"preGenerateCommands": [ +				"rm -rf ./src/ext_depends/D-YAML/examples", +				"rm -rf ./src/ext_depends/D-YAML/testsuite" +			], +			"postGenerateCommands": [], +			"preBuildCommands": [], +			"postBuildCommands": [], +			"preRunCommands": [], +			"postRunCommands": [], +			"buildRequirements": [], +			"options": [], +			"files": [ +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/composer.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/constructor.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/dumper.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/emitter.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/encoding.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/escapes.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/event.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/exception.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/linebreak.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/loader.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/node.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/package.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/parser.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/queue.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/reader.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/representer.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/resolver.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/scanner.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/serializer.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/style.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/tagdirective.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/common.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/compare.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/constructor.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/emitter.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/errors.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/inputoutput.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/reader.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/representer.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/resolver.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/tokens.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/D-YAML/source/dyaml/token.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/tinyendian/source/tinyendian.d" +				}, +				{ +					"role": "stringImport", +					"path": "views/version.txt" +				} +			] +		}, +		{ +			"path": "./", +			"name": "spine:imageformats", +			"version": "0.11.3", +			"description": "Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.", +			"homepage": "", +			"authors": [ +				"Tero Hänninen" +			], +			"copyright": "", +			"license": "BSL-1.0", +			"dependencies": [], +			"active": true, +			"configuration": "library", +			"targetType": "library", +			"targetPath": "", +			"targetName": "spine_imageformats", +			"targetFileName": "libspine_imageformats.a", +			"workingDirectory": "", +			"mainSourceFile": "", +			"dflags": [], +			"lflags": [], +			"libs": [], +			"copyFiles": [], +			"extraDependencyFiles": [], +			"versions": [], +			"debugVersions": [], +			"importPaths": [ +				"src/" +			], +			"stringImportPaths": [ +				"views" +			], +			"preGenerateCommands": [], +			"postGenerateCommands": [], +			"preBuildCommands": [], +			"postBuildCommands": [], +			"preRunCommands": [], +			"postRunCommands": [], +			"buildRequirements": [], +			"options": [], +			"files": [ +				{ +					"role": "import_", +					"path": "src/build_depends/dub2nix/src/dub2nix.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/conf/compile_time_info.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_in/paths_source.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_in/read_config_files.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_in/read_source_files.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/cgi_sqlite_search_form.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/create_zip_file.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/defaults.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/epub3.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/html.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/hub.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/latex.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/metadata.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/odt.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/paths_output.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/rgx.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/source_pod.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/sqlite.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/xmls.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/io_out/xmls_css.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/conf_make_meta_json.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/conf_make_meta_structs.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/conf_make_meta_yaml.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/defaults.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/doc_debugs.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_from_src.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_harvest.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_harvests_authors.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_harvests_topics.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_object_setter.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_show_config.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_show_make.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_show_metadata.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/metadoc_show_summary.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/meta/rgx.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/share/defaults.d" +				}, +				{ +					"role": "import_", +					"path": "src/doc_reform/spine.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/constructor/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/getting_started/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/representer/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/resolver/main.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/tojson/source/app.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/yaml_bench/yaml_bench.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/yaml_gen/yaml_gen.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/examples/yaml_stats/yaml_stats.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/composer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/constructor.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/dumper.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/emitter.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/encoding.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/escapes.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/event.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/exception.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/linebreak.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/loader.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/node.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/parser.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/queue.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/reader.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/representer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/resolver.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/scanner.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/serializer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/style.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/tagdirective.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/common.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/compare.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/constructor.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/emitter.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/errors.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/inputoutput.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/reader.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/representer.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/resolver.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/test/tokens.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/source/dyaml/token.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/D-YAML/testsuite/source/app.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/database.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/internal/memory.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/internal/util.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/library.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/package.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/results.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/sqlite3.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/d2sqlite3/statement.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/d2sqlite3/source/tests.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/imageformats/imageformats/bmp.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/imageformats/imageformats/jpeg.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/imageformats/imageformats/package.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/imageformats/imageformats/png.d" +				}, +				{ +					"role": "source", +					"path": "src/ext_depends/imageformats/imageformats/tga.d" +				}, +				{ +					"role": "import_", +					"path": "src/ext_depends/tinyendian/source/tinyendian.d" +				}, +				{ +					"role": "stringImport", +					"path": "views/version.txt" +				} +			] +		} +	], +	"targets": [ +		{ +			"rootPackage": "spine", +			"packages": [ +				"spine" +			], +			"rootConfiguration": "default", +			"buildSettings": { +				"targetType": 2, +				"targetPath": "./bin", +				"targetName": "spine", +				"workingDirectory": "", +				"mainSourceFile": "", +				"dflags": [], +				"lflags": [], +				"libs": [ +					"sqlite3" +				], +				"linkerFiles": [ +					"./libspine_d2sqlite3.a", +					"./libspine_dyaml.a", +					"./libspine_imageformats.a" +				], +				"sourceFiles": [ +					"./src/doc_reform/conf/compile_time_info.d", +					"./src/doc_reform/io_in/paths_source.d", +					"./src/doc_reform/io_in/read_config_files.d", +					"./src/doc_reform/io_in/read_source_files.d", +					"./src/doc_reform/io_out/cgi_sqlite_search_form.d", +					"./src/doc_reform/io_out/create_zip_file.d", +					"./src/doc_reform/io_out/defaults.d", +					"./src/doc_reform/io_out/epub3.d", +					"./src/doc_reform/io_out/html.d", +					"./src/doc_reform/io_out/hub.d", +					"./src/doc_reform/io_out/latex.d", +					"./src/doc_reform/io_out/metadata.d", +					"./src/doc_reform/io_out/odt.d", +					"./src/doc_reform/io_out/package.d", +					"./src/doc_reform/io_out/paths_output.d", +					"./src/doc_reform/io_out/rgx.d", +					"./src/doc_reform/io_out/source_pod.d", +					"./src/doc_reform/io_out/sqlite.d", +					"./src/doc_reform/io_out/xmls.d", +					"./src/doc_reform/io_out/xmls_css.d", +					"./src/doc_reform/meta/conf_make_meta_json.d", +					"./src/doc_reform/meta/conf_make_meta_structs.d", +					"./src/doc_reform/meta/conf_make_meta_yaml.d", +					"./src/doc_reform/meta/defaults.d", +					"./src/doc_reform/meta/doc_debugs.d", +					"./src/doc_reform/meta/metadoc.d", +					"./src/doc_reform/meta/metadoc_from_src.d", +					"./src/doc_reform/meta/metadoc_harvest.d", +					"./src/doc_reform/meta/metadoc_harvests_authors.d", +					"./src/doc_reform/meta/metadoc_harvests_topics.d", +					"./src/doc_reform/meta/metadoc_object_setter.d", +					"./src/doc_reform/meta/metadoc_show_config.d", +					"./src/doc_reform/meta/metadoc_show_make.d", +					"./src/doc_reform/meta/metadoc_show_metadata.d", +					"./src/doc_reform/meta/metadoc_show_summary.d", +					"./src/doc_reform/meta/package.d", +					"./src/doc_reform/meta/rgx.d", +					"./src/doc_reform/share/defaults.d", +					"./src/doc_reform/spine.d" +				], +				"copyFiles": [], +				"extraDependencyFiles": [], +				"versions": [ +					"Have_spine", +					"Have_spine_d2sqlite3", +					"Have_spine_dyaml", +					"Have_spine_imageformats" +				], +				"debugVersions": [], +				"versionFilters": [], +				"debugVersionFilters": [], +				"importPaths": [ +					"./src/", +					"./src/ext_depends/D-YAML/source/dyaml", +					"./src/ext_depends/tinyendian/source" +				], +				"stringImportPaths": [ +					"./views" +				], +				"importFiles": [ +					"./src/build_depends/dub2nix/src/dub2nix.d", +					"./src/ext_depends/D-YAML/source/dyaml/composer.d", +					"./src/ext_depends/D-YAML/source/dyaml/constructor.d", +					"./src/ext_depends/D-YAML/source/dyaml/dumper.d", +					"./src/ext_depends/D-YAML/source/dyaml/emitter.d", +					"./src/ext_depends/D-YAML/source/dyaml/encoding.d", +					"./src/ext_depends/D-YAML/source/dyaml/escapes.d", +					"./src/ext_depends/D-YAML/source/dyaml/event.d", +					"./src/ext_depends/D-YAML/source/dyaml/exception.d", +					"./src/ext_depends/D-YAML/source/dyaml/linebreak.d", +					"./src/ext_depends/D-YAML/source/dyaml/loader.d", +					"./src/ext_depends/D-YAML/source/dyaml/node.d", +					"./src/ext_depends/D-YAML/source/dyaml/package.d", +					"./src/ext_depends/D-YAML/source/dyaml/parser.d", +					"./src/ext_depends/D-YAML/source/dyaml/queue.d", +					"./src/ext_depends/D-YAML/source/dyaml/reader.d", +					"./src/ext_depends/D-YAML/source/dyaml/representer.d", +					"./src/ext_depends/D-YAML/source/dyaml/resolver.d", +					"./src/ext_depends/D-YAML/source/dyaml/scanner.d", +					"./src/ext_depends/D-YAML/source/dyaml/serializer.d", +					"./src/ext_depends/D-YAML/source/dyaml/style.d", +					"./src/ext_depends/D-YAML/source/dyaml/tagdirective.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/common.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/compare.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/constructor.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/emitter.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/errors.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/inputoutput.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/reader.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/representer.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/resolver.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/tokens.d", +					"./src/ext_depends/D-YAML/source/dyaml/token.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/database.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/internal/memory.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/internal/util.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/library.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/package.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/results.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/sqlite3.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/statement.d", +					"./src/ext_depends/d2sqlite3/source/tests.d", +					"./src/ext_depends/imageformats/imageformats/bmp.d", +					"./src/ext_depends/imageformats/imageformats/jpeg.d", +					"./src/ext_depends/imageformats/imageformats/package.d", +					"./src/ext_depends/imageformats/imageformats/png.d", +					"./src/ext_depends/imageformats/imageformats/tga.d", +					"./src/ext_depends/tinyendian/source/tinyendian.d" +				], +				"stringImportFiles": [ +					"./views/version.txt" +				], +				"preGenerateCommands": [], +				"postGenerateCommands": [], +				"preBuildCommands": [], +				"postBuildCommands": [], +				"preRunCommands": [], +				"postRunCommands": [], +				"requirements": {}, +				"options": {} +			}, +			"dependencies": [ +				"spine:d2sqlite3", +				"spine:dyaml", +				"spine:imageformats" +			], +			"linkDependencies": [ +				"spine:d2sqlite3", +				"spine:dyaml", +				"spine:imageformats" +			] +		}, +		{ +			"rootPackage": "spine:d2sqlite3", +			"packages": [ +				"spine:d2sqlite3" +			], +			"rootConfiguration": "with-lib", +			"buildSettings": { +				"targetType": 6, +				"targetPath": ".", +				"targetName": "spine_d2sqlite3", +				"workingDirectory": "", +				"mainSourceFile": "", +				"dflags": [], +				"lflags": [], +				"libs": [ +					"sqlite3" +				], +				"linkerFiles": [], +				"sourceFiles": [ +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/database.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/internal/memory.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/internal/util.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/library.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/package.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/results.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/sqlite3.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/statement.d", +					"./src/ext_depends/d2sqlite3/source/tests.d" +				], +				"copyFiles": [], +				"extraDependencyFiles": [], +				"versions": [ +					"Have_spine_d2sqlite3" +				], +				"debugVersions": [], +				"versionFilters": [], +				"debugVersionFilters": [], +				"importPaths": [ +					"./src/" +				], +				"stringImportPaths": [ +					"./views" +				], +				"importFiles": [ +					"./src/build_depends/dub2nix/src/dub2nix.d", +					"./src/doc_reform/conf/compile_time_info.d", +					"./src/doc_reform/io_in/paths_source.d", +					"./src/doc_reform/io_in/read_config_files.d", +					"./src/doc_reform/io_in/read_source_files.d", +					"./src/doc_reform/io_out/cgi_sqlite_search_form.d", +					"./src/doc_reform/io_out/create_zip_file.d", +					"./src/doc_reform/io_out/defaults.d", +					"./src/doc_reform/io_out/epub3.d", +					"./src/doc_reform/io_out/html.d", +					"./src/doc_reform/io_out/hub.d", +					"./src/doc_reform/io_out/latex.d", +					"./src/doc_reform/io_out/metadata.d", +					"./src/doc_reform/io_out/odt.d", +					"./src/doc_reform/io_out/package.d", +					"./src/doc_reform/io_out/paths_output.d", +					"./src/doc_reform/io_out/rgx.d", +					"./src/doc_reform/io_out/source_pod.d", +					"./src/doc_reform/io_out/sqlite.d", +					"./src/doc_reform/io_out/xmls.d", +					"./src/doc_reform/io_out/xmls_css.d", +					"./src/doc_reform/meta/conf_make_meta_json.d", +					"./src/doc_reform/meta/conf_make_meta_structs.d", +					"./src/doc_reform/meta/conf_make_meta_yaml.d", +					"./src/doc_reform/meta/defaults.d", +					"./src/doc_reform/meta/doc_debugs.d", +					"./src/doc_reform/meta/metadoc.d", +					"./src/doc_reform/meta/metadoc_from_src.d", +					"./src/doc_reform/meta/metadoc_harvest.d", +					"./src/doc_reform/meta/metadoc_harvests_authors.d", +					"./src/doc_reform/meta/metadoc_harvests_topics.d", +					"./src/doc_reform/meta/metadoc_object_setter.d", +					"./src/doc_reform/meta/metadoc_show_config.d", +					"./src/doc_reform/meta/metadoc_show_make.d", +					"./src/doc_reform/meta/metadoc_show_metadata.d", +					"./src/doc_reform/meta/metadoc_show_summary.d", +					"./src/doc_reform/meta/package.d", +					"./src/doc_reform/meta/rgx.d", +					"./src/doc_reform/share/defaults.d", +					"./src/doc_reform/spine.d", +					"./src/ext_depends/D-YAML/examples/constructor/main.d", +					"./src/ext_depends/D-YAML/examples/getting_started/main.d", +					"./src/ext_depends/D-YAML/examples/representer/main.d", +					"./src/ext_depends/D-YAML/examples/resolver/main.d", +					"./src/ext_depends/D-YAML/examples/tojson/source/app.d", +					"./src/ext_depends/D-YAML/examples/yaml_bench/yaml_bench.d", +					"./src/ext_depends/D-YAML/examples/yaml_gen/yaml_gen.d", +					"./src/ext_depends/D-YAML/examples/yaml_stats/yaml_stats.d", +					"./src/ext_depends/D-YAML/source/dyaml/composer.d", +					"./src/ext_depends/D-YAML/source/dyaml/constructor.d", +					"./src/ext_depends/D-YAML/source/dyaml/dumper.d", +					"./src/ext_depends/D-YAML/source/dyaml/emitter.d", +					"./src/ext_depends/D-YAML/source/dyaml/encoding.d", +					"./src/ext_depends/D-YAML/source/dyaml/escapes.d", +					"./src/ext_depends/D-YAML/source/dyaml/event.d", +					"./src/ext_depends/D-YAML/source/dyaml/exception.d", +					"./src/ext_depends/D-YAML/source/dyaml/linebreak.d", +					"./src/ext_depends/D-YAML/source/dyaml/loader.d", +					"./src/ext_depends/D-YAML/source/dyaml/node.d", +					"./src/ext_depends/D-YAML/source/dyaml/package.d", +					"./src/ext_depends/D-YAML/source/dyaml/parser.d", +					"./src/ext_depends/D-YAML/source/dyaml/queue.d", +					"./src/ext_depends/D-YAML/source/dyaml/reader.d", +					"./src/ext_depends/D-YAML/source/dyaml/representer.d", +					"./src/ext_depends/D-YAML/source/dyaml/resolver.d", +					"./src/ext_depends/D-YAML/source/dyaml/scanner.d", +					"./src/ext_depends/D-YAML/source/dyaml/serializer.d", +					"./src/ext_depends/D-YAML/source/dyaml/style.d", +					"./src/ext_depends/D-YAML/source/dyaml/tagdirective.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/common.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/compare.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/constructor.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/emitter.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/errors.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/inputoutput.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/reader.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/representer.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/resolver.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/tokens.d", +					"./src/ext_depends/D-YAML/source/dyaml/token.d", +					"./src/ext_depends/D-YAML/testsuite/source/app.d", +					"./src/ext_depends/imageformats/imageformats/bmp.d", +					"./src/ext_depends/imageformats/imageformats/jpeg.d", +					"./src/ext_depends/imageformats/imageformats/package.d", +					"./src/ext_depends/imageformats/imageformats/png.d", +					"./src/ext_depends/imageformats/imageformats/tga.d", +					"./src/ext_depends/tinyendian/source/tinyendian.d" +				], +				"stringImportFiles": [ +					"./views/version.txt" +				], +				"preGenerateCommands": [], +				"postGenerateCommands": [], +				"preBuildCommands": [], +				"postBuildCommands": [], +				"preRunCommands": [], +				"postRunCommands": [], +				"requirements": {}, +				"options": {} +			}, +			"dependencies": [], +			"linkDependencies": [] +		}, +		{ +			"rootPackage": "spine:dyaml", +			"packages": [ +				"spine:dyaml" +			], +			"rootConfiguration": "library", +			"buildSettings": { +				"targetType": 6, +				"targetPath": ".", +				"targetName": "spine_dyaml", +				"workingDirectory": "", +				"mainSourceFile": "", +				"dflags": [], +				"lflags": [], +				"libs": [], +				"linkerFiles": [], +				"sourceFiles": [ +					"./src/ext_depends/D-YAML/source/dyaml/composer.d", +					"./src/ext_depends/D-YAML/source/dyaml/constructor.d", +					"./src/ext_depends/D-YAML/source/dyaml/dumper.d", +					"./src/ext_depends/D-YAML/source/dyaml/emitter.d", +					"./src/ext_depends/D-YAML/source/dyaml/encoding.d", +					"./src/ext_depends/D-YAML/source/dyaml/escapes.d", +					"./src/ext_depends/D-YAML/source/dyaml/event.d", +					"./src/ext_depends/D-YAML/source/dyaml/exception.d", +					"./src/ext_depends/D-YAML/source/dyaml/linebreak.d", +					"./src/ext_depends/D-YAML/source/dyaml/loader.d", +					"./src/ext_depends/D-YAML/source/dyaml/node.d", +					"./src/ext_depends/D-YAML/source/dyaml/package.d", +					"./src/ext_depends/D-YAML/source/dyaml/parser.d", +					"./src/ext_depends/D-YAML/source/dyaml/queue.d", +					"./src/ext_depends/D-YAML/source/dyaml/reader.d", +					"./src/ext_depends/D-YAML/source/dyaml/representer.d", +					"./src/ext_depends/D-YAML/source/dyaml/resolver.d", +					"./src/ext_depends/D-YAML/source/dyaml/scanner.d", +					"./src/ext_depends/D-YAML/source/dyaml/serializer.d", +					"./src/ext_depends/D-YAML/source/dyaml/style.d", +					"./src/ext_depends/D-YAML/source/dyaml/tagdirective.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/common.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/compare.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/constructor.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/emitter.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/errors.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/inputoutput.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/reader.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/representer.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/resolver.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/tokens.d", +					"./src/ext_depends/D-YAML/source/dyaml/token.d", +					"./src/ext_depends/tinyendian/source/tinyendian.d" +				], +				"copyFiles": [], +				"extraDependencyFiles": [], +				"versions": [ +					"Have_spine_dyaml" +				], +				"debugVersions": [], +				"versionFilters": [], +				"debugVersionFilters": [], +				"importPaths": [ +					"./src/ext_depends/D-YAML/source/dyaml", +					"./src/ext_depends/tinyendian/source" +				], +				"stringImportPaths": [ +					"./views" +				], +				"importFiles": [], +				"stringImportFiles": [ +					"./views/version.txt" +				], +				"preGenerateCommands": [ +					"rm -rf ./src/ext_depends/D-YAML/examples", +					"rm -rf ./src/ext_depends/D-YAML/testsuite" +				], +				"postGenerateCommands": [], +				"preBuildCommands": [], +				"postBuildCommands": [], +				"preRunCommands": [], +				"postRunCommands": [], +				"requirements": {}, +				"options": {} +			}, +			"dependencies": [], +			"linkDependencies": [] +		}, +		{ +			"rootPackage": "spine:imageformats", +			"packages": [ +				"spine:imageformats" +			], +			"rootConfiguration": "library", +			"buildSettings": { +				"targetType": 6, +				"targetPath": ".", +				"targetName": "spine_imageformats", +				"workingDirectory": "", +				"mainSourceFile": "", +				"dflags": [], +				"lflags": [], +				"libs": [], +				"linkerFiles": [], +				"sourceFiles": [ +					"./src/ext_depends/imageformats/imageformats/bmp.d", +					"./src/ext_depends/imageformats/imageformats/jpeg.d", +					"./src/ext_depends/imageformats/imageformats/package.d", +					"./src/ext_depends/imageformats/imageformats/png.d", +					"./src/ext_depends/imageformats/imageformats/tga.d" +				], +				"copyFiles": [], +				"extraDependencyFiles": [], +				"versions": [ +					"Have_spine_imageformats" +				], +				"debugVersions": [], +				"versionFilters": [], +				"debugVersionFilters": [], +				"importPaths": [ +					"./src/" +				], +				"stringImportPaths": [ +					"./views" +				], +				"importFiles": [ +					"./src/build_depends/dub2nix/src/dub2nix.d", +					"./src/doc_reform/conf/compile_time_info.d", +					"./src/doc_reform/io_in/paths_source.d", +					"./src/doc_reform/io_in/read_config_files.d", +					"./src/doc_reform/io_in/read_source_files.d", +					"./src/doc_reform/io_out/cgi_sqlite_search_form.d", +					"./src/doc_reform/io_out/create_zip_file.d", +					"./src/doc_reform/io_out/defaults.d", +					"./src/doc_reform/io_out/epub3.d", +					"./src/doc_reform/io_out/html.d", +					"./src/doc_reform/io_out/hub.d", +					"./src/doc_reform/io_out/latex.d", +					"./src/doc_reform/io_out/metadata.d", +					"./src/doc_reform/io_out/odt.d", +					"./src/doc_reform/io_out/package.d", +					"./src/doc_reform/io_out/paths_output.d", +					"./src/doc_reform/io_out/rgx.d", +					"./src/doc_reform/io_out/source_pod.d", +					"./src/doc_reform/io_out/sqlite.d", +					"./src/doc_reform/io_out/xmls.d", +					"./src/doc_reform/io_out/xmls_css.d", +					"./src/doc_reform/meta/conf_make_meta_json.d", +					"./src/doc_reform/meta/conf_make_meta_structs.d", +					"./src/doc_reform/meta/conf_make_meta_yaml.d", +					"./src/doc_reform/meta/defaults.d", +					"./src/doc_reform/meta/doc_debugs.d", +					"./src/doc_reform/meta/metadoc.d", +					"./src/doc_reform/meta/metadoc_from_src.d", +					"./src/doc_reform/meta/metadoc_harvest.d", +					"./src/doc_reform/meta/metadoc_harvests_authors.d", +					"./src/doc_reform/meta/metadoc_harvests_topics.d", +					"./src/doc_reform/meta/metadoc_object_setter.d", +					"./src/doc_reform/meta/metadoc_show_config.d", +					"./src/doc_reform/meta/metadoc_show_make.d", +					"./src/doc_reform/meta/metadoc_show_metadata.d", +					"./src/doc_reform/meta/metadoc_show_summary.d", +					"./src/doc_reform/meta/package.d", +					"./src/doc_reform/meta/rgx.d", +					"./src/doc_reform/share/defaults.d", +					"./src/doc_reform/spine.d", +					"./src/ext_depends/D-YAML/source/dyaml/composer.d", +					"./src/ext_depends/D-YAML/source/dyaml/constructor.d", +					"./src/ext_depends/D-YAML/source/dyaml/dumper.d", +					"./src/ext_depends/D-YAML/source/dyaml/emitter.d", +					"./src/ext_depends/D-YAML/source/dyaml/encoding.d", +					"./src/ext_depends/D-YAML/source/dyaml/escapes.d", +					"./src/ext_depends/D-YAML/source/dyaml/event.d", +					"./src/ext_depends/D-YAML/source/dyaml/exception.d", +					"./src/ext_depends/D-YAML/source/dyaml/linebreak.d", +					"./src/ext_depends/D-YAML/source/dyaml/loader.d", +					"./src/ext_depends/D-YAML/source/dyaml/node.d", +					"./src/ext_depends/D-YAML/source/dyaml/package.d", +					"./src/ext_depends/D-YAML/source/dyaml/parser.d", +					"./src/ext_depends/D-YAML/source/dyaml/queue.d", +					"./src/ext_depends/D-YAML/source/dyaml/reader.d", +					"./src/ext_depends/D-YAML/source/dyaml/representer.d", +					"./src/ext_depends/D-YAML/source/dyaml/resolver.d", +					"./src/ext_depends/D-YAML/source/dyaml/scanner.d", +					"./src/ext_depends/D-YAML/source/dyaml/serializer.d", +					"./src/ext_depends/D-YAML/source/dyaml/style.d", +					"./src/ext_depends/D-YAML/source/dyaml/tagdirective.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/common.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/compare.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/constructor.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/emitter.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/errors.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/inputoutput.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/reader.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/representer.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/resolver.d", +					"./src/ext_depends/D-YAML/source/dyaml/test/tokens.d", +					"./src/ext_depends/D-YAML/source/dyaml/token.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/database.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/internal/memory.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/internal/util.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/library.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/package.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/results.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/sqlite3.d", +					"./src/ext_depends/d2sqlite3/source/d2sqlite3/statement.d", +					"./src/ext_depends/d2sqlite3/source/tests.d", +					"./src/ext_depends/tinyendian/source/tinyendian.d" +				], +				"stringImportFiles": [ +					"./views/version.txt" +				], +				"preGenerateCommands": [], +				"postGenerateCommands": [], +				"preBuildCommands": [], +				"postBuildCommands": [], +				"preRunCommands": [], +				"postRunCommands": [], +				"requirements": {}, +				"options": {} +			}, +			"dependencies": [], +			"linkDependencies": [] +		} +	] +} @@ -104,6 +104,7 @@ get_depends:  	echo $${hwd} && \  	echo $${gwd} && \  	echo $${dirs} && \ +	dub upgrade; \  	cd $${gwd} && \  	for dir in $${dirs}; do \  	  if [ -d $${dir} ]; then \ @@ -154,6 +155,19 @@ get_depends:  	cd $${hwd}  set_depends: get_depends  	dub describe | sed 's_$(shell echo `pwd | sed 's_/_\\/_g'`)_._g'  > dub_describe.json +rm_flakelock: +	git reset HEAD flake.lock && \ +	touch flake.lock \ +	git rm -f flake.lock +flake_update: +	git add .; \ +	nix flake update && \ +	git reset HEAD flake.lock; \ +	cp flake.lock flake.lock_ +flake_update_move_lock: flake_update +	touch flake.lock \ +	git rm -f flake.lock +set_latest: set_depends flake_update rm_flakelock  dub_upgrade:  	$(DUB) upgrade  default: ldc @@ -603,7 +617,18 @@ tangle_maker:  				(setq-local org-src-preserve-indentation t) \  			(org-babel-tangle) \  			(kill-buffer)) '($$ORGFILES)))" 2>&1 - +lorri_shell: +	lorri shell +nix_shell: +	nix-shell +nix_build_default: +	nix build -f default.nix && ./result/bin/spine -v +nix_build_project: +	nix build -f project.nix && ./result/bin/spine -v +nix_build_spine: +	nix build -f spine.nix && ./result/bin/spine -v +nix-build_default: +	nix-build default.nix  gitsnapshot: distclean tangle  	git commit -a  .PHONY : all build rebuild debug release \ diff --git a/org/spine_build_scaffold.org b/org/spine_build_scaffold.org index 94745fd..87e3228 100644 --- a/org/spine_build_scaffold.org +++ b/org/spine_build_scaffold.org @@ -127,7 +127,7 @@  <<make_project_testrun_12>>  <<make_tangle_0>>  <<make_tangle_1>> -<<make_nix_project_shell>> +<<make_nix_project>>  <<make_git_snapshot>>  <<make_phony>>  #+END_SRC @@ -361,6 +361,7 @@ get_depends:  	echo $${hwd} && \  	echo $${gwd} && \  	echo $${dirs} && \ +	dub upgrade; \  	cd $${gwd} && \  	for dir in $${dirs}; do \  	  if [ -d $${dir} ]; then \ @@ -411,6 +412,19 @@ get_depends:  	cd $${hwd}  set_depends: get_depends  	dub describe | sed 's_$(shell echo `pwd | sed 's_/_\\/_g'`)_._g'  > dub_describe.json +rm_flakelock: +	git reset HEAD flake.lock && \ +	touch flake.lock \ +	git rm -f flake.lock +flake_update: +	git add .; \ +	nix flake update && \ +	git reset HEAD flake.lock; \ +	cp flake.lock flake.lock_ +flake_update_move_lock: flake_update +	touch flake.lock \ +	git rm -f flake.lock +set_latest: set_depends flake_update rm_flakelock  #+END_SRC  gitDir=dub2nix; git clone --depth=1 https://github.com/lionello/${gitDir} | rm -rf ${gitDir}/.git @@ -1098,6 +1112,24 @@ tangle_maker:  			(kill-buffer)) '($$ORGFILES)))" 2>&1  #+END_SRC +**** tangle nix project + +#+NAME: make_nix_project +#+BEGIN_SRC makefile +lorri_shell: +	lorri shell +nix_shell: +	nix-shell +nix_build_default: +	nix build -f default.nix && ./result/bin/spine -v +nix_build_project: +	nix build -f project.nix && ./result/bin/spine -v +nix_build_spine: +	nix build -f spine.nix && ./result/bin/spine -v +nix-build_default: +	nix-build default.nix +#+END_SRC +  *** git snapshot  #+NAME: make_git_snapshot @@ -2181,7 +2213,7 @@ echo "<nixpkgs> `nix-instantiate --find-file nixpkgs`"  nix develop -nix flake update --recreate-lock-file +nix flake update  #+BEGIN_SRC nix :tangle ../flake.nix  { @@ -2313,7 +2345,8 @@ nix flake update --recreate-lock-file    nix build    nix build -f default.nix && noti -  nix build -f default.nix && noti -t "spine built" -m "see ./result/bin/spine" +  nix build -f default.nix && ./result/bin/spine -v && noti -t "spine build" -m "see ./result/bin/spine" +  nix build -f spine.nix && ./result/bin/spine -v && noti -t "spine build" -m "see ./result/bin/spine"    nix build -f project.nix    nix build -f spine.nix diff --git a/src/ext_depends/D-YAML/examples/constructor/dub.json b/src/ext_depends/D-YAML/examples/constructor/dub.json deleted file mode 100644 index 1aca4ee..0000000 --- a/src/ext_depends/D-YAML/examples/constructor/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ -    "name": "constructor", -    "targetType": "executable", -    "sourceFiles": ["main.d"], -    "mainSourceFile": "main.d", -    "dependencies": -    { -        "dyaml": { "version" : "*"} -    } -} diff --git a/src/ext_depends/D-YAML/examples/constructor/input.yaml b/src/ext_depends/D-YAML/examples/constructor/input.yaml deleted file mode 100644 index 8d56926..0000000 --- a/src/ext_depends/D-YAML/examples/constructor/input.yaml +++ /dev/null @@ -1,8 +0,0 @@ -scalar-red: !color FF0000 -scalar-orange: !color FFFF00 -mapping-red: !color-mapping {r: 255, g: 0, b: 0} -mapping-orange: -   !color-mapping -   r: 255 -   g: 255 -   b: 0 diff --git a/src/ext_depends/D-YAML/examples/constructor/main.d b/src/ext_depends/D-YAML/examples/constructor/main.d deleted file mode 100644 index 50826f1..0000000 --- a/src/ext_depends/D-YAML/examples/constructor/main.d +++ /dev/null @@ -1,91 +0,0 @@ -import std.stdio; -import std.string; -import dyaml; - -struct Color -{ -   ubyte red; -   ubyte green; -   ubyte blue; - -   this(ubyte r, ubyte g, ubyte b) @safe -   { -        red = r; -        green = g; -        blue = b; -   } - -   this(const Node node, string tag) @safe -   { -        if (tag == "!color-mapping") -        { -            //Will throw if a value is missing, is not an integer, or is out of range. -            red = node["r"].as!ubyte; -            green = node["g"].as!ubyte; -            blue = node["b"].as!ubyte; -        } -        else -        { -            string value = node.as!string; - -            if(value.length != 6) -            { -                throw new Exception("Invalid color: " ~ value); -            } -            //We don't need to check for uppercase chars this way. -            value = value.toLower(); - -            //Get value of a hex digit. -            uint hex(char c) -            { -                import std.ascii; -                if(!std.ascii.isHexDigit(c)) -                { -                    throw new Exception("Invalid color: " ~ value); -                } - -                if(std.ascii.isDigit(c)) -                { -                    return c - '0'; -                } -                return c - 'a' + 10; -            } - -            red   = cast(ubyte)(16 * hex(value[0]) + hex(value[1])); -            green = cast(ubyte)(16 * hex(value[2]) + hex(value[3])); -            blue  = cast(ubyte)(16 * hex(value[4]) + hex(value[5])); -        } -   } -} - -void main(string[] args) -{ -   auto red = Color(255, 0, 0); -   auto orange = Color(255, 255, 0); - -   string path = "input.yaml"; -   if (args.length > 1) -   { -        path = args[1]; -   } - -   try -   { -       auto root = Loader.fromFile(path).load(); - -       if(root["scalar-red"].as!Color     == red && -          root["mapping-red"].as!Color    == red && -          root["scalar-orange"].as!Color  == orange && -          root["mapping-orange"].as!Color == orange) -       { -           writeln("SUCCESS"); -           return; -       } -   } -   catch(YAMLException e) -   { -       writeln(e.msg); -   } - -   writeln("FAILURE"); -} diff --git a/src/ext_depends/D-YAML/examples/getting_started/dub.json b/src/ext_depends/D-YAML/examples/getting_started/dub.json deleted file mode 100644 index 844c006..0000000 --- a/src/ext_depends/D-YAML/examples/getting_started/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ -    "name": "getting-started", -    "targetType": "executable", -    "sourceFiles": ["main.d"], -    "mainSourceFile": "main.d", -    "dependencies": -    { -        "dyaml": { "version" : "*" } -    } -} diff --git a/src/ext_depends/D-YAML/examples/getting_started/input.yaml b/src/ext_depends/D-YAML/examples/getting_started/input.yaml deleted file mode 100644 index 8b093ae..0000000 --- a/src/ext_depends/D-YAML/examples/getting_started/input.yaml +++ /dev/null @@ -1,2 +0,0 @@ -Hello World : [Hello, World] -Answer : 42 diff --git a/src/ext_depends/D-YAML/examples/getting_started/main.d b/src/ext_depends/D-YAML/examples/getting_started/main.d deleted file mode 100644 index 2cc242c..0000000 --- a/src/ext_depends/D-YAML/examples/getting_started/main.d +++ /dev/null @@ -1,18 +0,0 @@ -import std.stdio; -import dyaml; - -void main() -{ -    //Read the input. -    Node root = Loader.fromFile("input.yaml").load(); - -    //Display the data read. -    foreach(string word; root["Hello World"]) -    { -        writeln(word); -    } -    writeln("The answer is ", root["Answer"].as!int); - -    //Dump the loaded document to output.yaml. -    dumper().dump(File("output.yaml", "w").lockingTextWriter, root); -} diff --git a/src/ext_depends/D-YAML/examples/representer/dub.json b/src/ext_depends/D-YAML/examples/representer/dub.json deleted file mode 100644 index c46c42f..0000000 --- a/src/ext_depends/D-YAML/examples/representer/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ -    "name": "representer", -    "targetType": "executable", -    "sourceFiles": ["main.d"], -    "mainSourceFile": "main.d", -    "dependencies": -    { -        "dyaml": { "version" : "*" } -    } -} diff --git a/src/ext_depends/D-YAML/examples/representer/main.d b/src/ext_depends/D-YAML/examples/representer/main.d deleted file mode 100644 index 18ec4c5..0000000 --- a/src/ext_depends/D-YAML/examples/representer/main.d +++ /dev/null @@ -1,43 +0,0 @@ -import std.stdio; -import dyaml; - -struct Color -{ -   ubyte red; -   ubyte green; -   ubyte blue; - -   Node opCast(T: Node)() const -   { -       static immutable hex = "0123456789ABCDEF"; - -       //Using the color format from the Constructor example. -       string scalar; -       foreach(channel; [red, green, blue]) -       { -           scalar ~= hex[channel / 16]; -           scalar ~= hex[channel % 16]; -       } - -       //Representing as a scalar, with custom tag to specify this data type. -       return Node(scalar, "!color"); -   } -} - -void main() -{ -   try -   { -       auto dumper = dumper(); - -       auto document = Node([Color(255, 0, 0), -                             Color(0, 255, 0), -                             Color(0, 0, 255)]); - -       dumper.dump(File("output.yaml", "w").lockingTextWriter, document); -   } -   catch(YAMLException e) -   { -       writeln(e.msg); -   } -} diff --git a/src/ext_depends/D-YAML/examples/resolver/dub.json b/src/ext_depends/D-YAML/examples/resolver/dub.json deleted file mode 100644 index 30b55d8..0000000 --- a/src/ext_depends/D-YAML/examples/resolver/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ -    "name": "resolver", -    "targetType": "executable", -    "sourceFiles": ["main.d"], -    "mainSourceFile": "main.d", -    "dependencies": -    { -        "dyaml": { "version" : "*" } -    } -} diff --git a/src/ext_depends/D-YAML/examples/resolver/input.yaml b/src/ext_depends/D-YAML/examples/resolver/input.yaml deleted file mode 100644 index 99b9a5a..0000000 --- a/src/ext_depends/D-YAML/examples/resolver/input.yaml +++ /dev/null @@ -1,8 +0,0 @@ -scalar-red: FF0000 -scalar-orange: FFFF00 -mapping-red: !color-mapping {r: 255, g: 0, b: 0} -mapping-orange: -    !color-mapping -    r: 255 -    g: 255 -    b: 0 diff --git a/src/ext_depends/D-YAML/examples/resolver/main.d b/src/ext_depends/D-YAML/examples/resolver/main.d deleted file mode 100644 index f3c08a1..0000000 --- a/src/ext_depends/D-YAML/examples/resolver/main.d +++ /dev/null @@ -1,36 +0,0 @@ -import std.regex; -import std.stdio; -import dyaml; - -int main(string[] args) -{ -    string path = "input.yaml"; -    if (args.length > 1) -    { -        path = args[1]; -    } - -    try -    { - -        auto loader = Loader.fromFile("input.yaml"); -        loader.resolver.addImplicitResolver("!color", regex("[0-9a-fA-F]{6}"), -            "0123456789abcdefABCDEF"); - -        auto root = loader.load(); - -        if(root["scalar-red"].tag == "!color" && -            root["scalar-orange"].tag == "!color") -        { -            writeln("SUCCESS"); -            return 0; -        } -    } -    catch(YAMLException e) -    { -        writeln(e.msg); -    } - -    writeln("FAILURE"); -    return 1; -} diff --git a/src/ext_depends/D-YAML/examples/tojson/dub.json b/src/ext_depends/D-YAML/examples/tojson/dub.json deleted file mode 100644 index ba014b8..0000000 --- a/src/ext_depends/D-YAML/examples/tojson/dub.json +++ /dev/null @@ -1,8 +0,0 @@ -{ -    "name": "tojson", -    "targetType": "executable", -    "dependencies": -    { -        "dyaml": "*" -    } -} diff --git a/src/ext_depends/D-YAML/examples/tojson/source/app.d b/src/ext_depends/D-YAML/examples/tojson/source/app.d deleted file mode 100644 index 654274f..0000000 --- a/src/ext_depends/D-YAML/examples/tojson/source/app.d +++ /dev/null @@ -1,54 +0,0 @@ -module dyaml.tojson; -import std.datetime; -import std.json; -import std.stdio; -import dyaml; - -void main() -{ -    auto doc = Loader.fromFile(stdin).load(); -    auto json = doc.toJSON; -    writeln(json.toPrettyString); -} - -JSONValue toJSON(Node node) -{ -    JSONValue output; -    final switch (node.type) -    { -        case NodeType.sequence: -            output = JSONValue(string[].init); -            foreach (Node seqNode; node) -            { -                output.array ~= seqNode.toJSON(); -            } -            break; -        case NodeType.mapping: -            output = JSONValue(string[string].init); -            foreach (Node keyNode, Node valueNode; node) -            { -                output[keyNode.as!string] = valueNode.toJSON(); -            } -            break; -        case NodeType.string: -            output = node.as!string; -            break; -        case NodeType.integer: -            output = node.as!long; -            break; -        case NodeType.decimal: -            output = node.as!real; -            break; -        case NodeType.boolean: -            output = node.as!bool; -            break; -        case NodeType.timestamp: -            output = node.as!SysTime.toISOExtString(); -            break; -        case NodeType.merge: -        case NodeType.null_: -        case NodeType.binary: -        case NodeType.invalid: -    } -    return output; -} diff --git a/src/ext_depends/D-YAML/examples/yaml_bench/dub.json b/src/ext_depends/D-YAML/examples/yaml_bench/dub.json deleted file mode 100644 index b4e778f..0000000 --- a/src/ext_depends/D-YAML/examples/yaml_bench/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ -    "name": "benchmark", -    "targetType": "executable", -    "sourceFiles": ["yaml_bench.d"], -    "mainSourceFile": "yaml_bench.d", -    "dependencies": -    { -        "dyaml": { "version" : "*" } -    } -} diff --git a/src/ext_depends/D-YAML/examples/yaml_bench/yaml_bench.d b/src/ext_depends/D-YAML/examples/yaml_bench/yaml_bench.d deleted file mode 100644 index bb8446e..0000000 --- a/src/ext_depends/D-YAML/examples/yaml_bench/yaml_bench.d +++ /dev/null @@ -1,179 +0,0 @@ - -module dyaml.yaml_bench; -//Benchmark that loads, and optionally extracts data from and/or emits a YAML file. - -import std.algorithm; -import std.conv; -import std.datetime.systime; -import std.datetime.stopwatch; -import std.file; -import std.getopt; -import std.range; -import std.stdio; -import std.string; -import dyaml; - -///Get data out of every node. -void extract(ref Node document) @safe -{ -    void crawl(ref Node root) @safe -    { -        final switch (root.nodeID) -        { -            case NodeID.scalar: -                 switch(root.tag) -                { -                    case "tag:yaml.org,2002:null":      auto value = root.as!YAMLNull;  break; -                    case "tag:yaml.org,2002:bool":      auto value = root.as!bool;      break; -                    case "tag:yaml.org,2002:int":       auto value = root.as!long;      break; -                    case "tag:yaml.org,2002:float":     auto value = root.as!real;      break; -                    case "tag:yaml.org,2002:binary":    auto value = root.as!(ubyte[]); break; -                    case "tag:yaml.org,2002:timestamp": auto value = root.as!SysTime;   break; -                    case "tag:yaml.org,2002:str":       auto value = root.as!string;    break; -                    default: writeln("Unrecognozed tag: ", root.tag); -                } -                break; -            case NodeID.sequence: -                foreach(ref Node node; root) -                { -                    crawl(node); -                } -                break; -            case NodeID.mapping: -                foreach(ref Node key, ref Node value; root) -                { -                    crawl(key); -                    crawl(value); -                } -                break; -            case NodeID.invalid: -                assert(0); -        } -    } - -    crawl(document); -} - -void main(string[] args) //@safe -{ -    import std.array : array; -    bool get = false; -    bool dump = false; -    bool reload = false; -    bool quiet = false; -    bool verbose = false; -    bool scanOnly = false; -    uint runs = 1; - -    auto help = getopt( -        args, -        "get|g", "Extract data from the file (using Node.as()).", &get, -        "dump|d", "Dump the loaded data (to YAML_FILE.dump).", &dump, -        "runs|r", "Repeat parsing the file NUM times.", &runs, -        "reload", "Reload the file from the diskl on every repeat By default,"~ -            " the file is loaded to memory once and repeatedly parsed from memory.", &reload, -        "quiet|q", "Don't print anything.", &quiet, -        "verbose|v", "Print even more.", &verbose, -        "scan-only|s", "Do not execute the entire parsing process, only scanning. Overrides '--dump'", &scanOnly -    ); - -    if (help.helpWanted || (args.length < 2)) -    { -        defaultGetoptPrinter( -            "D:YAML benchmark\n"~ -            "Copyright (C) 2011-2018 Ferdinand Majerech, Cameron \"Herringway\" Ross\n"~ -            "Usage: yaml_bench [OPTION ...] [YAML_FILE]\n\n"~ -            "Loads and optionally extracts data and/or dumps a YAML file.\n", -            help.options -        ); -        return; -    } - -    string file = args[1]; - -    auto stopWatch = StopWatch(AutoStart.yes); -    void[] fileInMemory; -    if(!reload) { fileInMemory = std.file.read(file); } -    void[] fileWorkingCopy = fileInMemory.dup; -    auto loadTime = stopWatch.peek(); -    stopWatch.reset(); -    try -    { -        // Instead of constructing a resolver/constructor with each Loader, -        // construct them once to remove noise when profiling. -        auto resolver    = Resolver.withDefaultResolvers; - -        auto constructTime = stopWatch.peek(); - -        Node[] nodes; - -        void runLoaderBenchmark() //@safe -        { -            // Loading the file rewrites the loaded buffer, so if we don't reload from -            // disk, we need to use a copy of the originally loaded file. -            if(reload) { fileInMemory = std.file.read(file); } -            else       { fileWorkingCopy[] = fileInMemory[]; } -            void[] fileToLoad = reload ? fileInMemory : fileWorkingCopy; - -            auto loader        = Loader.fromBuffer(fileToLoad); -            if(scanOnly) -            { -                loader.scanBench(); -                return; -            } - -            loader.resolver = resolver; -            nodes = loader.array; -        } -        void runDumpBenchmark() @safe -        { -            if(dump) -            { -                dumper().dump(File(file ~ ".dump", "w").lockingTextWriter, nodes); -            } -        } -        void runGetBenchmark() @safe -        { -            if(get) foreach(ref node; nodes) -            { -                extract(node); -            } -        } -        auto totalTime = benchmark!(runLoaderBenchmark, runDumpBenchmark, runGetBenchmark)(runs); -        if (!quiet) -        { -            auto enabledOptions = -                only( -                    get ? "Get" : "", -                    dump ? "Dump" : "", -                    reload ? "Reload" : "", -                    scanOnly ? "Scan Only":  "" -                ).filter!(x => x != ""); -            if (!enabledOptions.empty) -            { -                writefln!"Options enabled: %-(%s, %)"(enabledOptions); -            } -            if (verbose) -            { -                if (!reload) -                { -                    writeln("Time to load file: ", loadTime); -                } -                writeln("Time to set up resolver: ", constructTime); -            } -            writeln("Runs: ", runs); -            foreach(time, func, enabled; lockstep(totalTime[], only("Loader", "Dumper", "Get"), only(true, dump, get))) -            { -                if (enabled) -                { -                    writeln("Average time spent on ", func, ": ", time / runs); -                    writeln("Total time spent on ", func, ": ", time); -                } -            } -        } -    } -    catch(YAMLException e) -    { -        writeln("ERROR: ", e.msg); -    } -} diff --git a/src/ext_depends/D-YAML/examples/yaml_gen/config.yaml b/src/ext_depends/D-YAML/examples/yaml_gen/config.yaml deleted file mode 100644 index 5484686..0000000 --- a/src/ext_depends/D-YAML/examples/yaml_gen/config.yaml +++ /dev/null @@ -1,46 +0,0 @@ -root-type:              map -documents:              2 -complex-keys:           false -collection-keys:        false -min-nodes-per-document: 4096 -encoding:               utf-8 -indent:                 4 -text-width:             40 - -#Note: setting collection probabilities too high can lead to stack overflow as  -#we end up with extremely deeply nested structures - -string:  -    probability: 20 -    alphabet: " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_0123456789ábćčďéěǵǧȟíǐǰḱǩĺľḿńňóǒôäṕŕřśšť" -    range: {min: 1, max: 40, dist: cubic} -int:  -    probability: 10  -    range: {min: -10000000, max: 10000000, dist: linear} -float:  -    probability: 10  -    range: {min: -10000000.0, max: 10000000.0, dist: linear} -bool:  -    probability: 10  -timestamp: -    probability: 10 -    round-chance: 0.9 -    range: {min: 0, max: 1231200000000000000, dist: linear} -binary:  -    probability: 4  -    range: {min: 1, max: 400, dist: quadratic} -map: -    probability: 2 -    range: {min: 1, max: 20, dist: cubic} -omap: -    probability: 1  -    range: {min: 1, max: 20, dist: cubic} -pairs: -    probability: 1  -    range: {min: 1, max: 20, dist: cubic} -seq: -    probability: 2  -    range: {min: 1, max: 20, dist: cubic} -set: -    probability: 1  -    range: {min: 1, max: 20, dist: cubic} diff --git a/src/ext_depends/D-YAML/examples/yaml_gen/dub.json b/src/ext_depends/D-YAML/examples/yaml_gen/dub.json deleted file mode 100644 index 1f5a2d1..0000000 --- a/src/ext_depends/D-YAML/examples/yaml_gen/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ -    "name": "yaml_gen", -    "targetType": "executable", -    "sourceFiles": ["yaml_gen.d"], -    "mainSourceFile": "yaml_gen.d", -    "dependencies": -    { -        "dyaml": { "version" : "*" } -    } -} diff --git a/src/ext_depends/D-YAML/examples/yaml_gen/yaml_gen.d b/src/ext_depends/D-YAML/examples/yaml_gen/yaml_gen.d deleted file mode 100644 index b970c31..0000000 --- a/src/ext_depends/D-YAML/examples/yaml_gen/yaml_gen.d +++ /dev/null @@ -1,316 +0,0 @@ - -///Random YAML generator. Used to generate benchmarking inputs. - -import std.algorithm; -import std.conv; -import std.datetime; -import std.math; -import std.random; -import std.stdio; -import std.string; -import dyaml; - - -Node config; -Node function(bool)[string] generators; -auto typesScalar     = ["string", "int", "float", "bool", "timestamp", "binary"]; -auto typesScalarKey  = ["string", "int", "float", "timestamp"]; -auto typesCollection = ["map","omap", "pairs", "seq", "set"]; -ulong minNodesDocument; -ulong totalNodes; - -static this() -{ -    generators["string"]    = &genString; -    generators["int"]       = &genInt; -    generators["float"]     = &genFloat; -    generators["bool"]      = &genBool; -    generators["timestamp"] = &genTimestamp; -    generators["binary"]    = &genBinary; -    generators["map"]       = &genMap; -    generators["omap"]      = &genOmap; -    generators["pairs"]     = &genPairs; -    generators["seq"]       = &genSeq; -    generators["set"]       = &genSet; -} - -real randomNormalized(const string distribution = "linear") -{ -    auto generator = Random(unpredictableSeed()); -    const r = uniform!"[]"(0.0L, 1.0L, generator); -    switch(distribution) -    { -        case "linear": -            return r; -        case "quadratic": -            return r * r; -        case "cubic": -            return r * r * r; -        default: -            writeln("Unknown random distribution: ", distribution, -                    ", falling back to linear"); -            return randomNormalized("linear"); -    } -} - -long randomLong(const long min, const long max, const string distribution = "linear") -{ -    return min + cast(long)round((max - min) * randomNormalized(distribution)); -} - -real randomReal(const real min, const real max, const string distribution = "linear") -{ -    return min + (max - min) * randomNormalized(distribution); -} - -dchar randomChar(const dstring chars) -{ -    return chars[randomLong(0, chars.length - 1)]; -} - -string randomType(string[] types) -{ -    auto probabilities = new uint[types.length]; -    foreach(index, type; types) -    { -        probabilities[index] = config[type]["probability"].as!uint; -    } -    return types[dice(probabilities)]; -} - -Node genString(bool root = false) -{ -    auto range = config["string"]["range"]; - -    auto alphabet = config["string"]["alphabet"].as!dstring; - -    const chars = randomLong(range["min"].as!uint, range["max"].as!uint, -                             range["dist"].as!string); - -    dchar[] result = new dchar[chars]; -    result[0] = randomChar(alphabet); -    foreach(i; 1 .. chars) -    { -        result[i] = randomChar(alphabet); -    } - -    return Node(result.to!string); -} - -Node genInt(bool root = false) -{ -    auto range = config["int"]["range"]; - -    const result = randomLong(range["min"].as!int, range["max"].as!int, -                              range["dist"].as!string); - -    return Node(result); -} - -Node genFloat(bool root = false) -{ -    auto range = config["float"]["range"]; - -    const result = randomReal(range["min"].as!real, range["max"].as!real, -                              range["dist"].as!string); - -    return Node(result); -} - -Node genBool(bool root = false) -{ -    return Node([true, false][randomLong(0, 1)]); -} - -Node genTimestamp(bool root = false) -{ -    auto range = config["timestamp"]["range"]; - -    auto hnsecs = randomLong(range["min"].as!ulong, range["max"].as!ulong, -                             range["dist"].as!string); - -    if(randomNormalized() <= config["timestamp"]["round-chance"].as!real) -    { -        hnsecs -= hnsecs % 10000000; -    } - -    return Node(SysTime(hnsecs)); -} - -Node genBinary(bool root = false) -{ -    auto range = config["binary"]["range"]; - -    const bytes = randomLong(range["min"].as!uint, range["max"].as!uint, -                             range["dist"].as!string); - -    ubyte[] result = new ubyte[bytes]; -    foreach(i; 0 .. bytes) -    { -        result[i] = cast(ubyte)randomLong(0, 255); -    } - -    return Node(result); -} - -Node nodes(const bool root, Node range, const string tag, const bool set = false) -{ -    auto types = config["collection-keys"].as!bool ? typesCollection : []; -    types ~= (set ? typesScalarKey : typesScalar); - -    Node[] nodes; -    if(root) -    { -        while(!(totalNodes >= minNodesDocument)) -        { -            nodes.assumeSafeAppend; -            nodes ~= generateNode(randomType(types)); -        } -    } -    else -    { -        const elems = randomLong(range["min"].as!uint, range["max"].as!uint, -                                 range["dist"].as!string); - -        nodes = new Node[elems]; -        foreach(i; 0 .. elems) -        { -            nodes[i] = generateNode(randomType(types)); -        } -    } - -    return Node(nodes, tag); -} - -Node genSeq(bool root = false) -{ -    return nodes(root, config["seq"]["range"], "tag:yaml.org,2002:seq"); -} - -Node genSet(bool root = false) -{ -    return nodes(root, config["seq"]["range"], "tag:yaml.org,2002:set", true); -} - -Node pairs(bool root, bool complex, Node range, string tag) -{ -    Node[] keys, values; - -    if(root) -    { -        while(!(totalNodes >= minNodesDocument)) -        { -            const key = generateNode(randomType(typesScalarKey ~ (complex ? typesCollection : []))); -            // Maps can't contain duplicate keys -            if(tag.endsWith("map") && keys.canFind(key)) { continue; } -            keys.assumeSafeAppend; -            values.assumeSafeAppend; -            keys ~= key; -            values ~= generateNode(randomType(typesScalar ~ typesCollection)); -        } -    } -    else -    { -        const pairs = randomLong(range["min"].as!uint, range["max"].as!uint, -                                 range["dist"].as!string); - -        keys = new Node[pairs]; -        values = new Node[pairs]; -        outer: foreach(i; 0 .. pairs) -        { -            auto key = generateNode(randomType(typesScalarKey ~ (complex ? typesCollection : []))); -            // Maps can't contain duplicate keys -            while(tag.endsWith("map") && keys[0 .. i].canFind(key)) -            { -                key = generateNode(randomType(typesScalarKey ~ (complex ? typesCollection : []))); -            } -            keys[i]   = key; -            values[i] = generateNode(randomType(typesScalar ~ typesCollection)); -        } -    } - -    return Node(keys, values, tag); -} - -Node genMap(bool root = false) -{ -    Node range = config["map"]["range"]; -    const complex = config["complex-keys"].as!bool; - -    return pairs(root, complex, range, "tag:yaml.org,2002:map"); -} - -Node genOmap(bool root = false) -{ -    Node range = config["omap"]["range"]; -    const complex = config["complex-keys"].as!bool; - -    return pairs(root, complex, range, "tag:yaml.org,2002:omap"); -} - -Node genPairs(bool root = false) -{ -    Node range = config["pairs"]["range"]; -    const complex = config["complex-keys"].as!bool; - -    return pairs(root, complex, range, "tag:yaml.org,2002:pairs"); -} - -Node generateNode(const string type, bool root = false) -{ -    ++totalNodes; -    return generators[type](root); -} - -Node[] generate(const string configFileName) -{ -    config = Loader.fromFile(configFileName).load(); - -    minNodesDocument = config["min-nodes-per-document"].as!long; - -    Node[] result; -    foreach(i; 0 .. config["documents"].as!uint) -    { -        result ~= generateNode(config["root-type"].as!string, true); -        totalNodes = 0; -    } - -    return result; -} - - -void main(string[] args) -{ -    //Help message. -    if(args.length == 1) -    { -        writeln("Usage: yaml_gen FILE [CONFIG_FILE]\n"); -        writeln("Generates a random YAML file and writes it to FILE."); -        writeln("If provided, CONFIG_FILE overrides the default config file."); -        return; -    } - -    string configFile = args.length >= 3 ? args[2] : "config.yaml"; - -    try -    { -        //Generate and dump the nodes. -        Node[] generated = generate(configFile); - -        auto dumper     = dumper(); -        auto encoding   = config["encoding"]; - -        dumper.indent = config["indent"].as!uint; -        dumper.textWidth = config["text-width"].as!uint; -        switch(encoding.as!string) -        { -            case "utf-16": dumper.dump!wchar(File(args[1], "w").lockingTextWriter, generated); break; -            case "utf-32": dumper.dump!dchar(File(args[1], "w").lockingTextWriter, generated); break; -            default: dumper.dump!char(File(args[1], "w").lockingTextWriter, generated); break; -        } -    } -    catch(YAMLException e) -    { -        writeln("ERROR: ", e.msg); -    } -} diff --git a/src/ext_depends/D-YAML/examples/yaml_stats/dub.json b/src/ext_depends/D-YAML/examples/yaml_stats/dub.json deleted file mode 100644 index c86f091..0000000 --- a/src/ext_depends/D-YAML/examples/yaml_stats/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ -    "name": "yaml_stats", -    "targetType": "executable", -    "sourceFiles": ["yaml_stats.d"], -    "mainSourceFile": "yaml_stats.d", -    "dependencies": -    { -        "dyaml": { "version" : "*" } -    } -} diff --git a/src/ext_depends/D-YAML/examples/yaml_stats/small.yaml b/src/ext_depends/D-YAML/examples/yaml_stats/small.yaml deleted file mode 100644 index 4f5c0ea..0000000 --- a/src/ext_depends/D-YAML/examples/yaml_stats/small.yaml +++ /dev/null @@ -1,4 +0,0 @@ -- 1 -- 2 : 'a' -  3 : 'b' -- 4 : [1.0, 2.1, 3.2] diff --git a/src/ext_depends/D-YAML/examples/yaml_stats/yaml_stats.d b/src/ext_depends/D-YAML/examples/yaml_stats/yaml_stats.d deleted file mode 100644 index b3f6c17..0000000 --- a/src/ext_depends/D-YAML/examples/yaml_stats/yaml_stats.d +++ /dev/null @@ -1,106 +0,0 @@ - -///Example D:YAML application that displays statistics about YAML documents. - -import std.stdio; -import std.string; -import dyaml; - - -///Collects statistics about a YAML document and returns them as string. -string statistics(ref Node document) -{ -    size_t nodes; -    size_t scalars, sequences, mappings; -    size_t seqItems, mapPairs; - -    size_t[string] tags; - -    void crawl(ref Node root) -    { -        ++nodes; -        if((root.tag in tags) is null) -        { -            tags[root.tag] = 0; -        } -        ++tags[root.tag]; -        final switch (root.nodeID) -        { -            case NodeID.scalar: -                ++scalars; -                return; -            case NodeID.sequence: -                ++sequences; -                seqItems += root.length; -                foreach(ref Node node; root) -                { -                    crawl(node); -                } -                return; -            case NodeID.mapping: -                ++mappings; -                mapPairs += root.length; -                foreach(ref Node key, ref Node value; root) -                { -                    crawl(key); -                    crawl(value); -                } -                return; -            case NodeID.invalid: -                assert(0); -        } -    } - -    crawl(document); - -    string tagStats = "\nTag statistics:\n"; -    foreach(tag, count; tags) -    { -        tagStats ~= format("\n%s : %s", tag, count); -    } - -    return format(  "\nNodes:                   %s" ~ -                  "\n\nScalars:                 %s" ~ -                    "\nSequences:               %s" ~ -                    "\nMappings:                %s" ~ -                  "\n\nAverage sequence length: %s" ~ -                    "\nAverage mapping length:  %s" ~ -                  "\n\n%s", -                  nodes, scalars, sequences, mappings, -                  sequences == 0.0 ? 0.0 : cast(real)seqItems / sequences, -                  mappings  == 0.0 ? 0.0 : cast(real)mapPairs / mappings, -                  tagStats); -} - -void main(string[] args) -{ -    //Help message -    if(args.length == 1) -    { -        writeln("Usage: yaml_stats [YAML_FILE ...]\n"); -        writeln("Analyzes YAML files with provided filenames and displays statistics."); -        return; -    } - -    //Print stats about every document in every file. -    foreach(file; args[1 .. $]) -    { -        writeln("\nFile ", file); -        writeln("------------------------------------------------------------"); -        try -        { -            auto loader = Loader.fromFile(file); - -            size_t idx = 0; -            foreach(ref document; loader) -            { -                writeln("\nDocument ", idx++); -                writeln("----------------------------------------"); -                writeln(statistics(document)); -            } -        } -        catch(YAMLException e) -        { -            writeln("ERROR: ", e.msg); -        } -    } -} diff --git a/src/ext_depends/D-YAML/testsuite/dub.json b/src/ext_depends/D-YAML/testsuite/dub.json deleted file mode 100644 index fece639..0000000 --- a/src/ext_depends/D-YAML/testsuite/dub.json +++ /dev/null @@ -1,8 +0,0 @@ -{ -    "name": "testsuite", -    "targetType": "executable", -    "dependencies": -    { -        "dyaml": "*" -    } -} diff --git a/src/ext_depends/D-YAML/testsuite/source/app.d b/src/ext_depends/D-YAML/testsuite/source/app.d deleted file mode 100644 index 6c26b32..0000000 --- a/src/ext_depends/D-YAML/testsuite/source/app.d +++ /dev/null @@ -1,323 +0,0 @@ -module dyaml.testsuite; - -import dyaml; -import dyaml.event; - -import std.algorithm; -import std.conv; -import std.file; -import std.format; -import std.json; -import std.path; -import std.range; -import std.stdio; -import std.string; -import std.typecons; -import std.utf; - -auto dumpEventString(string str) @safe -{ -    string[] output; -    try -    { -        auto events = Loader.fromString(str).parse(); -        foreach (event; events) -        { -            string line; -            final switch (event.id) -            { -                case EventID.scalar: -                    line = "=VAL "; -                    if (event.anchor != "") -                    { -                        line ~= text("&", event.anchor, " "); -                    } -                    if (event.tag != "") -                    { -                        line ~= text("<", event.tag, "> "); -                    } -                    switch(event.scalarStyle) -                    { -                        case ScalarStyle.singleQuoted: -                            line ~= "'"; -                            break; -                        case ScalarStyle.doubleQuoted: -                            line ~= '"'; -                            break; -                        case ScalarStyle.literal: -                            line ~= "|"; -                            break; -                        case ScalarStyle.folded: -                            line ~= ">"; -                            break; -                        default: -                            line ~= ":"; -                            break; -                    } -                    if (event.value != "") -                    { -                        line ~= text(event.value.substitute("\n", "\\n", `\`, `\\`, "\r", "\\r", "\t", "\\t", "\b", "\\b")); -                    } -                    break; -                case EventID.streamStart: -                    line = "+STR"; -                    break; -                case EventID.documentStart: -                    line = "+DOC"; -                    if (event.explicitDocument) -                    { -                        line ~= text(" ---"); -                    } -                    break; -                case EventID.mappingStart: -                    line = "+MAP"; -                    if (event.anchor != "") -                    { -                        line ~= text(" &", event.anchor); -                    } -                    if (event.tag != "") -                    { -                        line ~= text(" <", event.tag, ">"); -                    } -                    break; -                case EventID.sequenceStart: -                    line = "+SEQ"; -                    if (event.anchor != "") -                    { -                        line ~= text(" &", event.anchor); -                    } -                    if (event.tag != "") -                    { -                        line ~= text(" <", event.tag, ">"); -                    } -                    break; -                case EventID.streamEnd: -                    line = "-STR"; -                    break; -                case EventID.documentEnd: -                    line = "-DOC"; -                    if (event.explicitDocument) -                    { -                        line ~= " ..."; -                    } -                    break; -                case EventID.mappingEnd: -                    line = "-MAP"; -                    break; -                case EventID.sequenceEnd: -                    line = "-SEQ"; -                    break; -                case EventID.alias_: -                    line = text("=ALI *", event.anchor); -                    break; -                case EventID.invalid: -                    assert(0, "Invalid EventID produced"); -            } -            output ~= line; -        } -    } -    catch (Exception) {} //Exceptions should just stop adding output -    return output.join("\n"); -} - -enum TestState -{ -    success, -    skipped, -    failure -} - -struct TestResult -{ -    string name; -    TestState state; -    string failMsg; - -    const void toString(OutputRange)(ref OutputRange writer) -        if (isOutputRange!(OutputRange, char)) -    { -        ubyte statusColour; -        string statusString; -        final switch (state) { -            case TestState.success: -                statusColour = 32; -                statusString = "Succeeded"; -                break; -            case TestState.failure: -                statusColour = 31; -                statusString = "Failed"; -                break; -            case TestState.skipped: -                statusColour = 93; -                statusString = "Skipped"; -                break; -        } -        writer.formattedWrite!"[\033[%s;1m%s\033[0m] %s"(statusColour, statusString, name); -        if (state != TestState.success) -        { -            writer.formattedWrite!" (%s)"(failMsg.replace("\n", " ")); -        } -    } -} - -TestResult runTests(string tml) @safe -{ -    TestResult output; -    output.state = TestState.success; -    auto splitFile = tml.splitter("\n--- "); -    output.name = splitFile.front.findSplit("=== ")[2]; -    bool loadFailed, shouldFail; -    string failMsg; -    JSONValue json; -    Node[] nodes; -    string yamlString; -    Nullable!string compareYAMLString; -    Nullable!string events; -    ulong testsRun; - -    void fail(string msg) @safe -    { -        output.state = TestState.failure; -        output.failMsg = msg; -    } -    void skip(string msg) @safe -    { -        output.state = TestState.skipped; -        output.failMsg = msg; -    } -    void parseYAML(string yaml) @safe -    { -        yamlString = yaml; -        try { -            nodes = Loader.fromString(yamlString).array; -        } -        catch (Exception e) -        { -            loadFailed = true; -            failMsg = e.msg; -        } -    } -    void compareLineByLine(const string a, const string b, const string msg) @safe -    { -        foreach (line1, line2; zip(a.lineSplitter, b.lineSplitter)) -        { -            if (line1 != line2) -            { -                fail(text(msg, " Got ", line1, ", expected ", line2)); -                break; -            } -        } -    } -    foreach (section; splitFile.drop(1)) -    { -        auto splitSection = section.findSplit("\n"); -        auto splitSectionHeader = splitSection[0].findSplit(":"); -        const splitSectionName = splitSectionHeader[0].findSplit("("); -        const sectionName = splitSectionName[0]; -        const sectionParams = splitSectionName[2].findSplit(")")[0]; -        string sectionData = splitSection[2]; -        if (sectionData != "") -        { -            //< means dedent. -            if (sectionParams.canFind("<")) -            { -                sectionData = sectionData[4..$].substitute("\n    ", "\n", "<SPC>", " ", "<TAB>", "\t").toUTF8; -            } -            else -            { -                sectionData = sectionData.substitute("<SPC>", " ", "<TAB>", "\t").toUTF8; -            } -            //Not sure what + means. -        } -        switch(sectionName) -        { -            case "in-yaml": -                parseYAML(sectionData); -                break; -            case "in-json": -                json = parseJSON(sectionData); -                break; -            case "test-event": -                events = sectionData; -                break; -            case "error": -                shouldFail = true; -                testsRun++; -                break; -            case "out-yaml": -                compareYAMLString = sectionData; -                break; -            case "emit-yaml": -                // TODO: Figure out how/if to implement this -                //fail("Unhandled test - emit-yaml"); -                break; -            case "lex-token": -                // TODO: Should this be implemented? -                //fail("Unhandled test - lex-token"); -                break; -            case "from": break; -            case "tags": break; -            default: assert(false, text("Unhandled section ", sectionName, "in ", output.name)); -        } -    } -    if (!loadFailed && !compareYAMLString.isNull && !shouldFail) -    { -        Appender!string buf; -        dumper().dump(buf); -        compareLineByLine(buf.data, compareYAMLString.get, "Dumped YAML mismatch"); -        testsRun++; -    } -    if (!loadFailed && !events.isNull && !shouldFail) -    { -        const compare = dumpEventString(yamlString); -        compareLineByLine(compare, events.get, "Event mismatch"); -        testsRun++; -    } -    if (loadFailed && !shouldFail) -    { -        fail(failMsg); -    } -    if (shouldFail && !loadFailed) -    { -        fail("Invalid YAML accepted"); -    } -    if ((testsRun == 0) && (output.state != TestState.failure)) -    { -        skip("No tests run"); -    } -    return output; -} - -// Can't be @safe due to dirEntries() -void main(string[] args) @system -{ -    string path = "yaml-test-suite/test"; - -    void printResult(string id, TestResult result) -    { -        writeln(id, " ", result); -    } - -    if (args.length > 1) -    { -        path = args[1]; -    } - -    ulong total; -    ulong successes; -    foreach (file; dirEntries(path, "*.tml", SpanMode.shallow)) -    { -        auto result = runTests(readText(file)); -        if (result.state == TestState.success) -        { -            debug(verbose) printResult(file.baseName, result); -            successes++; -        } -        else -        { -            printResult(file.baseName, result); -        } -        total++; -    } -    writefln!"%d/%d tests passed"(successes, total); -} | 
