stx_goodies_cypress.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 18 Sep 2012 13:49:14 +0000
changeset 20 cdf3ee8ceeaa
parent 15 31a33727c629
child 22 9086d6f7096a
permissions -rw-r--r--
- fixes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     1
"{ Package: 'stx:goodies/cypress' }"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     2
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     3
LibraryDefinition subclass:#stx_goodies_cypress
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     4
	instanceVariableNames:''
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     5
	classVariableNames:''
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     6
	poolDictionaries:''
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     7
	category:'* Projects & Packages *'
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     8
!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
     9
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    10
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    11
!stx_goodies_cypress class methodsFor:'description'!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    12
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    13
excludedFromPreRequisites
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    14
    "list all packages which should be ignored in the automatic
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    15
     preRequisites scan. See #preRequisites for more."
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    16
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    17
    ^ #(
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    18
    )
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    19
!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    20
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    21
preRequisites
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    22
    "list all required packages.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    23
     This list can be maintained manually or (better) generated and
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    24
     updated by scanning the superclass hierarchies and looking for
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    25
     global variable accesses. (the browser has a menu function for that)
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    26
     Howevery, often too much is found, and you may want to explicitely
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    27
     exclude individual packages in the #excludedFromPrerequisites method."
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    28
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    29
    ^ #(
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    30
        #'exept:expecco'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    31
        #'exept:expecco/manifestApi'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    32
        #'exept:expecco/reportGenerator'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    33
        #'exept:httpPortal/widgets'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    34
        #'exept:libcrypt'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    35
        #'exept:osi/asn1'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    36
        #'exept:workflow'
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    37
        #'stx:goodies/monticello'
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    38
        #'stx:goodies/simpleServices'
15
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    39
        #'stx:goodies/sunit'
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    40
        #'stx:goodies/webServer'
15
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    41
        #'stx:libbasic'    "Object - superclass of CypressJSONReader "
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    42
        #'stx:libbasic2'
15
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    43
        #'stx:libbasic3'
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    44
        #'stx:libcomp'
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    45
        #'stx:libcompat'
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    46
        #'stx:libdb/libodbc'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    47
        #'stx:libdb/libsqlite'
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    48
        #'stx:libhtml'
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    49
        #'stx:libtool'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    50
        #'stx:libtool2'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    51
        #'stx:libview'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    52
        #'stx:libview2'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    53
        #'stx:libwidg'
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    54
        #'stx:libwidg2'
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    55
    )
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    56
! !
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    57
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    58
!stx_goodies_cypress class methodsFor:'description - contents'!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    59
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    60
classNamesAndAttributes
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    61
    "lists the classes which are to be included in the project.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    62
     Each entry in the list may be: a single class-name (symbol),
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    63
     or an array-literal consisting of class name and attributes.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    64
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    65
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    66
    ^ #(
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    67
        "<className> or (<className> attributes...) in load order"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    68
        #'stx_goodies_cypress'
15
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    69
        CypressAbstractReaderWriter
11
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    70
        CypressModel
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    71
        CypressClass
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    72
        CypressMethod
333528cd629a - Cypress refactoring - towards a lot simpler code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    73
        CypressPackage
13
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    74
        CypressRepository
14
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    75
        CypressAbstractWriter
d5b81c30785e - CypressWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    76
        CypressWriter
15
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    77
        CypressJSONReader
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    78
        CypressAbstractReader
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    79
        CypressFileTreeReader
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14
diff changeset
    80
        CypressReader
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    81
    )
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    82
!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    83
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    84
extensionMethodNames
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    85
    "lists the extension methods which are to be included in the project.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    86
     Entries are 2-element array literals, consisting of class-name and selector."
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    87
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    88
    ^ #(
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    89
        CharacterArray withLineEndings:
8a5b7afa28ff - First shot
jv
parents:
diff changeset
    90
        'CharacterArray class' lfString
2
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    91
        Array asCypressPropertyObject
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    92
        Array writeCypressJsonOn:forHtml:indent:
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    93
        Boolean writeCypressJsonOn:forHtml:indent:
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    94
        Character isSafeForHTTP
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    95
        Class asCypressClassDefinition
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    96
        Dictionary asCypressPropertyObject
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    97
        Dictionary writeCypressJsonOn:forHtml:indent:
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    98
        Number writeCypressJsonOn:forHtml:indent:
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
    99
        Object asCypressPropertyObject
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   100
        String asCypressPropertyObject
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   101
        String encodeForHTTP
a26b35650f67 - CypressMethodStructure
jv
parents: 1
diff changeset
   102
        String writeCypressJsonOn:forHtml:indent:
3
9a409f9edb67 - CypressSnapshotTest
jv
parents: 2
diff changeset
   103
        Method asCypressMethodDefinition
10
8750ae5ef93f - some fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   104
        'ConfigurableFeatures class' hasCypress
13
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   105
        PackageId asCypressPackage
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   106
        Symbol asCypressPackage
f90704544ca0 More refactoring
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   107
        'ProjectDefinition class' asCypressPackage
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   108
    )
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   109
! !
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   110
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   111
!stx_goodies_cypress class methodsFor:'description - project information'!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   112
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   113
applicationIconFileName
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   114
    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   115
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   116
    ^ nil
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   117
    "/ ^ self applicationName
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   118
!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   119
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   120
companyName
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   121
    "Return a companyname which will appear in <lib>.rc"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   122
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
   123
    ^ 'Jan Vrany'
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
   124
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
   125
    "Modified: / 11-09-2012 / 11:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   126
!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   127
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   128
description
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   129
    "Return a description string which will appear in vc.def / bc.def"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   130
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
   131
    ^ 'Cypress Package Format Reader/Writer'
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
   132
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
   133
    "Modified: / 11-09-2012 / 11:54:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   134
!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   135
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   136
legalCopyright
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   137
    "Return a copyright string which will appear in <lib>.rc"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   138
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
   139
    ^ 'Copyright Jan Vrany & Dale Henrichs 2012'
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
   140
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
   141
    "Modified: / 11-09-2012 / 11:54:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   142
!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   143
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   144
productInstallDirBaseName
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   145
    "Returns a default installDir which will appear in <app>.nsi.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   146
     This is usually not the one you want to keep"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   147
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   148
    ^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   149
!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   150
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   151
productName
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   152
    "Return a product name which will appear in <lib>.rc"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   153
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
   154
    ^ 'Cypress'
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
   155
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
   156
    "Modified: / 11-09-2012 / 11:55:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   157
! !
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   158
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   159
!stx_goodies_cypress class methodsFor:'description - svn'!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   160
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   161
svnRepositoryUrlString
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   162
    "Return a SVN repository URL of myself.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   163
     (Generated since 2011-04-08)
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   164
     Do not make the string shorter!!!!!! We have to use fixed-length keyword!!!!!!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   165
    "        
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   166
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   167
    ^ '$URL::                                                                                                                        $'
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   168
!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   169
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   170
svnRevisionNr
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   171
    "Return a SVN revision number of myself.
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   172
     This number is updated after a commit"
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   173
20
cdf3ee8ceeaa - fixes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   174
    ^ "$SVN-Revision:"'18              '"$"
1
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   175
! !
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   176
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   177
!stx_goodies_cypress class methodsFor:'documentation'!
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   178
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   179
version_SVN
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   180
    ^ '$Id::                                                                                                                        $'
8a5b7afa28ff - First shot
jv
parents:
diff changeset
   181
! !