MCMczReader.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sun, 10 May 2015 06:09:15 +0100
branchjv
changeset 996 ab948c69360b
parent 913 224fedf76aa7
child 1099 df7f9c846b88
permissions -rw-r--r--
Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
996
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
     3
"{ NameSpace: Smalltalk }"
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
     4
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
MCVersionReader subclass:#MCMczReader
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:'zip infoCache'
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
638
bf4c7c62a28f category change
Claus Gittinger <cg@exept.de>
parents: 522
diff changeset
     9
	category:'SCM-Monticello-Storing'
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!MCMczReader class methodsFor:'accessing'!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
extension
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	^ 'mcz'
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
! !
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!MCMczReader class methodsFor:'testing'!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
996
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    21
canReadFileNamed: fileName
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    22
    "Hack to use MCStXMczReader on Smalltalk/X"
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    23
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    24
    ^ ((Smalltalk respondsTo: #isSmalltalkX) and:[ Smalltalk isSmalltalkX ]) 
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    25
        ifTrue:[ self == MCStXMczReader and: [ super canReadFileNamed: fileName ] ]
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    26
        ifFalse:[ super canReadFileNamed: fileName ].
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    27
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    28
    "Created: / 10-05-2015 / 06:05:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    29
!
ab948c69360b Transfrom snapshot using MCStXSnapshotPostReadTransformation after reading .mcz
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 913
diff changeset
    30
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
supportsDependencies
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	^ true
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
supportsVersions
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	^ true
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
! !
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    39
!MCMczReader methodsFor:'as yet unclassified'!
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
associate: tokens
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    42
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    43
    ^MCLazyPropertyDictionary withTokens: tokens.        
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    44
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    45
        "
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
        | result |
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    47
        result := Dictionary new.
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    48
        tokens pairWiseDo: [:key :value | 
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    49
                                        | tmp |
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    50
                                        tmp := value.
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    51
                                        value isString ifFalse: [tmp := value collect: [:ea | self associate: ea]].
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    52
                                        value = 'nil' ifTrue: [tmp := ''].
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    53
                                        result at: key put: tmp].
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
        ^ result
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    55
        "
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    57
    "Modified: / 28-10-2010 / 15:25:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    58
!
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
extractDefinitionsFrom: member
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    61
        | reader rc |
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    62
        (rc := (MCSnapshotReader readerClassForFileNamed: member fileName))
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    63
                ifNotNil: 
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    64
                    [ reader := rc on: (self zip contentsOf: member fileName).
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    65
                    definitions addAll: reader definitions]
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    66
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    67
    "Modified: / 11-09-2010 / 21:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
extractDependencyFrom: zipMember
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
	^ MCVersionDependency
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
		package: (MCPackage named: (zipMember fileName copyAfterLast: $/))
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
		info: (self extractInfoFrom: (self parseMember: zipMember fileName))
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
extractInfoFrom: dict
141
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    77
        ^ self infoCache at: (dict at: #id) ifAbsentPut:
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    78
                [MCLazyVersionInfo withProperties: dict]
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    79
                "
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    80
                [MCVersionInfo
141
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    81
                        name: (dict at: #name ifAbsent: [''])
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    82
                        id: (UUID fromString: (dict at: #id))
141
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    83
                        message: (dict at: #message ifAbsent: [''])
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    84
                        date: ([Date fromString: (dict at: #date) ] on: Error do: [ :ex | ex return: nil ])
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    85
                        time: ([ Time fromString:(dict at: #time)] on: Error do: [ :ex | ex return: nil ])
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    86
                        author: (dict at: #author ifAbsent: [''])
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    87
                        ancestors: ((dict at: #ancestors ifAbsent:#()) collect: [:ea | self extractInfoFrom: ea])
141
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
    88
                        stepChildren: ((dict at: #stepChildren ifAbsent: [#()]) collect: [:ea | self extractInfoFrom: ea])]
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    89
                "
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    90
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    91
    "Modified: / 28-10-2010 / 17:53:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
infoCache
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
    95
	^ infoCache ifNil: [infoCache := Dictionary new]
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
loadDefinitions
913
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
    99
        |doNotShowAgainHolder|
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   100
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   101
        doNotShowAgainHolder := false asValue.
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   102
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   103
        definitions := OrderedCollection new.
913
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   104
        (self zip isValidPath: 'snapshot.bin') ifTrue:[ 
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   105
            [
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   106
                ^ definitions := (DataStream on: (self zip contentsOf: 'snapshot.bin') 
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   107
                                    asByteArray readStream) next definitions
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   108
            ] on: Error do: [:fallThrough|
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   109
                doNotShowAgainHolder value ifTrue:[fallThrough proceed].
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   110
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   111
                "/ self halt:fallThrough description
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   112
                Dialog aboutToOpenBoxNotificationSignal handle:[:ex |
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   113
                    ex box addCheckBoxAtBottom:'Do not show this dialog again.' on:doNotShowAgainHolder.
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   114
                ] do:[
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   115
                    |answer|
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   116
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   117
                    answer := Dialog confirmWithCancel:(fallThrough description,'\\Try proceeding with binary? (if NO, source is loaded)') withCRs. 
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   118
                    answer isNil ifTrue:[AbortOperationRequest raise].
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   119
                    answer ifTrue:[
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   120
                        fallThrough proceed
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   121
                    ].
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   122
                ].
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   123
            ]
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   124
        ].
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   125
        "otherwise (binay broken), try source"
522
50d3c41be619 added: #classInstVarNames:
Claus Gittinger <cg@exept.de>
parents: 483
diff changeset
   126
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   127
        self breakPoint:#jv.
141
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
   128
        (self zip membersMatching: 'snapshot/*')
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
   129
                do: [:m | self extractDefinitionsFrom: m].
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   130
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   131
    "Modified: / 14-09-2010 / 21:22:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
522
50d3c41be619 added: #classInstVarNames:
Claus Gittinger <cg@exept.de>
parents: 483
diff changeset
   132
    "Modified: / 25-11-2011 / 16:55:00 / cg"
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
loadDependencies
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   136
	dependencies := (self zip membersMatching: 'dependencies/*') collect: [:m | self extractDependencyFrom: m].
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   137
	dependencies := dependencies asArray.
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   138
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
loadPackage
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
	| dict |
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   143
	dict := self parseMember: 'package'.
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   144
	package := MCPackage named: (dict at: #name)
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
loadVersionInfo
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   148
	info := self extractInfoFrom: (self parseMember: 'version')
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
parseMember: fileName
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   152
	| tokens |
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   153
	tokens := (self scanner scanTokens: (self zip contentsOf: fileName)) first.
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   154
	^ self associate: tokens
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
scanner
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
	^ MCScanner
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
zip
483
58521a30b56f changed: #zip
Claus Gittinger <cg@exept.de>
parents: 307
diff changeset
   162
        (zip isNil or:[zip fileSize == 0]) ifTrue:[
58521a30b56f changed: #zip
Claus Gittinger <cg@exept.de>
parents: 307
diff changeset
   163
            zip := ZipArchive readingFrom:stream
58521a30b56f changed: #zip
Claus Gittinger <cg@exept.de>
parents: 307
diff changeset
   164
        ].
58521a30b56f changed: #zip
Claus Gittinger <cg@exept.de>
parents: 307
diff changeset
   165
        ^ zip
58521a30b56f changed: #zip
Claus Gittinger <cg@exept.de>
parents: 307
diff changeset
   166
58521a30b56f changed: #zip
Claus Gittinger <cg@exept.de>
parents: 307
diff changeset
   167
    "Modified: / 07-09-2011 / 14:55:18 / cg"
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
! !
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
!MCMczReader class methodsFor:'documentation'!
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
version
913
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   173
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCMczReader.st,v 1.8 2014-02-12 17:30:06 cg Exp $'
141
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
   174
!
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
   175
0f1d8459da84 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 32
diff changeset
   176
version_CVS
913
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   177
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCMczReader.st,v 1.8 2014-02-12 17:30:06 cg Exp $'
208
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   178
!
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   179
0682c2d1c787 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 141
diff changeset
   180
version_SVN
913
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   181
    ^ '$Id: MCMczReader.st,v 1.8 2014-02-12 17:30:06 cg Exp $'
32
1bd0dbe2a6c7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
! !
913
224fedf76aa7 class: MCMczReader
Claus Gittinger <cg@exept.de>
parents: 638
diff changeset
   183