FreeEMS Issues - Loader
View Issue Details
0000338LoaderGeneral Featurespublic2011-10-24 08:512012-09-12 20:19
Fred 
Fred 
urgentfeatureN/A
resolvedfixed 
AllAllAll
0.1.0-SNAPSHOT 
0.1.0 
Task
low
0000338: Add Thorough Version Information To Build
This task includes quite a few things:

 - Add a version string inside the application that is externally generated/configured
 - Set the initial version to 0.1.0-SNAPSHOT
 - Add a way of including the prefix of the HEAD git hash after that like Dave has done in MTX in 0000321 (top work Dave!)
 - Make the window title read "FreeEMS Loader 0.1.0-SNAPSHOT-<hashprefix>" for dev builds (without the current underscore)
 - Add a release mechanism to remove the -SNAPSHOT-<hashprefix> part of the version for release builds
 - Make the about window scroll bar start at the top, not bottom and add version, githash, date/time of build to that information above the license
 - While you're in there, add a blurb about who has worked on and influenced the loader, "Written by Sean Keys with contributions from DaveA and SeanS and ideas from FredC" or similar.

No tags attached.

Notes
(0002026)
Fred   
2012-09-04 21:02   
(edited on: 2012-09-06 23:48)
I don't care about most of this except that it should have version in the title bar and about box, and that versin should come from git using this:

'git describe --dirty=-DEV --always'

'git rev-parse HEAD' should also be used to put the full hash in the about box.

This is now the number ONE priority over all other loader shit such that I can accurately report bugs and people using binaries on other platforms can know what they're using. Mike does this in his build, check out his method, maybe you can learn, but not copy/paste, something :-) Dave does it too, see 0000321 for info on that.

Priority raised to urgent.

(0002059)
sean94z   
2012-09-06 23:48   
Almost done, let me revise my last changes so it matches better, to this request. I'm doing a truncate in my code to trim the hash.

commit 3241c12d592b93c2a303fde4c91a429e07ca4b9d
Author: Sean Keys <skeys@ipdatasys.com>
Date: Thu Sep 6 16:36:07 2012 -0700

    Added Git Hash to window title. Time to roll out a new winBin


Should be finished tonight !
(0002060)
sean94z   
2012-09-07 04:07   
Hi please try this hash.

commit 1dfe26754c7d29bed27be75be5c38421f7095d09
Author: Sean Keys <skeys@ipdatasys.com>
Date: Thu Sep 6 21:04:33 2012 -0700

    [338] Add build info, to build, so that it is visible, to the user.

Let me know, thx!
(0002061)
Fred   
2012-09-07 09:01   
Close but no cigar :-)

The file that contains the binary of the data must be rebuilt every time.

You should put a date/time into it too.

If you don't rebuild it every time you can get bogus results which, as discussed recently, are worse than no results.
(0002098)
sean94z   
2012-09-10 21:56   
I think "git tag" can act as my mechanism....

git tag -a 0.1.0 -m "Test version"

git describe --tags
0.1.0

mod file
git commit -am "Subsequent commit"

git describe --tags
0.1.0-1-ga7aafb8


I would just have to manually remember to set the tag to "xxx-SNAPSHOT" when required.
(0002099)
Fred   
2012-09-10 21:58   
what? What has that to do with my complaint?
(0002100)
sean94z   
2012-09-10 22:01   
It has to do with solving this part of the complaint:
"- Add a release mechanism to remove the -SNAPSHOT-<hashprefix> part of the version for release builds"

Git can be my mechanism(after the appropriate code changes have been made of-course).
(0002101)
Fred   
2012-09-10 22:04   
Ahhh. No, no it can't. You need a script that tests, tests repo state, tags, builds, packages, uploads for that.
(0002102)
Fred   
2012-09-10 22:07   
Try running release on the firmware and see what happens. Delete the changes afterward, though. Use a fresh clone of my repo for it.
(0002119)
sean94z   
2012-09-12 16:01   
hmmmm not sure I can do it in the same way since my make files are generated by qmake.....

It might be wise to have make call qmake etc....
(0002120)
Fred   
2012-09-12 17:20   
Pretty sure you can feed directives and tasks in. If not, sure, wrap it.
(0002121)
Fred   
2012-09-12 17:20   
WTF? Why are we talking about release shit on this issue. No more. This issue is about version information. All you have to do is mark a certain file "always build" which MUST be possible.
(0002122)
sean94z   
2012-09-12 17:59   
LOL, let me do that so I can close this one haha.
(0002123)
sean94z   
2012-09-12 19:50   
Add a release mechanism to remove the -SNAPSHOT-<hashprefix> part of the version for release builds

is the only thing left to do..... i think
(0002124)
Fred   
2012-09-12 20:09   
I apologise. Don't consider that part of this issue. Make a new one, fill it out with what you know about quality releases and do it there.
(0002125)
sean94z   
2012-09-12 20:19   
In that case please have a look at this hash.

commit 9b0c1e88a9062cc009e8c86f7764c0aa5a209a00
Author: Sean Keys <skeys@ipdatasys.com>
Date: Wed Sep 12 12:40:29 2012 -0700

    Made use of QMAKE_POST_LINK qmake variable so that about type information is always built


thx!