Jump to content

Use XPlode - as building tool?


zerospeed

Recommended Posts

I've tried and used xplode 1.1.2 internally to deploy a series of updates and configurations (standanlone, not in T-12 or T-39 Xp-setup) and found it very useful for this task.

Because we develop software, we use scripts/batch files to automate the buidling process. I wondered if xplode could be used for that purpose? In its current state it cannot perform/exclude some item actions based on conditions, like environment variables defined or passed from the command line.

This could help replace the existing batch files for some structured script, like the format used by xplode.

Other thing that we could found useful is a console plugin that "dump" the visuals. Maybe I need to explain this a bit:

We often deploy these updates using remote text based consoles and logging as administrators (on some w2k servers), if we could get some output/feedback of what is going on the remote side... could be very helpful.

So: conditional executing for items and actions and console plugin...

Late-xmas gift? :D

excuse my poor & obsolete english :P

Zero

Link to comment
Share on other sites


I can possibly route the logging information to a console, if that's what you mean.

As for conditionals - I haven't got the time to write a parser for such a thing, so you're out of luck.

Unless you want to write an algorithm for me :P

Simple conditionals based on env vars is a maybe, but anything more complex is going to be out of the question.

What kind of conditionals would you be looking at?

EDIT:

This kinda what you were looking for?

console.png

Link to comment
Share on other sites

Yes!, console output!.

Too much information (for logging and debugging could be useful) but for normal usage is too much information.

I was thinking something closer to:

based on XML:

...
 <item display='Adding users and groups...'>
 <addgroup
   groupname='Cowboy Bebop'
   comment="It's them bounty hunters!"
 />
 <adduser
   username='Spike'
   password='swordfish'
   groups='Administrators "Cowboy Bebop"'
   fullname='Spike Spiegel'
   comment="Don't mess with the best!"
 />
 <adduser
   username='Jet'
   password='hammerhead'
   groups='"Cowboy Bebop"'
   fullname='Jet Black'
   comment="When the Black Dog bites, he don't let go!"
 />
 </item>
...

Generate this filtered output:

XPlode4

Adding users and groups... [33%]
Adding user Jet...

....

Adding users and groups.... done.

....

Copying files to build directory... [45%]
Main executables....

....

Copying files to build directory... [66%]
Global runtimes....

....

So in that way, you mimic the <item display=''> for Line1 and the display for execute or other sub-items actions.

The conditional part:

Lets say I wanted to include other XML with items definitions if env variable "CLEAN" is defined, no matter what value it have.

Later, we could define "VERSION_TAG" on command line or env. and use it as paramenter of execute action, and only perform the item actions if VERSION_TAG is defined, in case it didn't exist, ignore the actions.

Simple conditional? I think the tags affected could be include and item, the actions on each item didn't need that.

Example:

<items>
   <include file='#XPLODE#\cleanup.xml' condition='#CLEANUP#' />
   <item display="test1">
       <FileIO display="copy files...">
           <copy from="&SrcDir;" to="&DstDir;" mask="*.cab" />
       </FileIO>
   </item>
</items>

Hope this helps.

Cya,

Zero

PS: The <!ENTITY> tag of your xplode4 xml will not validate, isn't well-formed. Maybe a change on it to be valid?

Link to comment
Share on other sites

To make the entity valid, you'd need to have a DTD. Which I'd prefer not to have to implement.

Either make your own environment string for it, and use it elsewhere (docs coming soon.. I promise :)), or be happy with entities being defined in the XML.

As for include - it's screwing around with the rest of the execution of the program, so it's been omitted for the moment.

I'll see what can be done with the other console output.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...