dlang / ddox

Advanced D documentation engine
MIT License
62 stars 20 forks source link

DDOX does not exclude `vibe.appmain` #220

Closed Geod24 closed 4 years ago

Geod24 commented 4 years ago

I have the following in my dub.json:

    "x:ddoxFilterArgs": [ "--unittest-examples", "--ex", "vibe." ],

    "dependencies": {
        "base32":           { "path": "submodules/base32/", "version": "*" },
        "bitblob":          { "path": "submodules/bitblob/", "version": "*" },
        "d2sqlite3":        { "path": "submodules/d2sqlite3/", "version": "*" },
        "dyaml":            { "path": "submodules/dyaml/", "version": "*" },
        "libsodiumd":       { "path": "submodules/libsodiumd/", "version": "*" },
        "localrest":        { "path": "submodules/localrest/", "version": "*" },
        "vibe-d":           { "path": "submodules/vibe.d/", "version": "*" }
    }

However, vibe.appmain is still generated and part of the documentation. The only thing that stands out about appmain is that it is actually in vibe.core.main.

ktm5j commented 4 years ago

According to the README and dub documentation, the key for dub.json is -ddoxFilterArgs and that x:ddoxFilterArgs is for sdl format. Might be your problem.

Geod24 commented 4 years ago

That's a very good point... However, switching to the correct key results in:

To force a rebuild of up-to-date targets, run again with --force.
Running ../../../.dub/packages/ddox-0.16.12/ddox/ddox serve-html --navigation-type=ModuleTree docs.json --web-file-dir=/Users/geod24/.dub/packages/ddox-0.16.12/ddox/public
Reading doc file...
Parsing JSON...
Parsing docs...
std.json.JSONException@std/json.d(1549): Got JSON of type undefined, expected string.
----------------
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 const pure @safe void vibe.data.json.Json.checkType!(immutable(char)[]).checkType(immutable(char)[]) [0x106fcd290]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 inout @property @trusted inout(immutable(char)[]) vibe.data.json.Json.get!(immutable(char)[]).get() [0x106fcd16b]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 ddox.entities.Declaration ddox.parsers.jsonparser.Parser.parseDecl(vibe.data.json.Json, ddox.entities.Entity) [0x10713d0a4]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 int ddox.parsers.jsonparser.Parser.parseDeclList(vibe.data.json.Json, ddox.entities.Entity).__foreachbody3(ref vibe.data.json.Json) [0x10713cf2b]
../../../.dub/packages/vibe-d-0.8.4/vibe-d/data/vibe/data/json.d:435 int vibe.data.json.Json.opApply(scope int delegate(ref vibe.data.json.Json)) [0x107397ae3]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 ddox.entities.Declaration[] ddox.parsers.jsonparser.Parser.parseDeclList(vibe.data.json.Json, ddox.entities.Entity) [0x10713cec2]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 void ddox.parsers.jsonparser.Parser.parseModuleDecls(vibe.data.json.Json, ddox.entities.Package) [0x10713bc4b]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 int ddox.parsers.jsonparser.parseJsonDocs(vibe.data.json.Json, ddox.entities.Package).__foreachbody3(ref vibe.data.json.Json) [0x10713b9f1]
../../../.dub/packages/vibe-d-0.8.4/vibe-d/data/vibe/data/json.d:435 int vibe.data.json.Json.opApply(scope int delegate(ref vibe.data.json.Json)) [0x107397ae3]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 ddox.entities.Package ddox.parsers.jsonparser.parseJsonDocs(vibe.data.json.Json, ddox.entities.Package) [0x10713b985]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 ddox.entities.Package ddox.main.parseDocFile(immutable(char)[], ddox.settings.DdoxSettings) [0x10711efdc]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 int ddox.main.setupGeneratorInput(ref immutable(char)[][], out ddox.settings.GeneratorSettings, out ddox.entities.Package) [0x10711dc59]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 int ddox.main.cmdServeHtml(immutable(char)[][]) [0x10711d672]
/usr/local/opt/dmd/include/dlang/dmd/core/internal/array/equality.d:33 int ddox.main.ddoxMain(immutable(char)[][]) [0x10711d43e]
../../../.dub/packages/ddox-0.16.12/ddox/source/app.d:8 _Dmain [0x106fc6fa7]
Program exited with code 1
dub -b ddox  32.84s user 5.11s system 99% cpu 38.052 total

Don't mind the wrong file/line names in the stack trace, the traces are broken on OSX, but the frames are correct it seems.

Geod24 commented 4 years ago

It was indeed a user error, the above stack-trace was because I was missing the -.