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