About FileSystem

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

About FileSystem

Stéphane Ducasse
Hi guys

Igor convinced me to publish filesystem into the squeaksource Filesystem so that others people can not feel
that we are stealing it from colin. Now since we want it as a fondation for the our system, we should invest on it.
and this is what I'm doing.

So here is what I did
        - fetched all the versions from colin, lukas, pharotaskforces
        - pushed all the versions to squeaksource/Filesystem
        - pushed all the versions to pharoTaskForces

Now I will publish to squeaksource/Filesystem.

If people want to join this is open and free.

Stef
Reply | Threaded
Open this post in threaded view
|

Re: About FileSystem

Stéphane Ducasse
I tried to publish a new configurationOfFilesystem
but after 15 min I stopped because I could not make it load.
For me there is something wrong with the interface of metacello because I can never remember it
version: '1.0.2' did not load it while it defined as version: #'1.0.2'
and of course I tried string and symobols....

And I got a bug in the decompiler that crashed my image

probably here
         [tempVector remoteTemps size = maybeTVTag value size]]] assert]

and so I lost everything...

popIntoTemporaryVariable: offset
        | maybeTVTag tempVector start |
        maybeTVTag := stack last.
        ((maybeTVTag isMemberOf: Association)
         and: [maybeTVTag key == #pushNewArray]) ifTrue:
                [blockStartsToTempVars notNil "implies we were intialized with temp names."
                        ifTrue: "Use the provided temps"
                                [[(tempVector := tempVars at: offset + 1 ifAbsent: [ParseNode basicNew]) isTemp
                                                         and: [tempVector isIndirectTempVector
                                                         and: [tempVector remoteTemps size = maybeTVTag value size]]] assert]
                        ifFalse: "Synthesize some remote temps"
                                [tempVector := maybeTVTag value.
                                 offset + 1 <= tempVars size
                                        ifTrue:
                                                [start := 2.
                                                 tempVector at: 1 put: (tempVars at: offset + 1)]
                                        ifFalse:
                                                [tempVars := (Array new: offset + 1)
                                                                                replaceFrom: 1
                                                                                to: tempVars size
                                                                                with: tempVars.
                                                start := 1].
                                 start to: tempVector size do:
                                        [:i|
                                        tempVector
                                                at: i
                                                put: (constructor
                                                                codeTemp: numLocalTemps + offset + i - 1
                                                                named: 't', (tempVarCount + i) printString)].
                                tempVars at: offset + 1 put: (constructor codeRemoteTemp: offset + 1 remoteTemps: tempVector)].
                 tempVarCount := tempVarCount + maybeTVTag value size.
                 stack removeLast.
                 ^self].
        self pushTemporaryVariable: offset; doStore: statements


On Feb 3, 2011, at 10:43 AM, Stéphane Ducasse wrote:

> Hi guys
>
> Igor convinced me to publish filesystem into the squeaksource Filesystem so that others people can not feel
> that we are stealing it from colin. Now since we want it as a fondation for the our system, we should invest on it.
> and this is what I'm doing.
>
> So here is what I did
> - fetched all the versions from colin, lukas, pharotaskforces
> - pushed all the versions to squeaksource/Filesystem
> - pushed all the versions to pharoTaskForces
>
> Now I will publish to squeaksource/Filesystem.
>
> If people want to join this is open and free.
>
> Stef


Reply | Threaded
Open this post in threaded view
|

Re: About FileSystem

Dale Henrichs

On Feb 3, 2011, at 1:08 PM, Stéphane Ducasse wrote:

> I tried to publish a new configurationOfFilesystem
> but after 15 min I stopped because I could not make it load.
> For me there is something wrong with the interface of metacello because I can never remember it
> version: '1.0.2' did not load it while it defined as version: #'1.0.2'
> and of course I tried string and symobols....

Stef,

I recommend that you try to use the validator:

  (MetacelloToolBox validateConfiguration: ConfigurationOfFilesystem)
        inspect

The validator should complain about using #'1.0.2' or '1.0.2' incorrectly. If the issue printString isn't enough you should be able to get more info from the #reasonCode:

  MetacelloToolBox descriptionForValidationReasonCode: <reasonCode from validation issue>

If the validator doesn't provide a good enough explanation, I'm interested in improving it.

If you run into a problem when you reconstruct the configuration and the validator doesn't give you good information, then please feel free to ship me a copy of the configuration so I can be the human validator - which in turn will spur me on to improve the validator:)

I extend this invitation to anyone having trouble with Metacello.

Dale
Reply | Threaded
Open this post in threaded view
|

Re: About FileSystem

Stéphane Ducasse
Ok I'm trying

I have

version102: spec
        <version: '1.0.2' imports: #('1.0-baseline') >
       
        spec for: #common do: [
                spec blessing: #release.
                spec package: 'FileSystem'].


(ConfigurationOfFilesystem project version:  '1.0.2') load

worked now

(MetacelloToolBox validateConfiguration: ConfigurationOfFilesystem)
        inspect

        Critical Warning: No version specified for the package 'Filesystem' in version '1.0.1' { noVersionSpecified } [ #validateVersionSpec: ]
        Critical Warning: The name of package 'FileSystem' does not match the file name 'Filesystem-cwp.63' in version '1.0.1' { packageNameMismatch } [ #validateVersionSpec: ]
        Critical Warning: No version specified for the package 'Filesystem' in version '1.0.2' { noVersionSpecified } [ #validateVersionSpec: ]

I was confused why this is a critical warning?

 MetacelloToolBox descriptionForValidationReasonCode: #noVersionSpecified

I got a DNU at:at:

Stef


On Feb 3, 2011, at 10:18 PM, Dale Henrichs wrote:

>
> On Feb 3, 2011, at 1:08 PM, Stéphane Ducasse wrote:
>
>> I tried to publish a new configurationOfFilesystem
>> but after 15 min I stopped because I could not make it load.
>> For me there is something wrong with the interface of metacello because I can never remember it
>> version: '1.0.2' did not load it while it defined as version: #'1.0.2'
>> and of course I tried string and symobols....
>
> Stef,
>
> I recommend that you try to use the validator:
>
>  (MetacelloToolBox validateConfiguration: ConfigurationOfFilesystem)
> inspect
>
> The validator should complain about using #'1.0.2' or '1.0.2' incorrectly. If the issue printString isn't enough you should be able to get more info from the #reasonCode:
>
>  MetacelloToolBox descriptionForValidationReasonCode: <reasonCode from validation issue>
>
> If the validator doesn't provide a good enough explanation, I'm interested in improving it.
>
> If you run into a problem when you reconstruct the configuration and the validator doesn't give you good information, then please feel free to ship me a copy of the configuration so I can be the human validator - which in turn will spur me on to improve the validator:)
>
> I extend this invitation to anyone having trouble with Metacello.
>
> Dale


Reply | Threaded
Open this post in threaded view
|

Re: About FileSystem

Dale Henrichs

On Feb 4, 2011, at 12:12 AM, Stéphane Ducasse wrote:

> Ok I'm trying
>
> I have
>
> version102: spec
> <version: '1.0.2' imports: #('1.0-baseline') >
>
> spec for: #common do: [
> spec blessing: #release.
> spec package: 'FileSystem'].
>
>
> (ConfigurationOfFilesystem project version:  '1.0.2') load
>
> worked now
>
> (MetacelloToolBox validateConfiguration: ConfigurationOfFilesystem)
> inspect
>
> Critical Warning: No version specified for the package 'Filesystem' in version '1.0.1' { noVersionSpecified } [ #validateVersionSpec: ]
> Critical Warning: The name of package 'FileSystem' does not match the file name 'Filesystem-cwp.63' in version '1.0.1' { packageNameMismatch } [ #validateVersionSpec: ]
> Critical Warning: No version specified for the package 'Filesystem' in version '1.0.2' { noVersionSpecified } [ #validateVersionSpec: ]
>
> I was confused why this is a critical warning?
>
> MetacelloToolBox descriptionForValidationReasonCode: #noVersionSpecified
>
> I got a DNU at:at:

Ah yes, the at:at: problem .. I have had a fix for that in 1.0-beta.28.3 for awhile but got busy and neglected to push out a new version ... too many things going on:(

The description for #noVersionSpecified is:

   'no version defined for the project reference or package. The version specified in the
    baseline or the latest version of the project or package in the repository will be used.'

and the description for #packageNameMismatch is:

   'the name in the packageSpec does not match the name of the mcz file.'

You haven't provided the baseline spec or the spec for 1.0.1, but it looks like you must have used the name:

  Filesystem

in the baseline, while you are using the name

  FileSystem

(with a capital S) in the 1.0.2 spec and in the 1.0.1 spec. Perhaps you have renamed the package from Filesystem... to FileSystem...?

#noVersionSpecified is a criticalWarning, because a version spec should have explicit versions specified for all packages and projects, otherwise you don't have a complete specification. As the 1.0.2 spec stands the latest mz file in the repository will be loaded.  

I'll try to push out 1.0-beta.28.3 this weekend:)

Dale


Reply | Threaded
Open this post in threaded view
|

Re: About FileSystem

Stéphane Ducasse
thanks dale.
I really like the idea of your validation tool.

>>
>>
>> MetacelloToolBox descriptionForValidationReasonCode: #noVersionSpecified
>>
>> I got a DNU at:at:
>
> Ah yes, the at:at: problem .. I have had a fix for that in 1.0-beta.28.3 for awhile but got busy and neglected to push out a new version ... too many things going on:(
>
> The description for #noVersionSpecified is:
>
>   'no version defined for the project reference or package. The version specified in the
>    baseline or the latest version of the project or package in the repository will be used.'
>
> and the description for #packageNameMismatch is:
>
>   'the name in the packageSpec does not match the name of the mcz file.'
>
> You haven't provided the baseline spec or the spec for 1.0.1, but it looks like you must have used the name:
>
>  Filesystem
>
> in the baseline, while you are using the name
>
>  FileSystem
>
> (with a capital S) in the 1.0.2 spec and in the 1.0.1 spec. Perhaps you have renamed the package from Filesystem... to FileSystem...?
>
> #noVersionSpecified is a criticalWarning, because a version spec should have explicit versions specified for all packages and projects, otherwise you don't have a complete specification. As the 1.0.2 spec stands the latest mz file in the repository will be loaded.  
>
> I'll try to push out 1.0-beta.28.3 this weekend:)
>
> Dale
>
>


Reply | Threaded
Open this post in threaded view
|

Re: About FileSystem

Dale Henrichs
On 02/04/2011 12:06 PM, Stéphane Ducasse wrote:
> thanks dale.
> I really like the idea of your validation tool.
>

Yeah, but I think I must need a validator for my validator tool:)

Dale

>>>
>>>
>>> MetacelloToolBox descriptionForValidationReasonCode: #noVersionSpecified
>>>
>>> I got a DNU at:at:
>>
>> Ah yes, the at:at: problem .. I have had a fix for that in 1.0-beta.28.3 for awhile but got busy and neglected to push out a new version ... too many things going on:(
>>
>> The description for #noVersionSpecified is:
>>
>>    'no version defined for the project reference or package. The version specified in the
>>     baseline or the latest version of the project or package in the repository will be used.'
>>
>> and the description for #packageNameMismatch is:
>>
>>    'the name in the packageSpec does not match the name of the mcz file.'
>>
>> You haven't provided the baseline spec or the spec for 1.0.1, but it looks like you must have used the name:
>>
>>   Filesystem
>>
>> in the baseline, while you are using the name
>>
>>   FileSystem
>>
>> (with a capital S) in the 1.0.2 spec and in the 1.0.1 spec. Perhaps you have renamed the package from Filesystem... to FileSystem...?
>>
>> #noVersionSpecified is a criticalWarning, because a version spec should have explicit versions specified for all packages and projects, otherwise you don't have a complete specification. As the 1.0.2 spec stands the latest mz file in the repository will be loaded.
>>
>> I'll try to push out 1.0-beta.28.3 this weekend:)
>>
>> Dale
>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: About FileSystem

Henrik Sperre Johansen

On Feb 4, 2011, at 9:23 32PM, Dale Henrichs wrote:

> On 02/04/2011 12:06 PM, Stéphane Ducasse wrote:
>> thanks dale.
>> I really like the idea of your validation tool.
>>
>
> Yeah, but I think I must need a validator for my validator tool:)
>
> Dale

MetaMetaMetacello? ;)

Cheers,
Henry