D - The dependency checker
- "Lars Ivar Igesund" <larsivi stud.ntnu.no> Oct 31 2003
- "Lars Ivar Igesund" <larsivi stud.ntnu.no> Nov 05 2003
- "Lars Ivar Igesund" <larsivi stud.ntnu.no> Nov 05 2003
- Ant <Ant_member pathlink.com> Nov 07 2003
- "Lars Ivar Igesund" <larsivi stud.ntnu.no> Nov 08 2003
- Ant <Ant_member pathlink.com> Nov 08 2003
- "Lars Ivar Igesund" <larsivi stud.ntnu.no> Nov 09 2003
- Ant <Ant_member pathlink.com> Nov 09 2003
- "Lars Ivar Igesund" <larsivi stud.ntnu.no> Nov 09 2003
- Ant <Ant_member pathlink.com> Nov 09 2003
- "Lars Ivar Igesund" <larsivi stud.ntnu.no> Nov 09 2003
- Ant <Ant_member pathlink.com> Nov 10 2003
- Ant <Ant_member pathlink.com> Nov 08 2003
- Ant <Ant_member pathlink.com> Nov 07 2003
- "Lars Ivar Igesund" <larsivi stud.ntnu.no> Nov 12 2003
- "Lars Ivar Igesund" <larsivi stud.ntnu.no> Nov 12 2003
- "Lars Ivar Igesund" <larsivar igesund.net> Nov 28 2003
Has changed name to ddepcheck and can be found at http://www.igesund.net/larsivar/ddepcheck.d Some minor bugs has been fixed. Lars Ivar Igesund
Oct 31 2003
Newest version (0.8.5) uploaded today now supports dmd 0.75, but not the olders (in terms of not looking at phobos dependencies as real dependencies.) Also, text like "private important" in comments should no longer cause difficulties as comments should be removed before analysis. I think it is fairly robust now... It still don't handle multiple input files very well though. I'm not sure that the feature has any real use. In the settings where I use it, the output is piped to a file per input file anyway and then multiple input files would just muck up. Comments or wishes on that? Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:bnt6e3$1624$1 digitaldaemon.com...Has changed name to ddepcheck and can be found at http://www.igesund.net/larsivar/ddepcheck.d Some minor bugs has been fixed. Lars Ivar Igesund
Nov 05 2003
And then is 0.8.6 up. Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:boafod$1r7d$1 digitaldaemon.com...Newest version (0.8.5) uploaded today now supports dmd 0.75, but not the olders (in terms of not looking at phobos dependencies as real dependencies.) Also, text like "private important" in comments should no longer cause difficulties as comments should be removed before analysis. I think it is fairly robust now... It still don't handle multiple input files very well though. I'm not sure that the feature has any real use. In the settings where I use it, the output
piped to a file per input file anyway and then multiple input files would just muck up. Comments or wishes on that? Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:bnt6e3$1624$1 digitaldaemon.com...Has changed name to ddepcheck and can be found at http://www.igesund.net/larsivar/ddepcheck.d Some minor bugs has been fixed. Lars Ivar Igesund
Nov 05 2003
In article <boakrq$22bs$1 digitaldaemon.com>, Lars Ivar Igesund says...And then is 0.8.6 up. Lars Ivar Igesund
I have 6 imports: module dui.ObjectG; private import dui.Utils; private import def.Types; private import std.gc; private import std.string; private import dui.OGTK; private import ddi.Value; ./../ddepcheck -I/dmd/src/phobos dui/ObjectG.d gives me: # dui/ObjectG.d ## dui.Utils dui/Utils.d 1 std.gc /dmd/src/phobos/std/gc.d 1 dui.OGTK dui/OGTK.d 1 ddi.Value ddi/Value.d 1 I changed the phobos array to empty. I don't think this is the expected result!... Ant
Nov 07 2003
Thanks for the report! I had a stupid bug in my comment stripping function. Version 0.9.0 is now up and seems correct for my version of ObjectG that is not the same as you have, but it showed the same problems. Also, I have added the switch -l/--checkruntimelib that also look at phobos for dependencies. (It will crash if the correct path isn't supplied, but that is a feature :). Lars Ivar Igesund "Ant" <Ant_member pathlink.com> wrote in message news:bohnc0$878$1 digitaldaemon.com...In article <boakrq$22bs$1 digitaldaemon.com>, Lars Ivar Igesund says...And then is 0.8.6 up. Lars Ivar Igesund
I have 6 imports: module dui.ObjectG; private import dui.Utils; private import def.Types; private import std.gc; private import std.string; private import dui.OGTK; private import ddi.Value; ./../ddepcheck -I/dmd/src/phobos dui/ObjectG.d gives me: # dui/ObjectG.d ## dui.Utils dui/Utils.d 1 std.gc /dmd/src/phobos/std/gc.d 1 dui.OGTK dui/OGTK.d 1 ddi.Value ddi/Value.d 1 I changed the phobos array to empty. I don't think this is the expected result!... Ant
Nov 08 2003
In article <boikkq$1jvo$1 digitaldaemon.com>, Lars Ivar Igesund says...
I made some changes (0.74) as suggestions (see attachment) (r for renamed) ./../rdepcheck -I/dmd_0.75/src/phobos dui/DUI.d dui/ObjectG.d will product: dui/DUI.d | def/Types.d | | std/string.d | | | std/c/stdio.d | def/Constants.d | dui/Utils.d | std/string.d | | std/c/stdio.d | std/thread.d | dui/SListG.d | dui/ListG.d | event/Event.d dui/ObjectG.d | dui/Utils.d | def/Types.d | | std/string.d | | | std/c/stdio.d | def/Constants.d | std/string.d | | std/c/stdio.d | std/gc.d | | gcstats.d | dui/OGTK.d | ddi/Value.d it's not even right as ddi/Value.d has imports and they don't show. if I'm gonna use it on leds I need some funtion like public DepStruct getImports(char[] name) that's also suggesting on the attachment. the attachment is barely more then pseudo code, so no acknowleagments are necessary if you decide to recode or clean up the suggestions. Ant
Nov 08 2003
"Ant" <Ant_member pathlink.com> wrote in message news:bojbs3$2koa$1 digitaldaemon.com...In article <boikkq$1jvo$1 digitaldaemon.com>, Lars Ivar Igesund says...
I made some changes (0.74) as suggestions (see attachment) (r for renamed) ./../rdepcheck -I/dmd_0.75/src/phobos dui/DUI.d dui/ObjectG.d will product: dui/DUI.d | def/Types.d | | std/string.d | | | std/c/stdio.d | def/Constants.d | dui/Utils.d | std/string.d | | std/c/stdio.d | std/thread.d | dui/SListG.d | dui/ListG.d | event/Event.d dui/ObjectG.d | dui/Utils.d | def/Types.d | | std/string.d | | | std/c/stdio.d | def/Constants.d | std/string.d | | std/c/stdio.d | std/gc.d | | gcstats.d | dui/OGTK.d | ddi/Value.d it's not even right as ddi/Value.d has imports and they don't show.
It's correct for my version. the imports in ddi/value.d are private, thus ObjectG.d don't depend on them and IMO that is correct behaiour. If you don't agree with me, I'll add the option to include private imports as dependencies.if I'm gonna use it on leds I need some funtion like public DepStruct getImports(char[] name) that's also suggesting on the attachment.
I'll think about this, but it would make ddepcheck to a library routine. I might do that at some time, but I need it as an app that outputs to stdout. Lars Ivar Igesund
Nov 09 2003
In article <bol6c0$22c3$1 digitaldaemon.com>, Lars Ivar Igesund says...It's correct for my version. the imports in ddi/value.d are private, thus ObjectG.d don't depend on them and IMO that is correct behaiour.
You right!If you don't agree with me, I'll add the option to include private imports as dependencies.
That would be a nice feature. Might help straightening the dmd import problems. (ok, the mess might be on DUI but at least dmd has problems reporting it)if I'm gonna use it on leds I need some funtion like public DepStruct getImports(char[] name) that's also suggesting on the attachment.
I'll think about this, but it would make ddepcheck to a library routine. I might do that at some time, but I need it as an app that outputs to stdout.
I didn't think one would excludes the other (?)... (oh, you mean the main function must be removed? how about version(ddepcheckLIB){}else{main...}) Any way you cut it the print routine shouldn't be on the main function. (I my opinion) Ant
Nov 09 2003
"Ant" <Ant_member pathlink.com> wrote in message .I didn't think one would excludes the other (?)... (oh, you mean the main function must be removed? how about version(ddepcheckLIB){}else{main...})
Also I would make the switches to 'set' methods instead. I'll rather make another file :)Any way you cut it the print routine shouldn't be on the main function. (I my opinion)
A matter of taste, but I might do it. (They are only 3 lines each.) Lars Ivar Igesund
Nov 09 2003
In article <bomhpr$1agg$1 digitaldaemon.com>, Lars Ivar Igesund says...Any way you cut it the print routine shouldn't be on the main function. (I my opinion)
A matter of taste, but I might do it.
I'm glad we don't work on the same projects... ;) (I give hell to my coleagues for things like that)(They are only 3 lines each.)
each!? you mean you have duplicated code?! ;) (I give hell to my coleagues for things like that) :) Ant
Nov 09 2003
"Ant" <Ant_member pathlink.com> wrote in message news:bomiks$1blk$1 digitaldaemon.com...In article <bomhpr$1agg$1 digitaldaemon.com>, Lars Ivar Igesund says...Any way you cut it the print routine shouldn't be on the main function. (I my opinion)
A matter of taste, but I might do it.
I'm glad we don't work on the same projects... ;) (I give hell to my coleagues for things like that)
Any special reason?(They are only 3 lines each.)
each!? you mean you have duplicated code?! ;)
No, there's two ways to print out the deps. Lars Ivar Igesund
Nov 09 2003
In article <bondjc$2g2q$1 digitaldaemon.com>, Lars Ivar Igesund says...A matter of taste, but I might do it.
I'm glad we don't work on the same projects... ;) (I give hell to my coleagues for things like that)
Any special reason?
2 bigies: - maintainability. - reusability.each!? you mean you have duplicated code?! ;)
No, there's two ways to print out the deps.
(1) depfile.printf(depmods[i] ~ " " ~ depfiles[i] ~ " " ~ depdepths[i] ~ "\n"); (2) I thought we could do: stdout.printf(toStringz(depmods[i] ~ " " ~ depfiles[i] ~ " " ~ depdepths[i] ~ "\n")); or something like that. Ant
Nov 10 2003
In article <boakrq$22bs$1 digitaldaemon.com>, Lars Ivar Igesund says...And then is 0.8.6 up. Lars Ivar Igesund
Sorry, just realize that blank lines make a diff. what I had was: private import dui.Utils; private import def.Types; private import std.gc; private import std.string; private import dui.OGTK; private import ddi.Value; I changed it to: private import dui.Utils; private import def.Types; private import std.gc; private import std.string; private import dui.OGTK; private import ddi.Value; and now I get: # dui/ObjectG.d ## dui.Utils dui/Utils.d 1 def.Constants def/Constants.d 2 def.Types def/Types.d 1 std.string /home/ruimt/dmd/src/phobos/std/string.d 1 ddi.Value ddi/Value.d 1 which still doesn't seem the expected output. Ant
Nov 07 2003
Version 0.9.2 is now up. Some code was moved out of main (courtesy of Ant). A switch -p/--checkprivate was added. This will make the app search through private imports too (for diagnostic use only.) I also fixed it so that infinite recursion is now impossible. Also, it makes the search faster. Also, the first iteration of ddepchecklib.d is up at http://www.igesund.net/larsivar/ddepchecklib.d The module has a struct ddepcheck with the following functions: void setCheckRuntime(bool value) void setCheckPrivate(bool value) void setSearchDepth(int newdepth) void addImportPath(char [] path) DepStruct getDeps(char [] file) The DepStruct looks like this: export struct DepStruct { char [] filename; char [] modname; int [] depths; int numdeps; DepStruct [] dependencies; } I haven't tested this, so I expect it to have errors all over the place (also I'm not very used to structs, so I expect it to sport access violations like no other app.) Lars Ivar Igesund
Nov 12 2003
And version 0.9.3. Two small buglets were fixed (one for dependency paths and one for "//" comments.) Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:bostke$1n75$1 digitaldaemon.com...Version 0.9.2 is now up.
Nov 12 2003
Version 0.9.4 is up. Only change is support for dmd 0.76 instead of previous versions. Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:bnt6e3$1624$1 digitaldaemon.com...Has changed name to ddepcheck and can be found at http://www.igesund.net/larsivar/ddepcheck.d Some minor bugs has been fixed. Lars Ivar Igesund
Nov 28 2003









Ant <Ant_member pathlink.com> 