vigoo / bari

Bari is an advanced build management tool for .NET projects.
http://vigoo.github.io/bari/
Apache License 2.0
11 stars 6 forks source link

Cannot build if the product's name is the same as one of its module's name #137

Closed p5ych08illy closed 9 years ago

p5ych08illy commented 9 years ago

Check https://github.com/zvrana/bari-vs-addon

P:\bariAddon\bari-vs-addon>bari build BariVSAddon
bari version 0.0.0.0

Resolving reference nuget://jetbrains.annotations.redist/
Resolving reference nuget://vssdk.shell.11/
Resolving reference nuget://vssdk.ole.interop/
Resolving reference nuget://vssdk.shell.immutable.10/
Resolving reference nuget://vssdk.shell.interop.10/
Resolving reference nuget://vssdk.shell.interop.9/
Resolving reference nuget://vssdk.shell.interop.8/
Resolving reference nuget://vssdk.shell.interop/
Resolving reference nuget://vssdk.dte/
Resolving reference fsrepo://./Microsoft.VisualStudio.Shell.11.0.dll
  BariVsAddon -> P:\bariAddon\bari-vs-addon\target\BariVsAddon\BariVsAddon.dll
System.IO.IOException: The process cannot access the file 'P:\bariAddon\bari-vs-addon\target\BariVsAddon\BariVsAddon.dll' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
   at Bari.Core.Generic.LocalFileSystemDirectory.CopyFile(String name, IFileSystemDirectory target, String targetName) in g:\bariPsycho\src\core\Bari.Core\cs\Generic\LocalFileSystemDirectory.cs:line 286
   at Bari.Core.Build.CopyResultBuilder.Run(IBuildContext context) in g:\bariPsycho\src\core\Bari.Core\cs\Build\CopyResultBuilder.cs:line 73
   at Bari.Core.Build.Statistics.MonitoredBuilder.Run(IBuildContext context) in g:\bariPsycho\src\core\Bari.Core\cs\Build\Statistics\MonitoredBuilder.cs:line 32
   at Bari.Core.Build.BuildContext.Run(IBuilder rootBuilder) in g:\bariPsycho\src\core\Bari.Core\cs\Build\BuildContext.cs:line 113
   at Bari.Core.Commands.BuildCommand.RunWithProjects(CommandTarget target, Boolean dumpMode, Boolean dumpDepsMode) in g:\bariPsycho\src\core\Bari.Core\cs\Commands\BuildCommand.cs:line 177
   at Bari.Core.Commands.BuildCommand.Run(Suite suite, String[] parameters) in g:\bariPsycho\src\core\Bari.Core\cs\Commands\BuildCommand.cs:line 130
   at Bari.Core.Process.MainProcess.Run() in g:\bariPsycho\src\core\Bari.Core\cs\Process\MainProcess.cs:line 83
   at Bari.Console.Program.Main(String[] args) in g:\bariPsycho\src\core\bari\cs\Program.cs:line 73
vigoo commented 9 years ago

This won't be allowed (the fix will be to throw an error when reading the suite definition), because it makes the current command line syntax ambiguous.

For example you can't decide whether bari build BariVsAddon is targeting the product or the module.