version info

Got a LiveCode personal license? Are you a beginner, hobbyist or educator that's new to LiveCode? This forum is the place to go for help getting started. Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller

Post Reply
berndg
Posts: 17
Joined: Thu Mar 22, 2012 3:37 pm

version info

Post by berndg » Wed Mar 28, 2012 9:55 am

When defining properties of the Windows standalone application target, I can specify file and product version numbers as is common for this platform. Not all targets seem to support this.

I was hoping for a mechanism that

a) supports at least one major.minor.build version number tuple on all deployment targets,
b) makes that tuple available to the script (for display on "about" boxes, etc),
c) inserts the tuple into the appropriate, target-specific, structures where available (such as the VERSIONINFO resource for a Windows target), and
d) automatically increments the build number every time the standalone applications are being (re-)created.

Does LiveCode support anything like that?

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Contact:

Re: version info

Post by mwieder » Wed Mar 28, 2012 5:46 pm

Does LiveCode support anything like that?
Support? Yes. Is it built in? No.

I see where you're going with this, and it would be useful to have a project concept in LiveCode for a number of reasons, not just orthogonality across standalone versions. There *are* differences in how the different platforms use the version info, so it might not make sense to have this centralized for general purposes, but...

The standalone settings are custom properties of the mainstack and are not copied to the standalone. Rather the standalone builder uses them to create the executable binary image and deletes them from the binary before building. What I do is sidestep this process: I have custom properties on all my stacks that contain the information I'd like to access at runtime in a standalone. These follow the uRIP convention developed by the Rev Interoperability Project yahoo group over a period of some years:

set the uRIP["version"] of this stack to "1.0.5"
set the uRIP["name"] of this stack to "NiftyApplication"
set the uRIP["date"] of this stack to "2012.03.27"

Then at runtime I can get the info to display in the About Box:

put the uRIP["name"] of this stack && "version" && the uRIP["version"] of this stack into field "fldAppName"

You can also get at the standalone builder's strings to set up the uRIP properties during development if you need to:

put the cREVStandaloneSettings["Windows,productversion1"] of this stack into tVersion1

berndg
Posts: 17
Joined: Thu Mar 22, 2012 3:37 pm

Re: version info

Post by berndg » Wed Mar 28, 2012 6:38 pm

Thanks. I fully appreciate that Livecode may do things different to other tools, and supporting multiple targets has its challanges. The uRiP convention - fine. Is this written up somewhere, or does it only exist in an endless message trail of a Yahoo group?

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Contact:

Re: version info

Post by mwieder » Wed Mar 28, 2012 6:56 pm

Well, you can certainly get all the gory details over the years in the email threads, but the files section has both convention documents and a few plugins to make things easier. I think you have to join the group to get access to the files, but it's got *very* low impact on your inbox - the last message was July 2011.

The specification itself in rtf format:
http://f1.grp.yahoofs.com/v1/kENzTy9WKg ... CMI_10.rtf

The group:
http://tech.groups.yahoo.com/group/revInterop/

Post Reply