Thread overview
Dustmite for VisualD
Jul 07, 2014
Frustrated
Jul 07, 2014
Rainer Schuetze
Jul 07, 2014
Frustrated
Jul 13, 2014
Vladimir Panteleev
Jul 13, 2014
Rainer Schuetze
Jul 17, 2014
Frustrated
Jul 18, 2014
Vladimir Panteleev
Jul 22, 2014
Rainer Schuetze
Jun 06, 2015
Rainer Schuetze
July 07, 2014
I don't know, just seems like it would be really useful?

e.g., select an error and be able to run dustmite on it? Be able to use dustmite to reduce code?
July 07, 2014

On 07.07.2014 19:47, Frustrated wrote:
> I don't know, just seems like it would be really useful?
>
> e.g., select an error and be able to run dustmite on it? Be able to use
> dustmite to reduce code?

Interesting idea.

In my experience it is not so easy to create a copy of a non-trivial project that dustmite can reduce, because the build instructions (the batch created by Visual D) are not so easily accessible to dustmite.
July 07, 2014
On Monday, 7 July 2014 at 22:08:30 UTC, Rainer Schuetze wrote:
>
>
> On 07.07.2014 19:47, Frustrated wrote:
>> I don't know, just seems like it would be really useful?
>>
>> e.g., select an error and be able to run dustmite on it? Be able to use
>> dustmite to reduce code?
>
> Interesting idea.
>
> In my experience it is not so easy to create a copy of a non-trivial project that dustmite can reduce, because the build instructions (the batch created by Visual D) are not so easily accessible to dustmite.

It should not be too difficult I imagine. Obviously Visual Studio keeps tracks of all the files in the project and it would be very simple to combine the files.

e.g., it shouldn't be hard to pass all the project files to dustmite on the command line. I imagine Visual D could copy all the files in the project to a temp project and run dustmite on it?

In fact, I suppose one could create a simple command that does that automatically. I'm new to dustmite so I'm not sure how to use it at this point but on the surface it seems like something that is relatively easy to add yet could be very useful.

July 13, 2014
On Monday, 7 July 2014 at 22:08:30 UTC, Rainer Schuetze wrote:
>
>
> On 07.07.2014 19:47, Frustrated wrote:
>> I don't know, just seems like it would be really useful?
>>
>> e.g., select an error and be able to run dustmite on it? Be able to use
>> dustmite to reduce code?
>
> Interesting idea.
>
> In my experience it is not so easy to create a copy of a non-trivial project that dustmite can reduce, because the build instructions (the batch created by Visual D) are not so easily accessible to dustmite.

Would teaching Dustmite how to split (and reduce) XML files (thus, also Visual Studio project files) help?
July 13, 2014

On 13.07.2014 14:34, Vladimir Panteleev wrote:
> On Monday, 7 July 2014 at 22:08:30 UTC, Rainer Schuetze wrote:
>>
>>
>> On 07.07.2014 19:47, Frustrated wrote:
>>> I don't know, just seems like it would be really useful?
>>>
>>> e.g., select an error and be able to run dustmite on it? Be able to use
>>> dustmite to reduce code?
>>
>> Interesting idea.
>>
>> In my experience it is not so easy to create a copy of a non-trivial
>> project that dustmite can reduce, because the build instructions (the
>> batch created by Visual D) are not so easily accessible to dustmite.
>
> Would teaching Dustmite how to split (and reduce) XML files (thus, also
> Visual Studio project files) help?

I guess calling devenv for every build might be slow.

Instead running dustmite on the build batch file could work. Visual D writes source files and libraries to a response file to be passed to the compiler. It would help if dustmite could reduce the batch or the response file.
I guess more complications will show if dependent libraries are involved.

For example the Visual D parser is built with this:

set PATH=c:\l\d\dmd2.066\windows\\bin;C:\Program Files (x86)\Windows Kits\8.1\\\bin;%PATH%

echo ast\aggr.d >..\bin\Debug\parser\parser.build.rsp
echo ast\all.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\decl.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\expr.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\iasm.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\misc.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\mod.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\node.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\stmt.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\tmpl.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\type.d >>..\bin\Debug\parser\parser.build.rsp
echo ast\writer.d >>..\bin\Debug\parser\parser.build.rsp
echo parser\aggr.d >>..\bin\Debug\parser\parser.build.rsp
echo parser\decl.d >>..\bin\Debug\parser\parser.build.rsp
echo parser\engine.d >>..\bin\Debug\parser\parser.build.rsp
echo parser\expr.d >>..\bin\Debug\parser\parser.build.rsp
echo parser\iasm.d >>..\bin\Debug\parser\parser.build.rsp
echo parser\misc.d >>..\bin\Debug\parser\parser.build.rsp
echo parser\mod.d >>..\bin\Debug\parser\parser.build.rsp
echo parser\stmt.d >>..\bin\Debug\parser\parser.build.rsp
echo parser\tmpl.d >>..\bin\Debug\parser\parser.build.rsp
echo interpret.d >>..\bin\Debug\parser\parser.build.rsp
echo ivdserver.d >>..\bin\Debug\parser\parser.build.rsp
echo lexer.d >>..\bin\Debug\parser\parser.build.rsp
echo logger.d >>..\bin\Debug\parser\parser.build.rsp
echo parsertest.d >>..\bin\Debug\parser\parser.build.rsp
echo semantic.d >>..\bin\Debug\parser\parser.build.rsp
echo util.d >>..\bin\Debug\parser\parser.build.rsp
echo vdserver.d >>..\bin\Debug\parser\parser.build.rsp
echo versions.d >>..\bin\Debug\parser\parser.build.rsp
echo M:\s\d\visuald\trunk\sdk\..\bin\Debug\vsi.lib >>..\bin\Debug\parser\parser.build.rsp

dmd -lib -g -d -unittest -debug -op -X -Xf"..\bin\Debug\parser\parser.json" -I.. -J. -deps="..\bin\Debug\parser\parser.dep" -of"..\bin\Debug\parser.lib" -map "..\bin\Debug\parser\parser.map" -L/NOMAP @..\bin\Debug\parser\parser.build.rsp
if errorlevel 1 goto reportError
if not exist "..\bin\Debug\parser.lib" (echo "..\bin\Debug\parser.lib" not created! && goto reportError)

goto noError

:reportError
echo Building ..\bin\Debug\parser.lib failed!

:noError
July 17, 2014
On Sunday, 13 July 2014 at 18:20:01 UTC, Rainer Schuetze wrote:
>
>
> On 13.07.2014 14:34, Vladimir Panteleev wrote:
>> On Monday, 7 July 2014 at 22:08:30 UTC, Rainer Schuetze wrote:
>>>
>>>
>>> On 07.07.2014 19:47, Frustrated wrote:
>>>> I don't know, just seems like it would be really useful?
>>>>
>>>> e.g., select an error and be able to run dustmite on it? Be able to use
>>>> dustmite to reduce code?
>>>
>>> Interesting idea.
>>>
>>> In my experience it is not so easy to create a copy of a non-trivial
>>> project that dustmite can reduce, because the build instructions (the
>>> batch created by Visual D) are not so easily accessible to dustmite.
>>
>> Would teaching Dustmite how to split (and reduce) XML files (thus, also
>> Visual Studio project files) help?
>
> I guess calling devenv for every build might be slow.
>
> Instead running dustmite on the build batch file could work. Visual D writes source files and libraries to a response file to be passed to the compiler. It would help if dustmite could reduce the batch or the response file.
> I guess more complications will show if dependent libraries are involved.
>
> For example the Visual D parser is built with this:
>
> set PATH=c:\l\d\dmd2.066\windows\\bin;C:\Program Files (x86)\Windows Kits\8.1\\\bin;%PATH%
>
> echo ast\aggr.d >..\bin\Debug\parser\parser.build.rsp
> echo ast\all.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\decl.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\expr.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\iasm.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\misc.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\mod.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\node.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\stmt.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\tmpl.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\type.d >>..\bin\Debug\parser\parser.build.rsp
> echo ast\writer.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\aggr.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\decl.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\engine.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\expr.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\iasm.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\misc.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\mod.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\stmt.d >>..\bin\Debug\parser\parser.build.rsp
> echo parser\tmpl.d >>..\bin\Debug\parser\parser.build.rsp
> echo interpret.d >>..\bin\Debug\parser\parser.build.rsp
> echo ivdserver.d >>..\bin\Debug\parser\parser.build.rsp
> echo lexer.d >>..\bin\Debug\parser\parser.build.rsp
> echo logger.d >>..\bin\Debug\parser\parser.build.rsp
> echo parsertest.d >>..\bin\Debug\parser\parser.build.rsp
> echo semantic.d >>..\bin\Debug\parser\parser.build.rsp
> echo util.d >>..\bin\Debug\parser\parser.build.rsp
> echo vdserver.d >>..\bin\Debug\parser\parser.build.rsp
> echo versions.d >>..\bin\Debug\parser\parser.build.rsp
> echo M:\s\d\visuald\trunk\sdk\..\bin\Debug\vsi.lib
> >>..\bin\Debug\parser\parser.build.rsp
>
> dmd -lib -g -d -unittest -debug -op -X -Xf"..\bin\Debug\parser\parser.json" -I.. -J. -deps="..\bin\Debug\parser\parser.dep" -of"..\bin\Debug\parser.lib" -map "..\bin\Debug\parser\parser.map" -L/NOMAP @..\bin\Debug\parser\parser.build.rsp
> if errorlevel 1 goto reportError
> if not exist "..\bin\Debug\parser.lib" (echo "..\bin\Debug\parser.lib" not created! && goto reportError)
>
> goto noError
>
> :reportError
> echo Building ..\bin\Debug\parser.lib failed!
>
> :noError

I don't think that would be the best method as it might reduce some bugs cause by inter module usage.

I noticed that MonoD had dustmite ability but I didn't get to try it out.



July 18, 2014
On Sunday, 13 July 2014 at 18:20:01 UTC, Rainer Schuetze wrote:
> Instead running dustmite on the build batch file could work. Visual D writes source files and libraries to a response file to be passed to the compiler. It would help if dustmite could reduce the batch or the response file.

That could work. With DustMite master, you can add this to the command line:

--split *.bat:lines
July 22, 2014

On 18.07.2014 23:28, Vladimir Panteleev wrote:
> On Sunday, 13 July 2014 at 18:20:01 UTC, Rainer Schuetze wrote:
>> Instead running dustmite on the build batch file could work. Visual D
>> writes source files and libraries to a response file to be passed to
>> the compiler. It would help if dustmite could reduce the batch or the
>> response file.
>
> That could work. With DustMite master, you can add this to the command
> line:
>
> --split *.bat:lines

Thanks, I'll try that.
June 06, 2015
On 22.07.2014 09:20, Rainer Schuetze wrote:
>
>
> On 18.07.2014 23:28, Vladimir Panteleev wrote:
>> On Sunday, 13 July 2014 at 18:20:01 UTC, Rainer Schuetze wrote:
>>> Instead running dustmite on the build batch file could work. Visual D
>>> writes source files and libraries to a response file to be passed to
>>> the compiler. It would help if dustmite could reduce the batch or the
>>> response file.
>>
>> That could work. With DustMite master, you can add this to the command
>> line:
>>
>> --split *.bat:lines
>
> Thanks, I'll try that.

Finally, there is a first version of Visual D with DustMite support: https://github.com/D-Programming-Language/visuald/releases/tag/v0.3.42-beta1

You can find some documentation at http://rainers.github.io/visuald/visuald/DustMite.html