On 2011-09-28 6:34 PM, Brett Porter wrote:
On 29/09/2011, at 4:04 AM, Eric Kolotyluk wrote:

OK, I did not have tlbimp.exe on my PATH, so I added it and made a little more 
progress, but the build is still failing (see below).

I am not clear why there are complaints about missing assembly references. As 
far as I can tell they seem to be there.

Part of the problems seems to be that 
P:\Intersystem\main\platform.NET\intersystem-service\target\ does not have the 
directory 28104638. Is this something that NPanday is supposed to create? Is 
this because of the previous errors?
That's a temporarily generated directory that is removed again when the build 
completes (Even on failure). You'll need to look at the response file while the 
build is still going. I think if you run with -X it might show you what it is 
putting into the response file, but I'd need to check.

Certainly something that could be improved on the npanday end to aid debugging.

- Brett

--
Brett Porter
[email protected]
http://brettporter.wordpress.com/
http://au.linkedin.com/in/brettporter


OK, I was finally able to get this project to build :-)

If you use -X flag then the temporary directory is left behind so you can inspect it. Nice feature.

Basically the compile was failing because of missing references. The error message was misleading because (I think) the temporary directory was being deleted too early due to the csc errors. I had to add a Maven references for

<dependency>
<groupId>Microsoft.TeamFoundation.Common</groupId>
<artifactId>Microsoft.TeamFoundation.Common</artifactId>
<version>10.0.0.0</version>
<type>gac_msil</type>
<classifier>B03F5F7F11D50A3A</classifier>
</dependency>

<dependency>
<groupId>PresentationCore</groupId>
<artifactId>PresentationCore</artifactId>
<version>3.0.0.0</version>
<type>gac_32</type>
<classifier>31BF3856AD364E35</classifier>
</dependency>

The more subtle problem was a problem with one of the .dll files generated in another Maven project. The problem here is that for some reason the NPanday compile plugin insists on updating AssemblyInfo.cs, but if that file is under source control then it is read only and it fails to compile all the source files, however that actual build succeeds so while there is a .dll artifact created, it is incomplete. So basically

1. There seems to be a bug in the compile plugin where it is succeeding
   when it should fail.
2. Trying to update AssemblyInfo.cs file is problematic with respect to
   source control. The plugin should not update this file, rather it
   should update one in the target directory. If there really is some
   reason to update files that are likely under source control, then
   the compile plugin needs to interact with the defined SCM.

Just one more .NET project to Mavenize...

Cheers, Eric

Reply via email to