[Pharo-project] Re: [Pkg] Installer: Installer-Core-AlexandreBergel.244.mcz
Hi alex. I don't understand the purpose of this change. Installing a mc package already does some pretty sophisticated pattern matching in the method InstallerMonticello>>mcThing, allowing you to install the latest version, the latest version from a particular author, or a specific version. Was there a bug in that code? Were you unaware of it? I don't understand why this is needed. On Thu, Oct 23, 2008 at 05:53:06PM +0200, squeak-dev-noreply@lists.squeakfoundation.org wrote:
A new version of Installer-Core was added to project Installer: http://www.squeaksource.com/Installer/Installer-Core-AlexandreBergel.244.mcz
==================== Summary ====================
Name: Installer-Core-AlexandreBergel.244 Author: AlexandreBergel Time: 23 October 2008, 5:53:02 pm UUID: 2080ff3e-6f59-4f15-91c2-ff07703cbccf Ancestors: Installer-Core-kph.243
added #installLatest: method to Installer
=============== Diff against Installer-Core-kph.243 ===============
Item was added: + ----- Method: Installer>>installLatest: (in category 'instanciation') ----- + installLatest: packageNameCollectionOrDetectBlock + | versions | + self addPackage: packageNameCollectionOrDetectBlock. + versions := (self availablePackages select: [:e | e beginsWith: packageNameCollectionOrDetectBlock]) asSortedCollection: [:a :b | + [(a findBetweenSubStrs: #($.)) allButLast last asInteger > (b findBetweenSubStrs: #($.)) allButLast last asInteger] + on: Error do: [:ex | false]]. + versions isEmpty ifTrue: [^ self]. + self packages removeLast. + self addPackage: versions first. + + ^ self install!
-- Matthew Fulmer -- http://mtfulmer.wordpress.com/
Hi Matthew, You're right. We were unaware of this. Cheers, Alexandre On 23 Oct 2008, at 18:19, Matthew Fulmer wrote:
Hi alex. I don't understand the purpose of this change. Installing a mc package already does some pretty sophisticated pattern matching in the method InstallerMonticello>>mcThing, allowing you to install the latest version, the latest version from a particular author, or a specific version. Was there a bug in that code? Were you unaware of it? I don't understand why this is needed.
On Thu, Oct 23, 2008 at 05:53:06PM +0200, squeak-dev-noreply@lists.squeakfoundation.org wrote:
A new version of Installer-Core was added to project Installer: http://www.squeaksource.com/Installer/Installer-Core-AlexandreBergel.244.mcz
==================== Summary ====================
Name: Installer-Core-AlexandreBergel.244 Author: AlexandreBergel Time: 23 October 2008, 5:53:02 pm UUID: 2080ff3e-6f59-4f15-91c2-ff07703cbccf Ancestors: Installer-Core-kph.243
added #installLatest: method to Installer
=============== Diff against Installer-Core-kph.243 ===============
Item was added: + ----- Method: Installer>>installLatest: (in category 'instanciation') ----- + installLatest: packageNameCollectionOrDetectBlock + | versions | + self addPackage: packageNameCollectionOrDetectBlock. + versions := (self availablePackages select: [:e | e beginsWith: packageNameCollectionOrDetectBlock]) asSortedCollection: [:a :b | + [(a findBetweenSubStrs: #($.)) allButLast last asInteger > (b findBetweenSubStrs: #($.)) allButLast last asInteger] + on: Error do: [:ex | false]]. + versions isEmpty ifTrue: [^ self]. + self packages removeLast. + self addPackage: versions first. + + ^ self install!
-- Matthew Fulmer -- http://mtfulmer.wordpress.com/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi Matthew,
Installing a mc package already does some pretty sophisticated pattern matching in the method InstallerMonticello>>mcThing, allowing you to install the latest version, the latest version from a particular author, or a specific version.
Could you briefly tell us how to use #mcThing to load the latest version of a given package? Do we have to adapt #mcSortFileBlock or is there a direct way to load the latest version? Do you have an example?
Were you unaware of it? I don't understand why this is needed.
In Pharo we use a pretty old version of Installer, eg. there everything is still contained in one huge Installer class... Cheers, David
On Thu, Oct 23, 2008 at 05:53:06PM +0200, squeak-dev-noreply@lists.squeakfoundation.org wrote:
A new version of Installer-Core was added to project Installer: http://www.squeaksource.com/Installer/Installer-Core-AlexandreBergel.244.mcz
==================== Summary ====================
Name: Installer-Core-AlexandreBergel.244 Author: AlexandreBergel Time: 23 October 2008, 5:53:02 pm UUID: 2080ff3e-6f59-4f15-91c2-ff07703cbccf Ancestors: Installer-Core-kph.243
added #installLatest: method to Installer
=============== Diff against Installer-Core-kph.243 ===============
Item was added: + ----- Method: Installer>>installLatest: (in category 'instanciation') ----- + installLatest: packageNameCollectionOrDetectBlock + | versions | + self addPackage: packageNameCollectionOrDetectBlock. + versions := (self availablePackages select: [:e | e beginsWith: packageNameCollectionOrDetectBlock]) asSortedCollection: [:a :b | + [(a findBetweenSubStrs: #($.)) allButLast last asInteger > (b findBetweenSubStrs: #($.)) allButLast last asInteger] + on: Error do: [:ex | false]]. + versions isEmpty ifTrue: [^ self]. + self packages removeLast. + self addPackage: versions first. + + ^ self install!
David Röthlisberger wrote:
Hi Matthew,
Installing a mc package already does some pretty sophisticated pattern matching in the method InstallerMonticello>>mcThing, allowing you to install the latest version, the latest version from a particular author, or a specific version.
Could you briefly tell us how to use #mcThing to load the latest version of a given package? Do we have to adapt #mcSortFileBlock or is there a direct way to load the latest version? Do you have an example? It is unusual to the point of not expecting it in squeakland, but installer is one piece of code that has some basic documentation see: http://installer.pbwiki.com/Installer (and or the class comment). AFAIK the refactoring has not effected the api documented, since it was designed to be refactored from the outset.
for an example of getting the latest see "Installer >> #upgrade" e.g. typically "latest package" Installer ss project: 'Installer'; install: 'Installer-Core'. "latest package by author kph" Installer ss project: 'Installer'; install: 'Installer-Core-kph'. "latest package by kph or mtf" Installer ss project: 'Installer'; install: #('Installer-Core-kph' 'Installer-Core-mtf'). cheers Keith
Perfect. Thanks a lot, Keith! David
Installing a mc package already does some pretty sophisticated pattern matching in the method InstallerMonticello>>mcThing, allowing you to install the latest version, the latest version from a particular author, or a specific version. Could you briefly tell us how to use #mcThing to load the latest version of a given package? Do we have to adapt #mcSortFileBlock or is there a direct way to load the latest version? Do you have an example? It is unusual to the point of not expecting it in squeakland, but installer is one piece of code that has some basic documentation see: http://installer.pbwiki.com/Installer (and or the class comment). AFAIK the refactoring has not effected the api documented, since it was designed to be refactored from the outset.
for an example of getting the latest see "Installer >> #upgrade"
e.g. typically
"latest package"
Installer ss project: 'Installer'; install: 'Installer-Core'.
"latest package by author kph"
Installer ss project: 'Installer'; install: 'Installer-Core-kph'.
"latest package by kph or mtf"
Installer ss project: 'Installer'; install: #('Installer-Core-kph' 'Installer-Core-mtf').
cheers
Keith
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi Matthew, I am now trying Installer-Core-mtf.250 Few comments below:
Installing a mc package already does some pretty sophisticated pattern matching in the method InstallerMonticello>>mcThing,
What this mcThing is supposed to return? a few doits in a workspace shows that it returns an MCVersionLoader.
allowing you to install the latest version, the latest version from a particular author, or a specific version. Was there a bug in that code? Were you unaware of it? I don't understand why this is needed.
What should I do with this MCVersionLoader to load the latest version? I tried: -=-=--=-=--=-=--=-=- (Installer ss project: 'AST'; yourself) mcThing load -=-=--=-=--=-=--=-=- But a debugger pops up -=-=--=-=--=-=--=-=- (Installer ss project: 'AST'; yourself) basicVersions -=-=--=-=--=-=--=-=- But a debugger pops up again -=-=--=-=--=-=--=-=- (Installer ss project: 'AST'; yourself) basicAvailablePackages -=-=--=-=--=-=--=-=- Give me a list of names that includes the repository name 'http://www.squeaksource.com/AST.html' . -=-=--=-=--=-=--=-=- (Installer ss project: 'AST'; yourself) mcUrl -=-=--=-=--=-=--=-=- raises another error. How should I use Installer to load the lastest version of a project, let's say the latest AST*.mcz in the project 'AST'? Cheers, Alexandre
On Thu, Oct 23, 2008 at 05:53:06PM +0200, squeak-dev-noreply@lists.squeakfoundation.org wrote:
A new version of Installer-Core was added to project Installer: http://www.squeaksource.com/Installer/Installer-Core-AlexandreBergel.244.mcz
==================== Summary ====================
Name: Installer-Core-AlexandreBergel.244 Author: AlexandreBergel Time: 23 October 2008, 5:53:02 pm UUID: 2080ff3e-6f59-4f15-91c2-ff07703cbccf Ancestors: Installer-Core-kph.243
added #installLatest: method to Installer
=============== Diff against Installer-Core-kph.243 ===============
Item was added: + ----- Method: Installer>>installLatest: (in category 'instanciation') ----- + installLatest: packageNameCollectionOrDetectBlock + | versions | + self addPackage: packageNameCollectionOrDetectBlock. + versions := (self availablePackages select: [:e | e beginsWith: packageNameCollectionOrDetectBlock]) asSortedCollection: [:a :b | + [(a findBetweenSubStrs: #($.)) allButLast last asInteger > (b findBetweenSubStrs: #($.)) allButLast last asInteger] + on: Error do: [:ex | false]]. + versions isEmpty ifTrue: [^ self]. + self packages removeLast. + self addPackage: versions first. + + ^ self install!
-- Matthew Fulmer -- http://mtfulmer.wordpress.com/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi Alex,
Installing a mc package already does some pretty sophisticated pattern matching in the method InstallerMonticello>>mcThing,
What this mcThing is supposed to return? a few doits in a workspace shows that it returns an MCVersionLoader. [...] How should I use Installer to load the lastest version of a project, let's say the latest AST*.mcz in the project 'AST'?
Have a look at this webpage here, I think most of your questions are answered there: http://installer.pbwiki.com/Installer david
Yep, I discovered this page after having sent my email. Are you updating loadSuperOB? Or shall I do it? Alexandre On 29 Oct 2008, at 09:44, David Röthlisberger wrote:
Hi Alex,
Installing a mc package already does some pretty sophisticated pattern matching in the method InstallerMonticello>>mcThing, What this mcThing is supposed to return? a few doits in a workspace shows that it returns an MCVersionLoader. [...] How should I use Installer to load the lastest version of a project, let's say the latest AST*.mcz in the project 'AST'?
Have a look at this webpage here, I think most of your questions are answered there: http://installer.pbwiki.com/Installer
david
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
A remark concerning InstallerMonticello >> mcThing : It would be good to catch the case when fileToLoad is nil and to send a meaningful error msg then, so that users immediately grasp that they tried to load an unexisting version. Cheers, David
Installing a mc package already does some pretty sophisticated pattern matching in the method InstallerMonticello>>mcThing, allowing you to install the latest version, the latest version from a particular author, or a specific version. Could you briefly tell us how to use #mcThing to load the latest version of a given package? Do we have to adapt #mcSortFileBlock or is there a direct way to load the latest version? Do you have an example? It is unusual to the point of not expecting it in squeakland, but installer is one piece of code that has some basic documentation see: http://installer.pbwiki.com/Installer (and or the class comment). AFAIK the refactoring has not effected the api documented, since it was designed to be refactored from the outset.
for an example of getting the latest see "Installer >> #upgrade"
e.g. typically
"latest package"
Installer ss project: 'Installer'; install: 'Installer-Core'.
"latest package by author kph"
Installer ss project: 'Installer'; install: 'Installer-Core-kph'.
"latest package by kph or mtf"
Installer ss project: 'Installer'; install: #('Installer-Core-kph' 'Installer-Core-mtf').
cheers
Keith
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Are you updating loadSuperOB? Or shall I do it?
I'm just right now in the process of doing it. ;)
There is ScriptLoader-DavidRoethlisberger.594 in PharoInbox providing a working version of #loadSuperOB and also #loadOBAlpha, which load the latest version of the default OB package browser, but without Mondrian, visualizations, etc. David
Excellent David, Alexandre On 29 Oct 2008, at 17:38, David Röthlisberger wrote:
Are you updating loadSuperOB? Or shall I do it? I'm just right now in the process of doing it. ;)
There is ScriptLoader-DavidRoethlisberger.594 in PharoInbox providing a working version of #loadSuperOB and also #loadOBAlpha, which load the latest version of the default OB package browser, but without Mondrian, visualizations, etc.
David
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
participants (4)
-
Alexandre Bergel -
David Röthlisberger -
Keith Hodges -
Matthew Fulmer