Releasing project with com reference dependency fails.

Editor
Dec 4, 2008 at 9:50 AM
Just want to share a proposed fix for Item # 8383

1.  Add a listener for adding a reference/reimporting the project in VS  to generate the  interop dll
2.  Generate the interop dll and "mvn install" it to the local repository
2.  Add the interop dll  as library type in pom.

project should already pickup  the dependency when building/releasing.

We also need to add back the feature to copy the  interop dll in the target folder after building.

Any  thoughts on this implementation ? my only concern is the lincensing/ip issues,  since  some of the interop dll derived from com references are proprietary and we are copying that to the  repository.
Coordinator
Dec 4, 2008 at 12:56 PM
For your concern on lincensing I think we don't have any problem since we are deploying only a "COM wrapper" not the COM itself.
Dec 4, 2008 at 3:29 PM
I agree.  The "COM wrapper" just has definitions of the methods and properties of the COM dll, it doesn't contain any of the COM dll's code just wants for the .Net compiler to get at it in a managed way.
Coordinator
Dec 8, 2008 at 2:12 AM
In addition, we will be providing also a command-line that will prepare COM information for deployment

We are thinking of :
         "mvn COM:prepare"

So if you have a COM reference on your POM you can execute the commands below:

"mvn COM:prepare"
"mvn release:prepare"
"mvn release:perform"

Any thoughts?

Coordinator
Dec 8, 2008 at 2:26 AM

On 08/12/2008, at 2:12 PM, melvinsembrano wrote:

From: melvinsembrano

In addition, we will be providing also a command-line that will prepare COM information for deployment

We are thinking of :
"mvn COM:prepare"

So if you have a COM reference on your POM you can execute the commands below:

"mvn COM:prepare"
"mvn release:prepare"
"mvn release:perform"

Any thoughts?
In this case, COM:prepare should be bound to the lifecycle so that it is an automated part of the release process in the other goals, if that is possible. If it is only needed at release time, it can be done in a release profile.

Cheers,
Brett


Dec 8, 2008 at 4:50 AM
I agree with Brett.  But it should be included in each step as it is needed to compile a .Net assembly.