Hi,
i work with Pharo 1.4. I have some packages and i use Monticello browser to save these into fileTree:///Volumes/DTRRepository After with metacello ConfigurationOfDtrBase i load this package into GLASS environment. baseline10: spec <version: '1.0-baseline'> spec for: #gemstone do: [ spec package: 'DTROnlyForOODB'with:[ spec repository: 'filetree:///Volumes/DTRRepository'.] ] . spec for: #pharo do: [ spec package: 'DTRMock'with:[ spec repository: 'filetree:///Volumes/DTRRepository'.] ] . spec for: #common do: [ spec repository:'filetree:///Volumes/DTRRepository'. spec package: 'DtrRedu'. " Personalizzazioni base da verificare " spec package: 'DTRCore' with:[ spec requires:#( 'DtrRedu')]. " Gestione integrazioni di sistema " spec package: 'DtrBase' with:[ spec requires:#( 'DTRCore')]." Gestione base " spec package: 'DTRMetaDb' with:[ spec requires:#( 'DtrBase')] Now i have a new server and i need to save the same packages on it fileTree:///Volumes/SCNRepository But it's complicate manage all with Monticello browser ( add repository - save the new version on the two server ecc ecc. ) My questions is: i can create a script for save and update automatically the packages in the two repository ? Any considerations - reference are welcome, Thanks, Dario -- You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Dario, Are you comfortable working with git? If you are then I would say that you should use git to save versions of your packages and then replace ConfigurationOfDtrBase with a BaselineOfDtrBase. When using a BaselineOf it is not necessary to continuously modify the package versions. To use a BaselineOf you need to install a recent version of Metacello in Pharo1.4 and you can do that following these install instructions[1]. If you use git, then you can purchase private repos on github, or bitbucket provides for free private repos. By using github or bitbucket you can pretty easily share the same git repository between two different servers (doing a git pull... to download and doing a git push... to upload) ... To create a BaselineOf from a ConfigruationOf you would create BaselineOfDtrBase as a subclass of BaselinOf and then copy the #baseline10: method from ConfigurationOfDtrBase into BaselineOfDtrBase and change it to the following: baseline10: spec <baseline> spec for: #gemstone do: [ spec package: 'DTROnlyForOODB' ] ] . spec for: #pharo do: [ spec package: 'DTRMock'] ] . spec for: #common do: [ spec package: 'DtrRedu'. " Personalizzazioni base da verificare " spec package: 'DTRCore' with:[ spec requires:#( 'DtrRedu')]. " Gestione integrazioni di sistema " spec package: 'DtrBase' with:[ spec requires:#( 'DTRCore')]." Gestione base " spec package: 'DTRMetaDb' with:[ spec requires:#( 'DtrBase')] rename method, use <baseline> instead of <version: ...> and remove the repository: statements ... So a dev cycle would go like the following: 1. develop in Pharo. 2. save packages to filetree repo in git repository 3. at bash shell prompt `git add .` then `git commit ....` then `git push ....` 4. log into other server 5. if you are using tODE you will be able to the `pull` from the `project list` and you will be able to load the packages into gemstone using `load` from the project list ... I strongly recommend that you learn to use BaselineOf and git, because your development process is greatly simplified. If the git approach will not work for you, then I would say that you should use rsynch to keep your mac and ubuntu repositories in synch ... Dale On Fri, Dec 12, 2014 at 6:48 AM, Dario Trussardi <[hidden email]> wrote: Hi, You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Dale, Dario, i follow your indications to load a recent version of Metacello in Pharo 1.4. Into [1] i found this script: Gofer new gemsource: 'metacello'; package: 'ConfigurationOfMetacello'; load. "Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version" ((Smalltalk at: #ConfigurationOfMetacello) project version: #'previewBootstrap') load. "Load the Preview version of Metacello from GitHub" (Smalltalk at: #Metacello) new configuration: 'MetacelloPreview'; version: #stable; repository: '<a href="github://dalehenrich/metacello-work:configuration'">github://dalehenrich/metacello-work:configuration'; load. "Now load latest version of Metacello" Metacello new baseline: 'Metacello'; repository: '<a href="github://dalehenrich/metacello-work:master/repository'">github://dalehenrich/metacello-work:master/repository'; get. Metacello new baseline: 'Metacello'; repository: '<a href="github://dalehenrich/metacello-work:master/repository'">github://dalehenrich/metacello-work:master/repository'; onConflict: [:ex | ex allow]; load When submit the script the system answer the error: GoferRepositoryError: Could not access http://seaside.gemstone.com/ss/metacello: NameLookupFailure: Could not resolve the server named: seaside.gemstone.com Dario
-- You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Dale, i resubmit the script. Now after some work the system answer: MessageNotUnderstood: MCHttpRepository>>repositoryDescription loadPackageDirective: aPackageLoadDirective gofer: aGofer | packageSpec | packageSpec := aPackageLoadDirective spec. MetacelloPlatform current do: [ | loadBlock goferLoad answers resolvedReference | aGofer disablePackageCache. "for good luck:)" resolvedReference := self resolvePackageSpec: packageSpec gofer: aGofer. resolvedReference isNil ifTrue: [ "Package version already loaded into image" ^ self ]. loadBlock := [ "mcLoader preLoad: packageSpec." goferLoad := MetacelloGoferLoad on: aGofer. goferLoad addResolved: resolvedReference. goferLoad execute. MetacelloPlatform current clearCurrentVersionCache "mcLoader postLoad: packageSpec" ]. (answers := packageSpec answers) notEmpty ifTrue: [ loadBlock valueSupplyingMetacelloAnswers: answers ] ifFalse: [ loadBlock value ]. resolvedReference workingCopy repositoryGroup addRepository: aPackageLoadDirective repository. Transcript cr; show: 'Loaded -> ' , resolvedReference name , ' --- ' , aPackageLoadDirective repository repositoryDescription , ' --- ' , resolvedReference repository description ] displaying: 'Loading ' , packageSpec file where aPackageLoadDirective is set to load : Metacello-Core-dkh.695 Dario
-- You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Dario, I am not able to reproduce either of your problems: - seaside.gemstone.com resolves correctly - the load using your script works without error I am using Pharo1.4 - Latest update: #14457.... What version of Pharo1.4 are you using? Perhaps you should start with a fresh Pharo1.4 and run the script there first? Dale On Sat, Dec 13, 2014 at 5:27 AM, Dario Trussardi <[hidden email]> wrote:
You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Dale,
This work fine also for me.
When i do: "Bootstrap Metacello Preview, using mcz files (#'previewBootstrap' symbolic version"
((Smalltalk at: #ConfigurationOfMetacello) project
version: #'previewBootstrap') load. the system open the error as write in my previous e-mail.
I do this for follow your indications: " Are you comfortable working with git? If you are then I would say that you should use git to save versions of your packages and then replace ConfigurationOfDtrBase with a BaselineOfDtrBase. When using a BaselineOf it is not necessary to continuously modify the package versions. To use a BaselineOf you need to install a recent version of Metacello in Pharo1.4 and you can do that following these install instructions[1]. " I open a git repository on Bitbucket but with this complication i do not know how to handle the BaselineOfDtrBase configuration. Dario
You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
On Sat, Dec 13, 2014 at 9:09 AM, Dario Trussardi <[hidden email]> wrote:
What version of the ConfigurationOfMetacello package are you using?
Mail me a copy of your ConfigurationOfDtrBase and your current BaselineOfDtrBase (if you have one) and I'll whip one oup for you ... Dale You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Dale,
As you write:
But for the first three point i need update the Pharo 1.4 with: [1] ? For the point 3: every time, into Pharo, i update one package i need to do the relative git add command ? For point 5: Can you explain what command use into tODE? If i use Gemtools what i need to do for load package into Gemstone ? ( I have to use tODE because only it support git repository? ) Thanks, Dario
-- You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
On Mon, Dec 15, 2014 at 12:46 AM, Dario Trussardi <[hidden email]> wrote:
I was looking for the package version. ConfigurationOfMetacello-dkh.800 is the latest package version and I am suspicioues that you are using a different version of the configuration... at the very least I want to rule that out ....
Yes, you need to get use the Metacello Scripting apit and that means getting to the most recent version of Metacello ... I've been able to load Metacello into a stock version of Pharo1.4, so it should be possible to get Metacello loaded into your image ... it might make sense to mail me a copy of your image, so that I figure out what's wrong first hand ....
When I work from Pharo, i write out all of the dirty packages and do `git add ...` and then `git commit ...`, so you can make a bunch of edits to the git repository and you only need to do the add command before you commit ....
The `project list` brings up a project browser and the `pull` is menu item on the project browser
If you are using GemTools, then you will work like you do with Pharo and do all of your git manipulations from the bash shell command line .. Dale You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Dale,
But for understund the deveIopment cycle i create a Pharo 3.0 image.
Into Phar0 3.0 i create a Baseline subclass BaselineOfProva with: baseline10: spec <baseline> spec for: #common do: [ spec package: 'DTRPackage1'. spec package: 'DTRPackage2'. spec package: 'DTRPackage3'. spec package: 'DTRPackage1A' with:[ spec requires:#( 'DTRPackage1')] ].
In the other server i do the git pull command
Into Gemtools with Monticello i load the package with the BaselineOfProva class. Now i don't understund what i need do to load the package defined into baseline10: spec <baseline> if i do the command: ( BaselineOfProva project version ) load the system answer: a MetacelloPackageSpecResolutionError occurred (error 2710), Could not resolve: DTRPackage1 [DTRPackage1] in cache - G/S[Scandella3106:2] Thanks for any considerations, Dario
-- You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Dale,
Into Pharo 3.0 i create also a ConfigurationOfProva with: version10: spec
<version: '1.0' imports: #('1.0-baseline')>
spec
for: #'common'
do: [
spec blessing: #'development'.
spec description: 'prova'.
spec author: 'dtr'.
spec timestamp: '17/12/2014 10:10'.
spec
baseline: 'Prova'
with: [ spec repository: '<a href="filetree:///home/scandella/tutorial'">filetree:///home/scandella/tutorial'. ] " this point to the server git repository update with git pull command "
]
and do : ( ConfigurationOfProva project version: '1.0') load. The system answer : a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #'loader:' - G/S[Scandella3106:2] What i wrong in the declarations? Thanks for any help, Dario
-- You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by dario trussardi
On 12/16/2014 07:09 AM, Dario Trussardi
wrote:
Interesting ... I guess I will need more debugging information to figure this one out ...
To load a baseline you need to using the Scripting API: Metacello new baseline: 'Prova'; repository: 'filetree:///.......'; get; load. The `get` command refreshes the baseline from the repository and the `load` command loads the baseline ... Dale -- You received this message because you are subscribed to the Google Groups "Metacello" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |