Itiviti / gradle-msbuild-plugin

Gradle plugin for msbuild execution, supports C# project files for now
Apache License 2.0
102 stars 57 forks source link

Specify the destination of dll-files #40

Closed sinur closed 9 years ago

sinur commented 9 years ago

I want to create my dll-files in a folder of my choice, but even if I define destinationDir, they are always created in the default folder

My task looks as follows: task createReleaseDllForWin32(type: Msbuild){ onlyIf{ OperatingSystem.current().windows } solutionFile = "path/to/solutionfile.sln" configuration = 'Release' platform = "Win32" targets = ['Clean','Build'] destinationDir = "build/msbuild/bin" }

gluck commented 9 years ago

Hi,

if you run gradle with -i (or --info), you'll see the exact msbuild command used, e.g.

Resolved MSBuild to C:\Program Files (x86)\MSBuild\14.0\bin\
Starting process 'command 'C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe''. Working directory: C:\workspace Command: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe /nologo C:\workspace\foo.sln /t:Clean;Build /v:normal /p:Project=foo /p:OutputPath=C:\workspace\foo\ /p:Configuration=Release /p:Platform=Any CPU

Can you check whether the command is correct and builds in the proper location ?

It seems that there's a bug in the up-to-date checking of the task in regards to the provided properties (e.g. OutputPath), but the msbuild command looks correct to me.

sinur commented 9 years ago

I checked it and in the commandline has /p:OutputPath=C:\Users[...]\build/msbuild/bin, but it still builds in the folder specified in the project file

gluck commented 9 years ago

OutputPath may not be the right property to set for your project type no ?

sinur commented 9 years ago

Yes, OutDir was the property i was looking for. I replaced the destinationDir line with: parameters.put("OutDir", "$projectDir/build/msbuild/bin") Now it works as intended, thank you

gluck commented 9 years ago

Note that ideally the plugin should handle that, although I'm not sure I can find a setting that would work for every solution mix...

Thx !