LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Bob_Schor

Expand Programmatic Control of Build Process

Status: New

Consider expanding programmatic modification of the Build Process.  There is already an Idea here to allow the Pre-Build Action to set the Version Specification before the Build Process (it happens during the Build process, after the before-the-change Version Specification has been cached and used in the Build).  However, other Specifications in the Build Spec would be very useful to be able to specify in a (true) Pre-Build Action.

  • Target Filename (low priority)
  • Destination Directory (I like to put Builds in Public Documents, but the Public Document folder can "move", though LabVIEW's Get System Directory can find it, so I could "pre-build" a path specific to the given PC)
  • Build Specification Description (allows the user to include version-specific or Build-Time text)
  • Version Information (in addition to Version Number, before being used, the other Fields might be useful).

I've noticed references on the Web to automated Builds, and know there are Build VIs that will do a Build.  I also know there are a set of "barely-documented" APIs that some have used for this purpose, but I don't know (other than the Set Version Specification, which doesn't work as I expected in a Pre-Build Action) of others.  I don't especially want to poke around inside the Project's XML file -- can we consider adding some other "Pre-Build" Set functions?  Could (for example) some of these "Build Properties" be set with a Property Node?  Maybe this functionality is already there and I've not found it ...

 

Bob Schor

2 Comments
Intaris
Proven Zealot

Did you know that you can define a new LV class to inherit from the already existing builder classes which can be found in \vi.lib\AppBuilder\AB_Classes\ ?

 

This allows you to not only utilise the public methods of the class but also the protected methods (of which there are quite a few) and allows some interesting insights and points for utilisation.  I've only made preliminary tests, but I've been able to modify existing Build specs on-the-fly using this approach.  It's pretty much undocumented, but if someone wants to give it a try, there's not that much to stop you.

 

Of course, some documentation and examples from NI would be nice. Heart

Bob_Schor
Knight of NI

Thanks.  I've also done a little "Dumpster-Diving", but I totally agree that opening up some of the "Hidden Gems" in LabVIEW (perhaps by expanding the Hidden Gems, many of whose features in LabVIEW Version N appear as "regular" features in LabVIEW Version N+1) is a great idea, specifically as it almost always includes "some documentation and examples from NI".

 

I may take a peek at the Builder Classes ...

 

Bob Schor