When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

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

When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

Louis LaBrunda
Hi Guys,

Sorry for the long title but it pretty much says it all.  When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

I all too often have to package many apps (20 ish).  Every thing is setup and the instructions seldom change (almost never) so I would like to not have to click the two radio buttons to not save the instructions.  Is there something I can do to change this?  Can Instantiations change it?  Any ideas? 

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/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

Steven LaFavor
Weird.  The only time it ever prompts me to save is if I have made a change.  Otherwise, I just "Next" my way past it.

*Steve*

On Wednesday, February 4, 2015 at 4:07:50 PM UTC-5, Louis LaBrunda wrote:
Hi Guys,

Sorry for the long title but it pretty much says it all.  When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

I all too often have to package many apps (20 ish).  Every thing is setup and the instructions seldom change (almost never) so I would like to not have to click the two radio buttons to not save the instructions.  Is there something I can do to change this?  Can Instantiations change it?  Any ideas? 

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/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

Richard Sargent
Administrator
In reply to this post by Louis LaBrunda
On Wednesday, February 4, 2015 at 1:07:50 PM UTC-8, Louis LaBrunda wrote:
Hi Guys,

Sorry for the long title but it pretty much says it all.  When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

I all too often have to package many apps (20 ish).  Every thing is setup and the instructions seldom change (almost never) so I would like to not have to click the two radio buttons to not save the instructions.  Is there something I can do to change this?  Can Instantiations change it?  Any ideas? 

Lou

It's been a while since I have done any automated packaging, but I recall we built our packaged images without the GUI (only having it open if there were errors). You can build from a Smalltalk expression. If you need an example, I don't have one with me, but I think I can easily track one down at home.
 

--
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/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

jtuchel
In reply to this post by Steven LaFavor
same here, you usually just click on next. Even if there are changes, you dont have to save.

One idea: do you package from a saved image that already has chenged rules? maybe thee changes are months or years old....

Btw: you should consider automating your builds....

Joachim

--
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/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

Richard Sargent
Administrator
In reply to this post by Richard Sargent
On Wednesday, February 4, 2015 at 2:48:16 PM UTC-8, Richard Sargent wrote:
It's been a while since I have done any automated packaging, but I recall we built our packaged images without the GUI (only having it open if there were errors). You can build from a Smalltalk expression. If you need an example, I don't have one with me, but I think I can easily track one down at home.

The following file out is a slightly editted copy of the code I used to automate building a packaged image for a system. I had it hooked up to a Transcript menu, so I could build the system's packaged image whenever I wanted. The same approach could be used to automate the build from a batch script (via abt.cnf, for example).




!XyzzyPackagingApp class publicMethods !

directedMessageToRestoreInstructions
: anEpAbstractPackagingInstructions

   
^DirectedMessage
        selector
: #restorePreviousPackagingInstructions:
        arguments
: (Array with: anEpAbstractPackagingInstructions)
        receiver
: self
!

packageApplication
: anApplication packagingInstructions: aPackagingInstructionsApplication

   
| previousInstructions |
    previousInstructions
:= EpPackagerInstructions default.
   
EpPackagerInstructions default: aPackagingInstructionsApplication defaultInstructions.
    aPackagingInstructionsApplication installRadioButtons
.
   
((self packageApplicationView)
        valueOfAttributeNamed
: #application put: anApplication;
        abtWhen
: #destroyedPart
            perform
: (self directedMessageToRestoreInstructions: previousInstructions);
        yourself
) openWidget
!

packageXyzzy

   
self
        packageApplication
: XyzzyViewApp
        packagingInstructions
: XyzzyRuntimePackaging
!

restorePreviousPackagingInstructions
: anEpAbstractPackagingInstructions

   
EpPackagerInstructions default: anEpAbstractPackagingInstructions
! !



--
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/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

Louis LaBrunda
Hi Everyone,

Thanks for the replies.  I have long thought about automating the packaging, I just haven't ever gotten around to it.  Now that Richard has given me a place to start (thanks Richard) I will see what I can do.

Lou

On Thursday, February 5, 2015 at 11:36:24 AM UTC-5, Richard Sargent wrote:
On Wednesday, February 4, 2015 at 2:48:16 PM UTC-8, Richard Sargent wrote:
It's been a while since I have done any automated packaging, but I recall we built our packaged images without the GUI (only having it open if there were errors). You can build from a Smalltalk expression. If you need an example, I don't have one with me, but I think I can easily track one down at home.

The following file out is a slightly editted copy of the code I used to automate building a packaged image for a system. I had it hooked up to a Transcript menu, so I could build the system's packaged image whenever I wanted. The same approach could be used to automate the build from a batch script (via abt.cnf, for example).




!XyzzyPackagingApp class publicMethods !

directedMessageToRestoreInstructions
: anEpAbstractPackagingInstructions

   
^DirectedMessage
        selector
: #restorePreviousPackagingInstructions:
        arguments
: (Array with: anEpAbstractPackagingInstructions)
        receiver
: self
!

packageApplication
: anApplication packagingInstructions: aPackagingInstructionsApplication

   
| previousInstructions |
    previousInstructions
:= EpPackagerInstructions default.
   
EpPackagerInstructions default: aPackagingInstructionsApplication defaultInstructions.
    aPackagingInstructionsApplication installRadioButtons
.
   
((self packageApplicationView)
        valueOfAttributeNamed
: #application put: anApplication;
        abtWhen
: #destroyedPart
            perform
: (self directedMessageToRestoreInstructions: previousInstructions);
        yourself
) openWidget
!

packageXyzzy

   
self
        packageApplication
: XyzzyViewApp
        packagingInstructions
: XyzzyRuntimePackaging
!

restorePreviousPackagingInstructions
: anEpAbstractPackagingInstructions

   
EpPackagerInstructions default: anEpAbstractPackagingInstructions
! !



--
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/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

Louis LaBrunda
Hi Guys,

I decided to get around the problem of being asked to save the packing instructions every time (it still asks) by automating the build.  Mostly these are builds of XD images.  So I reproduced the steps that would occur with a manual build in the code below.  It isn't everything but I wanted to give those who are interested some idea of what I used.  I extended AbtXDSingleImagePackagingInstructions on the class side with #buildXDImageAndPackageIt and a few other methods.  To use it I added a few other methods to the sub classes of AbtXDSingleImagePackagingInstructions that hold the packaging instructions.  So pretty much everything needed to package an image is in one spot.

I also added a menu item, to the pop up menu we see when we right click a class in the "VisualAge Organizer", that runs the packaging when I right click on the main class of the project.  This works great for the way I work.  It doesn't seem to be the kind of thing I can share on VAStGoodies but I am willing to share or answer questions if anyone is interested.

Lou


buildXDImageAndPackageIt
"Build an XD Image based upon our sub class and package it."
| devImage imageManager image requiredFeature imageType toBeRemoved |

requiredFeature := AbtBatchFeatureForWs new.
imageType := AbtBatchNtImageType new.
imageManager := EmCrossDevelopmentManagement imageManager.
devImage := EmImageManager currentTarget.
devImage hideWindows: false.

System showBusyCursorWhile: [
image := imageManager
newImage: 'Windows'
hideWindows: false
vmType: 'ES'
bigEndian: false
vmVersion: System vmVersion 
byteCodeVersion: System byteCodeVersion.

(image 
platform: AbtBatchNtImageType new;
subsystems: self subSystems;
requiredFeature: requiredFeature;
installRequiredFeature) ifFalse: [image close].

EmSynchronizerManager updateAllTranscriptMenus.
image switchTo.
].

"See #installFeatures comments for info about install features."
System showBusyCursorWhile: [image installFeatures: self installFeatures].
"See #configMap comments for info about what gets loaded."
System showBusyCursorWhile: [self configMap loadWithRequiredMapsAndTracing: true].
"See the sub-class for info about what gets packaged."
System showBusyCursorWhile: [EpPackager packageUsingInstructions: self withProgressMessage: nil].

"At this point we should be packaged and there should be an image on the disk."
"Now we clean things up a bit."
System showBusyCursorWhile: [
EmImageManager removeCallbacksFor: image passiveImage.
(toBeRemoved := EmSynchronizerManager targetFor: image passiveImage) isNil ifFalse: [
EmSynchronizerManager targetImages remove: toBeRemoved.
EmSynchronizerManager destroyImage: image passiveImage clientData: nil callData: nil.
].

image close.
EmSynchronizerManager updateAllTranscriptMenus.
].

devImage switchTo.
"The is KSC code that gets ready to run the install program (InstallShield) build."
System showBusyCursorWhile: [self doExtendedPackagingStage1].
System showBusyCursorWhile: [System message: 'Preform the install program build step and click "OK" when finished.'].
"Now we zip the build so it can be delivered."
System showBusyCursorWhile: [self doExtendedPackagingStage2].



--
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/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

jtuchel
Lou,

all I can say is: Wow!

I did a lot of automation for "normal" packaging, but gave up several times trying to do automated loading into passive images and packaging a runtime from it.
Seems like I now have all that's needed right here before my fingertips.

Thanks a ton for sharing

Am Montag, 16. Februar 2015 19:50:19 UTC+1 schrieb Louis LaBrunda:
Hi Guys,

I decided to get around the problem of being asked to save the packing instructions every time (it still asks) by automating the build.  Mostly these are builds of XD images.  So I reproduced the steps that would occur with a manual build in the code below.  It isn't everything but I wanted to give those who are interested some idea of what I used.  I extended AbtXDSingleImagePackagingInstructions on the class side with #buildXDImageAndPackageIt and a few other methods.  To use it I added a few other methods to the sub classes of AbtXDSingleImagePackagingInstructions that hold the packaging instructions.  So pretty much everything needed to package an image is in one spot.

I also added a menu item, to the pop up menu we see when we right click a class in the "VisualAge Organizer", that runs the packaging when I right click on the main class of the project.  This works great for the way I work.  It doesn't seem to be the kind of thing I can share on VAStGoodies but I am willing to share or answer questions if anyone is interested.

Lou


buildXDImageAndPackageIt
"Build an XD Image based upon our sub class and package it."
| devImage imageManager image requiredFeature imageType toBeRemoved |

requiredFeature := AbtBatchFeatureForWs new.
imageType := AbtBatchNtImageType new.
imageManager := EmCrossDevelopmentManagement imageManager.
devImage := EmImageManager currentTarget.
devImage hideWindows: false.

System showBusyCursorWhile: [
image := imageManager
newImage: 'Windows'
hideWindows: false
vmType: 'ES'
bigEndian: false
vmVersion: System vmVersion 
byteCodeVersion: System byteCodeVersion.

(image 
platform: AbtBatchNtImageType new;
subsystems: self subSystems;
requiredFeature: requiredFeature;
installRequiredFeature) ifFalse: [image close].

EmSynchronizerManager updateAllTranscriptMenus.
image switchTo.
].

"See #installFeatures comments for info about install features."
System showBusyCursorWhile: [image installFeatures: self installFeatures].
"See #configMap comments for info about what gets loaded."
System showBusyCursorWhile: [self configMap loadWithRequiredMapsAndTracing: true].
"See the sub-class for info about what gets packaged."
System showBusyCursorWhile: [EpPackager packageUsingInstructions: self withProgressMessage: nil].

"At this point we should be packaged and there should be an image on the disk."
"Now we clean things up a bit."
System showBusyCursorWhile: [
EmImageManager removeCallbacksFor: image passiveImage.
(toBeRemoved := EmSynchronizerManager targetFor: image passiveImage) isNil ifFalse: [
EmSynchronizerManager targetImages remove: toBeRemoved.
EmSynchronizerManager destroyImage: image passiveImage clientData: nil callData: nil.
].

image close.
EmSynchronizerManager updateAllTranscriptMenus.
].

devImage switchTo.
"The is KSC code that gets ready to run the install program (InstallShield) build."
System showBusyCursorWhile: [self doExtendedPackagingStage1].
System showBusyCursorWhile: [System message: 'Preform the install program build step and click "OK" when finished.'].
"Now we zip the build so it can be delivered."
System showBusyCursorWhile: [self doExtendedPackagingStage2].



--
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/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: When in the packer save instructions screen is there any way to have it default to NOT save when the instructions haven't changed?

Louis LaBrunda
Hey Joachim,

On Tuesday, February 17, 2015 at 8:44:40 AM UTC-5, Joachim Tuchel wrote:
Lou,

all I can say is: Wow!

Thanks for the kind praise.
 
I did a lot of automation for "normal" packaging, but gave up several times trying to do automated loading into passive images and packaging a runtime from it.
Seems like I now have all that's needed right here before my fingertips.

Thanks a ton for sharing

My pleasure.  I have attached a zip of the full extension to AbtXDSingleImagePackagingInstructions and one of my packaging instructions which is a sub class of it.  The packaging instructions have what you normally see in packaging instructions when you save them.  There are also a few methods called by the extension to AbtXDSingleImagePackagingInstructions that will show you what you need to add to your packaging instructions.  I haven't included the code to add the menu item nor my extended packaging instructions code that does the zipping but I will if you want it I will post it.  In the mean time you can comment out the last few lines of #buildXDImageAndPackageIt.

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/d/optout.

AbtXDSingleImagePackagingInstructions.Zip (5K) Download Attachment