cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jrokicki
Level 4

merge module inclusion in a nightly build

Hi folks,

I am using maven to generate a merge module and an installer.
Both get built each night.

My problem is that the installer project that includes the merge module is a bit confused (or actually I am the one confused).

When I included the merge module for the first time into the installer project, it added directories and files into the project directory for that merge module.

As I want to include the latest merge module each night, I suspect that I shouldn't use those files but those that actually exist in the merge module itself. Unfortunately, I can't seem to find a consistent location of those files within the merge module ZIP file. There is a $IA_MERGE_RESOURCES$ directory in the ZIP file, but the directory below it constantly changes its name (suffix number).

I've searched the training manuals and the Flexera website looking for some clues, but I cannot figure this out.

Can anyone explain what I need to do to include a generated merge module into an installer project on a nightly basis?
Labels (1)
0 Kudos
(3) Replies
jrokicki
Level 4

answering my own post... in order to do this, do not import the merge module, but use the "install merge module" action.

Or at least that's where things are leading me thus far...
0 Kudos
RobinTrei
Level 2

I am also very confused about what these merge directories are for and when they get set up. Obviously, they contain some resources, but why and when are they created? We use some dynamic merge modules.

Every now and then, IA tends to 'lose' the location information of files. It has turned a reference to a file inside a dynamic merge module into a file stored in a MergeResource directory. The problem is that the identical MergeResource directories do not exist identically on our various build streams, which results in build failures.

Also, the number of these MergeResource directories tends to grow over time, so it is clear that IA is continually recreating them.

I would really appreciate an overview of how and when these directories get created so that I can figure out the correct actions to take to fix these problems.

thanks,
0 Kudos
nosrednayduj
Level 7

We use merge modules in a nightly build, and here's what I do. Whenever there is a new version of the module, I start up IA, remove the module from the project, and then exit and rename the directory. Then I re-check-out from CVS, copy the modified project file (now without the module in it) to the new project directory, and restart IA. Import the merge module, and move the preinstall/install/postinstall tasks to their correct homes. Save the project, commit. Now on the build machine I nuke the previous directory, re-checkout, and copy the new .iam.zip file to the build machine. (This is tedious. I have an ant script to do most of the work.)

If I am not importing a new module, but just making changes to the main project, then I just commit whatever changes I have without touching the expanded files. As long as the merge module .iam.zip file remains unchanged, the previous expansions will continue to work. The nightly build will take 10 extra minutes to do all the directory expansions from the .iam.zip file the first time. You don't need to provide these from your initial GUI expansion on your development machine.

So, I'm not putting any of the expanded files in any source control program, or mentioning them by name in any bat files. I sort of treat them as I would "object files" from a compilation -- it's the make file or ant's job to manage (in this case, IA's job), not source code control. It's slightly unfortunate that they go in the same hierarchy as the source, rather than separable to an "object" directory.

And, yes, if you keep old ones around, they do fill up the disk.
0 Kudos