“Stardate†Version Numbering

Discussion in 'Java' started by Lawrence D'Oliveiro, Jun 7, 2011.

  1. The following one-liner sets the versionName attribute in
    AndroidManifest.xml to a number based on the number of days (accurate to
    0.1 day) since the *nix epoch. This is what I’ve been using for a
    version number in one or two projects, in lieu of anything that makes
    more sense. :)

    sed -i -r 's/(android:versionName=\")[^\"]*(\")/\1'"$(bc <<<"scale = 1; ($(Julian -f) - $(Julian -d 1970 1 1)) / 1")"'\2/' AndroidManifest.xml

    This needs my “Julian†script, available here
    <https://github.com/ldo/Julian>. Though it can probably be rewritten
    to do without it, using the GNU “date†command instead...
    Lawrence D'Oliveiro, Jun 7, 2011
    #1
    1. Advertising

  2. Lawrence D'Oliveiro

    Silvio Guest

    On 06/07/2011 01:59 PM, Lawrence D'Oliveiro wrote:
    > The following one-liner sets the versionName attribute in
    > AndroidManifest.xml to a number based on the number of days (accurate to
    > 0.1 day) since the *nix epoch. This is what I’ve been using for a
    > version number in one or two projects, in lieu of anything that makes
    > more sense. :)
    >
    > sed -i -r 's/(android:versionName=\")[^\"]*(\")/\1'"$(bc<<<"scale = 1; ($(Julian -f) - $(Julian -d 1970 1 1)) / 1")"'\2/' AndroidManifest.xml
    >
    > This needs my “Julian†script, available here
    > <https://github.com/ldo/Julian>. Though it can probably be rewritten
    > to do without it, using the GNU “date†command instead...


    What about date +%s%N
    Silvio, Jun 7, 2011
    #2
    1. Advertising

  3. Re: “Stardate” Version Numbering

    On 07/06/2011 13:59, Lawrence D'Oliveiro allegedly wrote:
    > The following one-liner sets the versionName attribute in
    > AndroidManifest.xml to a number based on the number of days (accurate to
    > 0.1 day) since the *nix epoch. This is what I’ve been using for a
    > version number in one or two projects, in lieu of anything that makes
    > more sense. :)
    >
    > sed -i -r 's/(android:versionName=\")[^\"]*(\")/\1'"$(bc <<<"scale = 1; ($(Julian -f) - $(Julian -d 1970 1 1)) / 1")"'\2/' AndroidManifest.xml
    >
    > This needs my “Julian” script, available here
    > <https://github.com/ldo/Julian>. Though it can probably be rewritten
    > to do without it, using the GNU “date” command instead...


    That's so awesome! I wanna have sex with you right now.
    Daniele Futtorovic, Jun 7, 2011
    #3
  4. On 11-06-07 09:51 AM, bugbear wrote:
    > Silvio wrote:
    >> On 06/07/2011 01:59 PM, Lawrence D'Oliveiro wrote:
    >>> The following one-liner sets the versionName attribute in
    >>> AndroidManifest.xml to a number based on the number of days (accurate to
    >>> 0.1 day) since the *nix epoch. This is what I’ve been using for a
    >>> version number in one or two projects, in lieu of anything that makes
    >>> more sense. :)
    >>>
    >>> sed -i -r 's/(android:versionName=\")[^\"]*(\")/\1'"$(bc<<<"scale = 1;
    >>> ($(Julian -f) - $(Julian -d 1970 1 1)) / 1")"'\2/' AndroidManifest.xml
    >>>
    >>> This needs my “Julian†script, available here
    >>> <https://github.com/ldo/Julian>. Though it can probably be rewritten
    >>> to do without it, using the GNU “date†command instead...

    >>
    >> What about date +%s%N

    >
    > I am reminded of this:
    >
    > http://www.infiltec.com/j-h-wrld.htm
    >
    > BugBear


    I caught myself doing something like this last week. I had what seemed
    like a rather thorny problem with very dynamic objects for backing up
    C#.NET WPF property grids, and temporarily ended up down the
    Reflection.Emit and IDynamicMetaObjectProvider trails (*). A body can
    definitely end up not seeing the forest for the trees when doing this
    kind of thing, and at one point I ended up with

    value = Activator.CreateInstance(typeof(dataType), "");

    to get an empty string, when I in fact knew by virtue of having arrived
    at that particular switch case that I needed an empty string...otherwise
    I wouldn't have been calling the constructor form that accepted a string
    parameter. IOW, the switch case for the above was for strings only, and
    I knew that 'dataType' had to be a string value.

    It struck me all of a sudden, and I ended up with

    value = "";

    Rule of Thumb: if things have gotten bloody complicated and they don't
    feel like they ought to have been that way, you're probably right.

    AHS

    * I eventually realized that simple dynamic objects did handle the problem.
    Arved Sandstrom, Jun 7, 2011
    #4
  5. In message <4dee15eb$0$49174$4all.nl>, Silvio wrote:

    > What about date +%s%N


    Close. Try this version: doesn’t need Julian, and also shorter:

    sed -i -r 's/(android:versionName=\")[^\"]*(\")/\1'"$(bc <<<"scale = 1; ($(date +%s)) / 86400")"'\2/' AndroidManifest.xml
    Lawrence D'Oliveiro, Jun 7, 2011
    #5
  6. Lawrence D'Oliveiro <_zealand> wrote:
    > In message <4dee15eb$0$49174$4all.nl>, Silvio wrote:
    >> What about date +%s%N

    > Close. Try this version: doesn’t need Julian, and also shorter:
    > sed -i -r 's/(android:versionName=\")[^\"]*(\")/\1'"$(bc <<<"scale = 1; ($(date +%s)) / 86400")"'\2/' AndroidManifest.xml


    I don't quite see the reason why you would actually capture the closing
    double-quote char... and double-quotes aren't special to "sed -r", so they
    need no backslash before them. Then the last lingle-quoted part can be
    included into the double-quoted middle part, re-introducing one \", but
    making it again shorter. Also, removing some redundant spaces, quotes and
    parens from around bc, and replacing one of the $(...) with backticks
    shortens it again.

    sed -i -r 's/(android:versionName=")[^"]*"/\1'$(bc<<<scale=1\;`date +%s`/86400)\"/ AndroidManifest.xml

    Btw., it won't be compatible with older shells (e.g. ksh), though,
    for the "<<<".
    Andreas Leitgeb, Jun 8, 2011
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. buran

    numbering rows in datagrid

    buran, Jul 7, 2003, in forum: ASP .Net
    Replies:
    2
    Views:
    468
    Saravana
    Jul 7, 2003
  2. buran

    numbering rows in datagrid

    buran, Oct 15, 2003, in forum: ASP .Net
    Replies:
    1
    Views:
    521
    Cowboy \(Gregory A. Beamer\)
    Oct 15, 2003
  3. V Green
    Replies:
    0
    Views:
    842
    V Green
    Feb 5, 2008
  4. PA Bear [MS MVP]
    Replies:
    0
    Views:
    956
    PA Bear [MS MVP]
    Feb 5, 2008
  5. MowGreen [MVP]
    Replies:
    5
    Views:
    2,016
    PA Bear [MS MVP]
    Feb 9, 2008
Loading...

Share This Page