CypressPackage.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 18 Sep 2012 13:49:14 +0000
changeset 20 cdf3ee8ceeaa
parent 17 d387df3d4e46
permissions -rw-r--r--
- fixes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/cypress' }"
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
CypressModel subclass:#CypressPackage
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:'definition comment classes extensions'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'Cypress-New-Model'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!CypressPackage class methodsFor:'instance creation'!
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
13
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    13
fromDirectory: directory
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    14
    "Reads a CypressPackage from given directory"
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    15
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    16
    ^self new initializeFromDirectory: directory
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    17
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    18
    "Created: / 13-09-2012 / 15:34:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    19
!
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    20
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
fromPackage: packageId
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    "Creates new CypressPackage for given package id"
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    ^self fromPackageDefinition: (ProjectDefinition definitionClassForPackage: packageId createIfAbsent: true).
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    "Created: / 10-09-2012 / 23:34:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
!
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
fromPackageDefinition: projectDefinition
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    ^self new initializeFromPackageDefinition: projectDefinition
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    "Created: / 10-09-2012 / 23:34:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
! !
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
!CypressPackage methodsFor:'accessing'!
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
classes
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
    classes isNil ifTrue:[
17
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    41
        classes := OrderedCollection new.
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    ].
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    ^classes
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    "Created: / 10-09-2012 / 23:45:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
!
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
14
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    48
comment
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    49
    ^ comment
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    50
!
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    51
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    52
comment:something
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    53
    comment := something.
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    54
!
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    55
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    56
definition
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    57
    ^ definition
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    58
!
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    59
12
ec118792047a - Package writing rewritten to use new model. Writes package according to recent spec.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    60
extensions
ec118792047a - Package writing rewritten to use new model. Writes package according to recent spec.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    61
ec118792047a - Package writing rewritten to use new model. Writes package according to recent spec.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    62
    extensions isNil ifTrue:[
17
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    63
        extensions := OrderedCollection new.   
12
ec118792047a - Package writing rewritten to use new model. Writes package according to recent spec.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    64
    ].
ec118792047a - Package writing rewritten to use new model. Writes package according to recent spec.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    65
    ^extensions
ec118792047a - Package writing rewritten to use new model. Writes package according to recent spec.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    66
ec118792047a - Package writing rewritten to use new model. Writes package according to recent spec.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    67
    "Created: / 11-09-2012 / 11:03:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
! !
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
17
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    70
!CypressPackage methodsFor:'converting'!
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    71
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    72
asChange
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    73
    "superclass CypressModel says that I am responsible to implement this method"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    74
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    75
    ^ self shouldNotImplement
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    76
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    77
    "Modified: / 18-09-2012 / 10:54:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    78
! !
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    79
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
!CypressPackage methodsFor:'initialization'!
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
initializeFromPackageDefinition: projectDefinition
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    definition := projectDefinition.
13
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    84
    name := projectDefinition package asString.
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    properties := Dictionary new.
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    properties 
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
        at: '_cypress_copyright' put: (definition legalCopyright);
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
        at: '_stx_name' put: name.
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
17
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    91
    classes := definition classes collect:[:cls|CypressClass fromClass: cls].
20
cdf3ee8ceeaa - fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    92
    extensions := definition extensionMethods collect:[:mthd|CypressMethod fromMethod: mthd].
17
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    93
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    "Created: / 10-09-2012 / 23:35:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
! !
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
17
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    97
!CypressPackage methodsFor:'private'!
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    98
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    99
changesInto:aChangeSet
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   100
    "superclass CypressModel says that I am responsible to implement this method"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   101
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   102
    self classes do:[:each|each changesInto: aChangeSet].
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   103
    self extensions do:[:each|each changesInto: aChangeSet].
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   104
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   105
    "Modified: / 18-09-2012 / 10:57:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   106
! !
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   107
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
!CypressPackage class methodsFor:'documentation'!
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
version_SVN
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
    ^ '$Id::                                                                                                                        $'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
! !