Dustmite for VisualD

Rainer Schuetze via Digitalmars-d-ide digitalmars-d-ide at puremagic.com
Sun Jul 13 11:19:59 PDT 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


More information about the Digitalmars-d-ide mailing list