|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
IDE build works fine but mqsicreatebar fails with same code |
« View previous topic :: View next topic » |
Author |
Message
|
Cliff |
Posted: Mon Jan 25, 2010 6:48 am Post subject: IDE build works fine but mqsicreatebar fails with same code |
|
|
Centurion
Joined: 27 Jun 2001 Posts: 145 Location: Wiltshire
|
In common with many, I am automating the software build process, including WMB builds. The problem I am repeatedly finding is that message flows that build cleanly in the WMB toolkit fail to build with mqsicreatebar. Before I resort to the PMR route, I'd like to ask whether anyone out there has overcome this problem (I can't be the only one with it!) or can offer some pearls of wisdom.
Build machine environment is Win XP Pro Service Pack 3, WMB 6.1.0.5 Toolkit only. The Toolkit has the Candle monitor node, the GetEnv node and Log4J plugins installed. If building from the IDE, the java build path specifies a handful of jars; if building in batch I add these to the CLASSPATH.
I extract code from ClearCase into an empty directory (I'll call this the batch workspace) and run mqsicreatebar in the usual manner specifying -cleanBuild as well as -p and a full list of included projects (same as the eclipse projects' properties). This works fine for simple, vanilla message flows and message sets. Our 'real' code though has the plugins noted above and Java compute nodes in subflows. What I see, typically, is either an included project or a message flow reported as having errors. Copying the code into the toolkit's workspace (I'll call this the IDE workspace) and building in Eclipse is just fine though.
If I copy the workspace's .metatdata folder into the batch workspace then mqsicreatebar works just fine.
There is nothing in the .metadata\.log to indicate what the problem is as I see the same messages in both the IDE and batch workspaces. There are however big differences between the .metadata\.plugins folders.
I can find nothing in the docs or on the web, including these august pages, that offers any help, explanation or even words like 'mqsicreatebar only works for simple stuff so give up now'. As a workaround I currently copy a valid .metadata into the batch workspace before each build but that doesn't always work because the development environment evolves and I have to keep the /.metadata via the IDE, which is hardly automated.
Maybe I've missed something blindingly obvious. I dunno. Any ideas, folks? All suggestions gratefully received!
Regards -
Cliff |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jan 25, 2010 7:10 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
The last time I saw an automated WMB build (Dec 2008) the build in question had no Java plugins or other additional materials but did have some message sets & a large number of sub flows. The build was done using ant and controlled (if that's the correct term) using Hudson.
Our experience was that on occassion the build would fail, even if the code hadn't actually been changed & it was just Hudson doing a scheduled rebuild, with problems similar to those you're describing. We found that doing another build (or waiting for Hudson to do another build) usually fixed it but when it didn't we'd issue the mqsicreatebar manually from a command prompt and that would resolve it.
I'd recommend a PMR (unless someone else in here has a better idea and that's not really hard!) as we never got to the bottom of it. Project imperatives got in the way and this just never got to the top of the agenda. Certainly it ought to work, and I've PM'd the guy who was working on it to see if he's made any progress in the last year!!
Do please post what transpires on this. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Jan 25, 2010 7:19 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
The development team has probably specified Java build path entries that use workspace variables. |
|
Back to top |
|
 |
Cliff |
Posted: Mon Jan 25, 2010 8:00 am Post subject: |
|
|
Centurion
Joined: 27 Jun 2001 Posts: 145 Location: Wiltshire
|
Thanks Vitor & Jeff. I can confirm though that the Java build path simply specifies a few jars in a specific folder and doesn't use workspace variables.
If I make any progress on this I'll certainly let everyone know, in the mean time I'm still hoping someone can point me in the right direction (even if it's to the fire escape).
Regards -
Cliff |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Jan 25, 2010 8:15 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
mqsicreatebar should work just fine and work reliably and consistently.
It shouldn't require a specific .metadata folder unless there are properties of the projects - like workspace variables or other such - that are dependant on information contained outside of the projects themselves.
If you do open a PMR, please send me a Private Message with the #. I've worked other PMRs on this, and would really like to see this resolved.
But do make sure you're using 6.1.0.5 iFix1 of Toolkit (mqsicreatebar is a toolkit command!) , too. |
|
Back to top |
|
 |
Cliff |
Posted: Fri Jan 29, 2010 8:14 am Post subject: |
|
|
Centurion
Joined: 27 Jun 2001 Posts: 145 Location: Wiltshire
|
Solution
Well, I seem to have a fix-cum-workaround. There are two actions required:
1.before running mqsicreatebar, clear out the batch workspace's .metadata then populate it with .plugins\org.eclipse.core.runtime\.settings from a 'working' IDE's workspace. This file holds a lot of preferences (including the Java build path set in the IDE's Preferences dialogue), and its presence in many ways makes the batch workspace a copy of the IDE workspace.
2.Specify in the -p list of projects the full set of projects referenced directly or indirectly by the message flow, including its own project. Merely using the ones you specified in the IDE will not suffice, you need to look at all your subflow & Java projects for their projects' properties and include them too.
Then you can build. I haven't yet worked out the absolute minimum of the projects to include but testing so far suggests 'if in doubt put more in' is the approach to take! And clearly if the standard set of preferences in the IDE changes, then you'll need to update the .settings, but hopefully that won't be too frequent and could be part of a formal change process.
Happy building -
Cliff |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jan 29, 2010 9:13 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
So it was an issue with the Java build path, even if it wasn't a specific use of Workspace Variables.
And, yes, when in doubt put everything on -p. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|