Timestamp when XD image is created/packaged

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Timestamp when XD image is created/packaged

Louis LaBrunda

Hi Guys,

Does any one have a simple/automatic way to set a timestamp (maybe in a class variable) when an XD image is created/packaged?  I keep a version number but don't always change it when making a packaged image to test because customers are confused if it jumps too far.  An automatic time stamp would allow me to tell these test versions apart.

Lou

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Timestamp when XD image is created/packaged

Richard Sargent
Administrator
On Tuesday, January 28, 2014 7:36:29 AM UTC-8, Louis LaBrunda wrote:
Does any one have a simple/automatic way to set a timestamp (maybe in a class variable) when an XD image is created/packaged?  I keep a version number but don't always change it when making a packaged image to test because customers are confused if it jumps too far.  An automatic time stamp would allow me to tell these test versions apart.
 
I have some old code which lets you determine which version of a configuration map is loaded, subject to some aliasing issues. You could probably couple this with packaging directives to populate the target image's variable.


By "aliasing issues", I mean that you may have multiple configuration maps defined and not be able to tell which one was loaded based on the test it uses. The test is whether the cited applications are loaded. e.g. version X and version X+1 might both be detected as loaded should version X+1 include a new application. The converse situation also exists, where X+1 has deleted an application used in X.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Timestamp when XD image is created/packaged

Louis LaBrunda

Hi Richard,

Thanks for the reply.  If you could dig it out and post it, I would appreciate it.  I will take a look, it may help.

Lou

I have some old code which lets you determine which version of a configuration map is loaded, subject to some aliasing issues. You could probably couple this with packaging directives to populate the target image's variable.


By "aliasing issues", I mean that you may have multiple configuration maps defined and not be able to tell which one was loaded based on the test it uses. The test is whether the cited applications are loaded. e.g. version X and version X+1 might both be detected as loaded should version X+1 include a new application. The converse situation also exists, where X+1 has deleted an application used in X.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Timestamp when XD image is created/packaged

Louis LaBrunda
In reply to this post by Louis LaBrunda

If I set a class variable with a timestamp value in #packagerIncludeClassNames which should be run during packaging of an XD image, can I expect the value to be in the XD image?  I know I can just test it but I would like to have some idea if it will work before I go off and write some code.

Lou


On Tuesday, January 28, 2014 10:36:29 AM UTC-5, Louis LaBrunda wrote:

Hi Guys,

Does any one have a simple/automatic way to set a timestamp (maybe in a class variable) when an XD image is created/packaged?  I keep a version number but don't always change it when making a packaged image to test because customers are confused if it jumps too far.  An automatic time stamp would allow me to tell these test versions apart.

Lou

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Timestamp when XD image is created/packaged

Richard Sargent
Administrator
On Tue, Jan 28, 2014 at 8:51 AM, Louis LaBrunda <[hidden email]> wrote:

If I set a class variable with a timestamp value in #packagerIncludeClassNames which should be run during packaging of an XD image, can I expect the value to be in the XD image?  I know I can just test it but I would like to have some idea if it will work before I go off and write some code.

 
The short answer is No. The method you refer to is one of the convenience methods hiding the more complex packaging rules. Look at AbtRunInterfacesApp class>>#packagingRulesFor: for an example that is probably quite close to what you need.
(I am not clear on why it is testing for a running image / Xd while packaging. Perhaps someone more familiar with XD can explain.)

On Tuesday, January 28, 2014 10:36:29 AM UTC-5, Louis LaBrunda wrote:

Hi Guys,

Does any one have a simple/automatic way to set a timestamp (maybe in a class variable) when an XD image is created/packaged?  I keep a version number but don't always change it when making a packaged image to test because customers are confused if it jumps too far.  An automatic time stamp would allow me to tell these test versions apart.

Lou

--
You received this message because you are subscribed to a topic in the Google Groups "VA Smalltalk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/va-smalltalk/O1euQyP84qs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.



--
Richard Sargent
Business Development Manager
503-766-4719
[hidden email]
GemTalk Systems
15220 NW Greenbrier Parkway #240
Beaverton, OR 97006

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Timestamp when XD image is created/packaged

dmacq
Hi Lou,

We have an internal testing image whose startup class looks like this:

EsTTYStartUp subclass: #EsTTYSunitStartUp
    classInstanceVariableNames: ''
    instanceVariableNames: ''
    classVariableNames: 'BuildNumber ConfigMap TimeStamp '
    poolDictionaries: ''


The packaging rules look like this:

packagingRulesFor: aRuleCollector

    | map nameAndTimeStamp |

    aRuleCollector
        initializeClassVariable: 'TimeStamp'
        to: 'DateAndTime now printString'
        inClassNamed: #EsTTYSunitStartUp.

    aRuleCollector
        initializeClassVariable: 'ConfigMap'
        to: 'HeadlessSunitPackagingSpecs getNameAndTimeStamp'
        inClassNamed: #EsTTYSunitStartUp.

    aRuleCollector
        initializeClassVariable: 'BuildNumber'
        to: 'System imageBuildNumber'
        inClassNamed: #EsTTYSunitStartUp.

etc.


and this method fills in the config map name and time stamp:

getNameAndTimeStamp

    | map nameAndTimeStamp |

    nameAndTimeStamp := 'Unknown - unknown'.

    (map :=
        (EmConfigurationMap editionsFor: 'InternalTestingImage')
            detect: [:each | each isLoaded]
            ifNone: [])
                notNil
                    ifTrue: [
                        nameAndTimeStamp := (map printString , ' with time stamp ' ,
                            map timeStamp printString)].

    ^nameAndTimeStamp


We write these variables to the log output so we are sure what version we are running.

Cheers,

Donald [|]

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Timestamp when XD image is created/packaged

Louis LaBrunda

Hi Donald,

Thanks for the post.  I was very close with my code when I saw your post and that I had left off the single quotes around the value to set the class variable to.  This is what I was looking for.  Smalltalk, VA Smalltalk, ENVY this is great stuff, I love it!

Lou

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Timestamp when XD image is created/packaged

dmacq
Lou,

Packaging is something of a Black Art, so I am glad you benefited from my experience. Maybe we will make a faq out of this.

Like you, I continue to be amazed at all the cool powerful stuff you can do in Smalltalk with not a whole lot of code. I'm quitting the business if they take away my [|] card. ;-)

Cheers,

Donald [|]

On Tuesday, January 28, 2014 5:14:42 PM UTC-5, Louis LaBrunda wrote:

Hi Donald,

Thanks for the post.  I was very close with my code when I saw your post and that I had left off the single quotes around the value to set the class variable to.  This is what I was looking for.  Smalltalk, VA Smalltalk, ENVY this is great stuff, I love it!

Lou

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Timestamp when XD image is created/packaged

Louis LaBrunda

Donald

Packaging is something of a Black Art, so I am glad you benefited from my experience. Maybe we will make a faq out of this.

I think that is a good idea.  Frequently asked or not I think it is a good solution to a common problem.  I didn't need to auto generate build numbers but I don't think that would be hard.

Like you, I continue to be amazed at all the cool powerful stuff you can do in Smalltalk with not a whole lot of code. I'm quitting the business if they take away my [|] card. ;-)


I'm with you there.

One more question.  I see that #Application has #packagingRulesFor: defined.  Should I make a call to super #packagingRulesFor: in my #packagingRulesFor:?  It doesn't seem to need it and you didn't but it might be a good idea?

Lou


--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Timestamp when XD image is created/packaged

dmacq
Lou,

 Application class>>packagingRulesFor: talks in the comment about leaf ICs. I do not do super packagingRulesFor: in my packaged image and all is well.

Donald

On Wednesday, January 29, 2014 10:44:37 AM UTC-5, Louis LaBrunda wrote:

Donald

Packaging is something of a Black Art, so I am glad you benefited from my experience. Maybe we will make a faq out of this.

I think that is a good idea.  Frequently asked or not I think it is a good solution to a common problem.  I didn't need to auto generate build numbers but I don't think that would be hard.

Like you, I continue to be amazed at all the cool powerful stuff you can do in Smalltalk with not a whole lot of code. I'm quitting the business if they take away my [|] card. ;-)


I'm with you there.

One more question.  I see that #Application has #packagingRulesFor: defined.  Should I make a call to super #packagingRulesFor: in my #packagingRulesFor:?  It doesn't seem to need it and you didn't but it might be a good idea?

Lou


--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/groups/opt_out.