SVN__FileoutLikeTask.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 01 Oct 2011 13:18:45 +0200
changeset 864 a3f4f2493928
parent 757 29a88a31c30c
child 928 9ea99e93f542
permissions -rw-r--r--
checkin to get version methods correct
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     1
"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     4
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     6
 obtaining a copy of this software and associated documentation
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     7
 files (the 'Software'), to deal in the Software without
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     8
 restriction, including without limitation the rights to use,
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    10
 copies of the Software, and to permit persons to whom the
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    11
 Software is furnished to do so, subject to the following
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    12
 conditions:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    13
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    14
 The above copyright notice and this permission notice shall be
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    15
 included in all copies or substantial portions of the Software.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    16
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    25
"
409
c7554f1f7a93 *** empty log message ***
fm
parents: 302
diff changeset
    26
"{ Package: 'stx:libsvn' }"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    27
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    28
"{ NameSpace: SVN }"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    29
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
    30
Task subclass:#FileoutLikeTask
250
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    31
	instanceVariableNames:'packageClassesChanged packageExtensionsChanged extensionMethods'
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    32
	classVariableNames:''
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    33
	poolDictionaries:''
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    34
	category:'SVN-Tasks'
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    35
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    36
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    37
!FileoutLikeTask class methodsFor:'documentation'!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    38
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    39
copyright
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    40
"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    41
 Copyright (c) 2007-2010 Jan Vrany
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    42
 Copyright (c) 2009-2010 eXept Software AG
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    43
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    45
 obtaining a copy of this software and associated documentation
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    46
 files (the 'Software'), to deal in the Software without
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    47
 restriction, including without limitation the rights to use,
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    49
 copies of the Software, and to permit persons to whom the
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    50
 Software is furnished to do so, subject to the following
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    51
 conditions:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    52
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    53
 The above copyright notice and this permission notice shall be
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    54
 included in all copies or substantial portions of the Software.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    55
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    64
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    65
"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    66
! !
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    67
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    68
!FileoutLikeTask class methodsFor:'others'!
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    69
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    70
version_CVS
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    71
    ^ '$Header$'
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    72
! !
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    73
250
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    74
!FileoutLikeTask methodsFor:'accessing'!
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    75
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    76
extensionMethods
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    77
    ^ extensionMethods
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    78
!
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    79
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    80
extensionMethods:aCollection"of Methods"
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    81
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    82
    extensionMethods := aCollection.
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    83
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    84
    "Modified: / 14-05-2009 / 13:38:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    85
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    86
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    87
filesToGenerate
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    88
    ^ self packageDefinition fileNamesToGenerate keys
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    89
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    90
    "
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    91
        SVN::CommitTask new
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    92
            package: #stx:libsvn;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    93
            buildSupportFiles"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    94
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    95
    "Created: / 27-11-2009 / 11:29:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    96
    "Modified: / 17-11-2010 / 14:08:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    97
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    98
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    99
packageDefinition
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   100
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   101
    ^self workingCopy packageDefinition
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   102
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   103
    "Created: / 27-11-2009 / 11:27:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
250
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
   104
! !
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
   105
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   106
!FileoutLikeTask methodsFor:'executing - private'!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   107
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   108
doAddNewContainers
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   109
    |filesAndDirsToAdd filesToAdd containers|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   110
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   111
    ActivityNotification notify:'Adding new containers'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   112
    containers := self isSelectiveFileoutTask ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   113
                #()
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   114
            ] ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   115
                self containersToFileOut
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   116
            ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   117
    filesAndDirsToAdd := ((StatusCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   118
                workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   119
                paths:containers;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   120
                execute) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   121
                    select:[:wcEntry | wcEntry status isUnversioned ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   122
                    thenCollect:[:wcEntry | wcEntry path ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   123
    filesToAdd := filesAndDirsToAdd select:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   124
        [:fname|(workingCopy path / fname) isDirectory not].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   125
    filesAndDirsToAdd isEmpty ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   126
        packageClassesChanged := true.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   127
        (AddCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   128
            workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   129
            paths:filesAndDirsToAdd;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   130
            execute.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   131
    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   132
    filesToAdd isEmpty ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   133
        (PropsetCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   134
            workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   135
            name:'svn:keywords';
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   136
            value:'Id HeadURL';
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   137
            paths:containers;
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   138
            execute.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   139
        (PropsetCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   140
            workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   141
            name:'svn:eol-style';
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   142
            value:'LF';
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   143
            paths:containers;
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   144
            execute
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   145
    ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   146
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   147
    "Created: / 11-04-2008 / 10:58:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   148
    "Modified: / 19-08-2009 / 14:00:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   149
    "Modified: / 29-09-2011 / 11:47:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   150
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   151
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   152
doCompileCopyrightMethods
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   153
    | klasses source |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   154
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   155
    (self packageDefinition class includesSelector: #copyright) ifFalse:[^self].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   156
    ActivityNotification notify:'Compiling #copyright methods...'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   157
    klasses := self classesToFileOut asArray.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   158
    source := (self packageDefinition class compiledMethodAt: #copyright) source.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   159
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   160
    klasses 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   161
        withIndexDo:[:cls :index | 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   162
            |metaCls|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   163
            metaCls := cls theMetaclass.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   164
            (((metaCls includesSelector:#copyright) not) and:[metaCls programmingLanguage isSmalltalk])
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   165
                ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   166
                    metaCls compile:source classified:'documentation'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   167
                    (metaCls compiledMethodAt:#copyright) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   168
                        setPackage:self package asSymbol
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   169
                    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   170
            ProgressNotification 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   171
                notify:('Compiling %1 (%2)' bindWith:#copyright
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   172
                        with:cls nameWithoutPrefix)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   173
                progress:(klasses size / 100) * index.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   174
        ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   175
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   176
    "Modified: / 16-08-2009 / 12:59:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   177
    "Created: / 08-04-2010 / 14:31:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   178
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   179
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   180
doCompileVersionMethods
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   181
    |klasses versionMethodName|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   182
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   183
    versionMethodName := SVNSourceCodeManager nameOfVersionMethodInClasses.
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   184
    ActivityNotification notify:'Compiling #version methods...'.
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   185
    klasses := self classesToFileOut asArray.
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   186
    klasses 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   187
        withIndexDo:[:cls :index | 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   188
            |metaCls|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   189
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   190
            metaCls := cls theMetaclass.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   191
            ((metaCls includesSelector:versionMethodName) not 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   192
                or:[ ((cls perform:versionMethodName asSymbol) startsWith:'$Id') not ]) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   193
                    ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   194
                        metaCls compile:(metaCls 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   195
                                    versionMethodTemplateForSourceCodeManager:SVNSourceCodeManager)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   196
                            classified:'documentation'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   197
                        (metaCls compiledMethodAt:versionMethodName) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   198
                            setPackage:self package asSymbol
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   199
                    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   200
            SourceCodeManagerUtilities ensureCorrectVersionMethodsInClass: cls using: SVNSourceCodeManager.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   201
            ProgressNotification 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   202
                notify:('Compiling %1 (%2)' bindWith:versionMethodName
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   203
                        with:cls nameWithoutPrefix)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   204
                progress:(klasses size / 100) * index.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   205
        ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   206
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   207
    "Created: / 28-05-2008 / 07:43:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   208
    "Modified: / 16-08-2009 / 12:59:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   209
    "Modified: / 24-11-2009 / 12:48:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   210
    "Modified: / 07-07-2011 / 20:15:21 / jv"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   211
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   212
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   213
doFileOutAll
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   214
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   215
    self
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   216
        doInitStateVariables;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   217
        doCompileVersionMethods;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   218
        doCompileCopyrightMethods;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   219
        doCompileSvnRevisionNrMethod:false;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   220
        doCompileSvnRepositoryUrlStringMethod;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   221
        doRenameContainers;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   222
        doFileOutPackageClasses;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   223
        doFileOutPackageExtensions;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   224
        doAddNewContainers;
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   225
        doRemoveOldContainers;
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   226
        doUpdateProjectDefinition;
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   227
        doUpdateBuildSupportFiles.
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   228
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   229
    "Created: / 17-08-2009 / 18:28:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   230
    "Modified: / 09-08-2011 / 09:28:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   231
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   232
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   233
doFileOutPackageClasses
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   234
    |klasses|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   235
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   236
    ActivityNotification notify:'Filing out package classes'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   237
    klasses := self classesToFileOut asArray.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   238
    klasses 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   239
        withIndexDo:[:cls :index | 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   240
            |clsStream|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   241
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   242
            ProgressNotification notify:'Filing out ' , cls nameWithoutPrefix
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   243
                progress:(100 / klasses size) * index.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   244
            (self shouldFileOutClass:cls) ifTrue:[self workingCopy fileOutClass: cls]]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   245
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   246
    "Created: / 11-04-2008 / 10:58:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   247
    "Modified: / 19-08-2009 / 13:44:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   248
    "Modified: / 30-12-2009 / 19:05:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   249
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   250
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   251
doFileOutPackageExtensions
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   252
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   253
    self extensionMethodsToFileOut isEmpty ifTrue:[^self].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   254
    self workingCopy fileOutExtensions: self extensionMethodsToFileOut
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   255
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   256
    "Modified: / 07-04-2008 / 08:37:25 / janfrog"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   257
    "Created: / 11-04-2008 / 10:58:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   258
    "Modified: / 14-05-2009 / 13:37:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   259
    "Modified: / 30-12-2009 / 19:06:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   260
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   261
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   262
doInitStateVariables
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   263
    packageClassesChanged := self workingCopy packageClassesChanged.
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   264
    packageExtensionsChanged := self workingCopy packageExtensionsChanged.
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   265
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   266
    "Created: / 17-06-2009 / 10:17:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   267
    "Modified: / 13-08-2009 / 10:18:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   268
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   269
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   270
doRemoveOldContainers
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   271
    |containers containersToKeep containersToDelete|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   272
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   273
    self isSelectiveFileoutTask ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   274
        ^ self
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   275
    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   276
    ActivityNotification notify:'Removing old containers'.
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   277
    containers := self workingCopy containers.
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   278
    containersToKeep := self workingCopy containersToKeep.
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   279
    containersToDelete := containers \ containersToKeep.
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   280
    containersToDelete isEmpty ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   281
        packageClassesChanged := true.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   282
        (DeleteCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   283
            workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   284
            paths:containersToDelete;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   285
            execute
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   286
    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   287
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   288
    "Created: / 11-04-2008 / 11:00:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   289
    "Modified: / 19-08-2009 / 15:03:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   290
    "Modified: / 08-08-2011 / 14:33:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   291
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   292
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   293
doRenameContainerForClassNamed: new using: renames language: lang
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   294
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   295
    | old oldC newC |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   296
    old := renames at: new.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   297
    (renames includesKey: old) ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   298
        self doRenameContainerForClassNamed: old using: renames language: lang.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   299
    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   300
    oldC := (SVN::Repository containerNameWithoutSuffixForClassNamed: old) , '.' , lang sourceFileSuffix.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   301
    newC := (SVN::Repository containerNameWithoutSuffixForClassNamed: new) , '.' , lang sourceFileSuffix.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   302
    (workingCopy containerFilenameFor: oldC) exists ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   303
        packageClassesChanged := true.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   304
        MoveCommand new
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   305
            workingCopy: workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   306
            src: oldC;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   307
            dst: newC;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   308
            execute.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   309
    ].
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   310
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   311
    "Created: / 11-04-2008 / 11:00:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   312
    "Modified: / 19-08-2009 / 15:03:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   313
    "Created: / 06-08-2011 / 21:33:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   314
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   315
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   316
doRenameContainers
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   317
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   318
    | renames |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   319
    renames := Dictionary new.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   320
    ChangeSet current do:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   321
                [:chg|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   322
                chg isClassRenameChange ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   323
                    renames at: chg className put: chg oldName.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   324
                ]].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   325
    self classesToFileOut do:[:cls|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   326
        (renames includesKey: cls name) ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   327
            self doRenameContainerForClassNamed: cls name using: renames language: cls programmingLanguage.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   328
        ]        
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   329
    ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   330
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   331
    "Created: / 11-04-2008 / 11:00:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   332
    "Modified: / 19-08-2009 / 15:03:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   333
    "Created: / 06-08-2011 / 21:13:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   334
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   335
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   336
doUpdateBuildSupportFiles
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   337
    |pkgDef|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   338
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   339
    (self isSelectiveFileoutTask and:[packageClassesChanged not]) ifTrue:[
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   340
        ^self.
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   341
    ].
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   342
    ActivityNotification notify:'Updating build files'.
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   343
    pkgDef := self workingCopy packageDefinition.
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   344
    self filesToGenerate do:[:supportFileName | 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   345
        |supportFile stream|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   346
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   347
        supportFile := workingCopy path / supportFileName.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   348
        (packageClassesChanged or:[ supportFile exists not ]) ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   349
            ActivityNotification notify:'Updating ' , supportFileName.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   350
            [
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   351
                supportFile directory exists ifFalse:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   352
                    [supportFile directory makeDirectory].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   353
                stream := supportFile writeStream.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   354
                stream nextPutAll:(self for: pkgDef generateFile:supportFileName)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   355
            ] ensure:[ stream ifNotNil:[ stream close ] ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   356
        ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   357
    ].
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   358
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   359
    "Created: / 20-06-2009 / 16:01:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   360
    "Modified: / 21-06-2009 / 15:18:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   361
    "Modified: / 15-09-2011 / 12:00:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   362
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   363
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   364
doUpdateProjectDefinition
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   365
    |prjClass|
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   366
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   367
    (packageClassesChanged | packageExtensionsChanged) ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   368
        ^ self
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   369
    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   370
    ActivityNotification notify:'Updating project definition'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   371
    prjClass := Smalltalk 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   372
                at:(ProjectDefinition initialClassNameForDefinitionOf:self package) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   373
                        asSymbol.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   374
    prjClass 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   375
        ifNotNil:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   376
            Class packageQuerySignal answer:prjClass package
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   377
                do:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   378
                    prjClass theNonMetaclass 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   379
                        forEachContentsMethodsCodeToCompileDo:[:code :category |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   380
                            (code startsWith: 'excludedFromPreRequisites')
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   381
                                ifFalse:[prjClass theMetaclass compile:code classified:category]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   382
                        ]
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   383
                        ignoreOldEntries: false
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   384
                        ignoreOldDefinition: false
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   385
                ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   386
        ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   387
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   388
    "Created: / 11-04-2008 / 11:01:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   389
    "Modified: / 13-08-2009 / 09:13:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   390
    "Modified: / 28-09-2011 / 17:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   391
! !
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   392
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   393
!FileoutLikeTask methodsFor:'private'!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   394
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   395
classesToFileOut
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   396
    ^ self workingCopy packageClassesFiltered:
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   397
	    [:class |
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   398
	    class isLoaded and: [ classes isNil or: [ classes includes: class ] ] ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   399
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   400
    "Created: / 23-03-2009 / 12:08:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   401
    "Modified: / 11-06-2009 / 18:17:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   402
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   403
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   404
containersToFileOut
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   405
    | containers extensions |
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   406
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   407
    containers := self classesToFileOut
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   408
                collect: [:class | self repository containerNameForClass: class ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   409
    (extensions := self extensionMethodsToFileOut) notEmpty ifTrue:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   410
        [| languages |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   411
        languages :=  (extensions collect:[:each|each programmingLanguage]) asSet.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   412
        languages do:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   413
            [:lang|containers add: (Repository containerNameForExtensions: lang)]].
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   414
    ^ containers
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   415
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   416
    "Created: / 14-05-2009 / 11:35:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   417
    "Modified: / 30-12-2009 / 22:05:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   418
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   419
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   420
extensionMethodsToFileOut
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   421
    ^ self workingCopy packageExtensionsFiltered:
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   422
	    [:mth |
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   423
	    extensionMethods isNil or: [ extensionMethods includes: mth ] ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   424
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   425
    "Created: / 14-05-2009 / 11:32:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   426
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   427
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   428
for: def generateFile: file
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   429
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   430
    | contents savedClassFilenames |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   431
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   432
        
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   433
    file ~= 'abbrev.stc' ifTrue:[^def generateFile: file].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   434
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   435
    "Yet another kludge to trick Smalltalk>>fileNameForClass:, sigh"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   436
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   437
    savedClassFilenames := Dictionary new.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   438
    (def searchForClasses reject:[:e|e owningClass notNil]) do:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   439
        [:cls|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   440
        savedClassFilenames 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   441
            at: cls
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   442
            put: cls getClassFilename.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   443
        cls setClassFilename: (SVN::Repository containerNameForClass: cls)].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   444
    contents := def generateFile: file.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   445
    savedClassFilenames keysAndValuesDo:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   446
        [:cls :classFileName|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   447
        cls setClassFilename: classFileName].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   448
    ^contents
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   449
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   450
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   451
shouldFileOutClass: class
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   452
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   453
    "Do not fileout autoloaded classes,
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   454
    they are untouched"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   455
    class isLoaded ifFalse:[^false].
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   456
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   457
    class theNonMetaclass
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   458
        methodsDo:[:mth|(self shouldFileOutMethod: mth) ifTrue:[^true]].
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   459
    class theMetaclass
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   460
        methodsDo:[:mth|(self shouldFileOutMethod: mth) ifTrue:[^true]].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   461
    class privateClasses 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   462
        do:[:cls|(self shouldFileOutClass: cls) ifTrue:[^true]].
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   463
    ^false
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   464
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   465
    "
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   466
        CommitTask basicNew
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   467
            package: #'stx:libsvn';
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   468
            shouldFileOutClass: CommitTask
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   469
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   470
        CommitTask basicNew
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   471
            package: #'stx:libbasic';
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   472
            shouldFileOutClass: Object
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   473
    "
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   474
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   475
    "Created: / 24-06-2009 / 19:04:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   476
    "Modified: / 19-08-2009 / 13:54:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   477
    "Modified: / 10-12-2010 / 00:22:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   478
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   479
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   480
shouldFileOutMethod: mth
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   481
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   482
    ^mth package = package and:
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   483
	[mth getSourcePosition isNil]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   484
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   485
    "
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   486
	CommitTask basicNew
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   487
            package: #'stx:libsvn';
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   488
	    shouldFileOutMethod: (CommitTask >> #shouldFileOutMethod:)
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   489
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   490
	CommitTask basicNew
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   491
	    package: #'stx:libbasic';
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   492
	    shouldFileOutMethod: (Object >> #yourself)
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   493
    "
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   494
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   495
    "Created: / 24-06-2009 / 19:07:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   496
! !
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   497
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   498
!FileoutLikeTask methodsFor:'queries'!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   499
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   500
isSelectiveFileoutTask
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   501
    ^ classes notNil or: [ extensionMethods notNil ]
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   502
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   503
    "Created: / 14-05-2009 / 13:24:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   504
! !
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   505
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   506
!FileoutLikeTask class methodsFor:'documentation'!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   507
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   508
version
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   509
    ^ '$Header$'
226
9c8934e12ff6 changed: #version_SVN
fm
parents: 55
diff changeset
   510
!
9c8934e12ff6 changed: #version_SVN
fm
parents: 55
diff changeset
   511
9c8934e12ff6 changed: #version_SVN
fm
parents: 55
diff changeset
   512
version_SVN
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   513
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   514
    ^ '§Id: SVN__FileoutLikeTask.st 372 2011-09-29 10:47:58Z vranyj1 §'
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   515
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   516
! !