SVN__FileoutLikeTask.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 31 Jul 2014 11:02:40 +0200
changeset 1158 e674e7dd02b6
parent 1146 d91112be232d
child 1163 23b49381fcc1
permissions -rw-r--r--
Ignore Java classes that are part of Smalltalk/X package.
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
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
    31
	instanceVariableNames:'suppressClasses suppressExtensions suppresBuildSupportFiles
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
    32
		packageClassesChanged packageExtensionsChanged extensionMethods'
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    33
	classVariableNames:''
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    34
	poolDictionaries:''
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    35
	category:'SVN-Tasks'
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    36
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    37
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    38
!FileoutLikeTask class methodsFor:'documentation'!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    39
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    40
copyright
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    41
"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    42
 Copyright (c) 2007-2010 Jan Vrany
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    43
 Copyright (c) 2009-2010 eXept Software AG
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    44
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    45
 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
    46
 obtaining a copy of this software and associated documentation
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    47
 files (the 'Software'), to deal in the Software without
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    48
 restriction, including without limitation the rights to use,
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    49
 copy, modify, merge, publish, distribute, sublicense, and/or sell
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    50
 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
    51
 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
    52
 conditions:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    53
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    54
 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
    55
 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
    56
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    57
 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
    58
 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
    59
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    60
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    61
 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
    62
 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
    63
 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
    64
 OTHER DEALINGS IN THE SOFTWARE.
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
"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    67
! !
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
    68
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    69
!FileoutLikeTask class methodsFor:'others'!
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    70
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    71
version_CVS
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    72
    ^ '$Header$'
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    73
! !
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
    74
250
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    75
!FileoutLikeTask methodsFor:'accessing'!
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    76
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    77
extensionMethods
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    78
    ^ extensionMethods
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    79
!
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    80
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    81
extensionMethods:aCollection"of Methods"
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    82
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    83
    extensionMethods := aCollection.
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    84
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
    85
    "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
    86
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    87
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    88
filesToGenerate
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    89
    ^ self packageDefinition fileNamesToGenerate keys
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
    "
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    92
        SVN::CommitTask new
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    93
            package: #stx:libsvn;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    94
            buildSupportFiles"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    95
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    96
    "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
    97
    "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
    98
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
    99
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   100
packageDefinition
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   101
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   102
    ^self workingCopy packageDefinition
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   103
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   104
    "Created: / 27-11-2009 / 11:27:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   105
!
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   106
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   107
suppresBuildSupportFiles
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   108
    ^ suppresBuildSupportFiles
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   109
!
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   110
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   111
suppresBuildSupportFiles:something
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   112
    suppresBuildSupportFiles := something.
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   113
!
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   114
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   115
suppressClasses
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   116
    ^ suppressClasses
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   117
!
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   118
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   119
suppressClasses:aBoolean
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   120
    suppressClasses := aBoolean.
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   121
!
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   122
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   123
suppressExtensions
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   124
    ^ suppressExtensions
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   125
!
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   126
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   127
suppressExtensions:aBoolean
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   128
    suppressExtensions := aBoolean.
250
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
   129
! !
b6924d6c406b *** empty log message ***
fm
parents: 226
diff changeset
   130
1103
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   131
!FileoutLikeTask methodsFor:'executing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   132
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   133
doFileOut
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   134
    "Fileouts everything to the working copy"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   135
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   136
    self
1112
98ffcd3ba7fe changed: #doFileOut
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1103
diff changeset
   137
        doUpdateBuildSupportFiles;
1103
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   138
        doRenameContainers;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   139
        doFileOutPackageClasses;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   140
        doFileOutPackageExtensions;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   141
        doAddNewContainers;
1112
98ffcd3ba7fe changed: #doFileOut
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1103
diff changeset
   142
        doRemoveOldContainers.
1103
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   143
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   144
    "Created: / 10-05-2012 / 17:05:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   145
!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   146
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   147
doFileOutAll
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   148
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   149
    self
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   150
        doUpdateCode;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   151
        doFileOut.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   152
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   153
    "Created: / 17-08-2009 / 18:28:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   154
    "Modified: / 10-05-2012 / 17:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   155
!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   156
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   157
doUpdateCode
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   158
    "Updates project definitions and compiles version/copyright methods"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   159
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   160
    self
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   161
        doInitStateVariables;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   162
        doCompileVersionMethods;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   163
        doCompileCopyrightMethods;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   164
        doCompileSvnRepositoryUrlStringMethod;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   165
        doCompileSvnRevisionNrMethod:false;
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   166
        doUpdateProjectDefinition.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   167
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   168
    "Created: / 10-05-2012 / 17:04:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   169
! !
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1084
diff changeset
   170
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   171
!FileoutLikeTask methodsFor:'executing - private'!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   172
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   173
doAddNewContainers
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   174
    |filesAndDirsToAdd filesToAdd containers|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   175
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   176
    ActivityNotification notify:'Adding new containers'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   177
    containers := self isSelectiveFileoutTask ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   178
                #()
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   179
            ] ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   180
                self containersToFileOut
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   181
            ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   182
    filesAndDirsToAdd := ((StatusCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   183
                workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   184
                paths:containers;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   185
                execute) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   186
                    select:[:wcEntry | wcEntry status isUnversioned ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   187
                    thenCollect:[:wcEntry | wcEntry path ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   188
    filesToAdd := filesAndDirsToAdd select:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   189
        [:fname|(workingCopy path / fname) isDirectory not].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   190
    filesAndDirsToAdd isEmpty ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   191
        packageClassesChanged := true.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   192
        (AddCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   193
            workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   194
            paths:filesAndDirsToAdd;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   195
            execute.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   196
    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   197
    filesToAdd isEmpty ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   198
        (PropsetCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   199
            workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   200
            name:'svn:keywords';
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   201
            value:'Id HeadURL';
1146
d91112be232d class: SVN::FileoutLikeTask
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1136
diff changeset
   202
            paths:filesToAdd;
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   203
            execute.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   204
        (PropsetCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   205
            workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   206
            name:'svn:eol-style';
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   207
            value:'LF';
1146
d91112be232d class: SVN::FileoutLikeTask
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1136
diff changeset
   208
            paths:filesToAdd;
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   209
            execute
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   210
    ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   211
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   212
    "Created: / 11-04-2008 / 10:58:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   213
    "Modified: / 19-08-2009 / 14:00:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
1146
d91112be232d class: SVN::FileoutLikeTask
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1136
diff changeset
   214
    "Modified: / 04-03-2014 / 16:49:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   215
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   216
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   217
doCompileCopyrightMethods
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   218
    | klasses source |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   219
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   220
    (self packageDefinition class includesSelector: #copyright) ifFalse:[^self].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   221
    ActivityNotification notify:'Compiling #copyright methods...'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   222
    klasses := self classesToFileOut asArray.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   223
    source := (self packageDefinition class compiledMethodAt: #copyright) source.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   224
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   225
    klasses 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   226
        withIndexDo:[:cls :index | 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   227
            |metaCls|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   228
            metaCls := cls theMetaclass.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   229
            (((metaCls includesSelector:#copyright) not) and:[metaCls programmingLanguage isSmalltalk])
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   230
                ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   231
                    metaCls compile:source classified:'documentation'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   232
                    (metaCls compiledMethodAt:#copyright) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   233
                        setPackage:self package asSymbol
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   234
                    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   235
            ProgressNotification 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   236
                notify:('Compiling %1 (%2)' bindWith:#copyright
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   237
                        with:cls nameWithoutPrefix)
1051
ce27ce3ab6c1 Fixes in progress notifications
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 958
diff changeset
   238
                progress:(100 / klasses size) * index.
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   239
        ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   240
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   241
    "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
   242
    "Created: / 08-04-2010 / 14:31:40 / 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
doCompileVersionMethods
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   246
    |klasses versionMethodName|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   247
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   248
    versionMethodName := SVNSourceCodeManager nameOfVersionMethodInClasses.
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   249
    ActivityNotification notify:'Compiling #version methods...'.
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   250
    klasses := self classesToFileOut asArray.
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   251
    klasses 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   252
        withIndexDo:[:cls :index | 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   253
            |metaCls|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   254
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   255
            metaCls := cls theMetaclass.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   256
            ((metaCls includesSelector:versionMethodName) not 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   257
                or:[ ((cls perform:versionMethodName asSymbol) startsWith:'$Id') not ]) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   258
                    ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   259
                        metaCls compile:(metaCls 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   260
                                    versionMethodTemplateForSourceCodeManager:SVNSourceCodeManager)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   261
                            classified:'documentation'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   262
                        (metaCls compiledMethodAt:versionMethodName) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   263
                            setPackage:self package asSymbol
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   264
                    ].
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   265
            SVNSourceCodeManager utilities ensureCorrectVersionMethodsInClass: cls usingManager: SVNSourceCodeManager.
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   266
            ProgressNotification 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   267
                notify:('Compiling %1 (%2)' bindWith:versionMethodName
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   268
                        with:cls nameWithoutPrefix)
1051
ce27ce3ab6c1 Fixes in progress notifications
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 958
diff changeset
   269
                progress:(100 / klasses size) * index.
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   270
        ].
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   271
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   272
    self extensionMethodsToFileOut notEmpty ifTrue:[
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   273
        | def |
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   274
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   275
        "TODO: Not programming language aware..."
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   276
        ((def := self packageDefinition) class includesSelector: SVNSourceCodeManager nameOfVersionMethodForExtensions) ifFalse:[
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   277
            def class 
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   278
                compile:
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   279
                    (SVNSourceCodeManager versionMethodTemplateForSmalltalkFor:SVNSourceCodeManager nameOfVersionMethodForExtensions)
1078
bdae84e9a790 fix doCompileVersionMethods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1051
diff changeset
   280
                classified: #documentation.
bdae84e9a790 fix doCompileVersionMethods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1051
diff changeset
   281
            (def class compiledMethodAt:SVNSourceCodeManager nameOfVersionMethodForExtensions) 
bdae84e9a790 fix doCompileVersionMethods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1051
diff changeset
   282
                setPackage:self package asSymbol
bdae84e9a790 fix doCompileVersionMethods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1051
diff changeset
   283
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   284
        ]
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   285
    ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   286
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   287
    "Created: / 28-05-2008 / 07:43:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   288
    "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
   289
    "Modified: / 07-07-2011 / 20:15:21 / jv"
1078
bdae84e9a790 fix doCompileVersionMethods
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1051
diff changeset
   290
    "Modified: / 28-03-2012 / 18:34:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   291
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   292
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   293
doFileOutPackageClasses
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   294
    |klasses|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   295
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   296
    suppressClasses == true ifTrue:[^self].
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   297
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   298
    ActivityNotification notify:'Filing out package classes'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   299
    klasses := self classesToFileOut asArray.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   300
    klasses 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   301
        withIndexDo:[:cls :index | 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   302
            |clsStream|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   303
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   304
            ProgressNotification notify:'Filing out ' , cls nameWithoutPrefix
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   305
                progress:(100 / klasses size) * index.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   306
            (self shouldFileOutClass:cls) ifTrue:[self workingCopy fileOutClass: cls]]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   307
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   308
    "Created: / 11-04-2008 / 10:58:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   309
    "Modified: / 19-08-2009 / 13:44:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   310
    "Modified: / 15-10-2011 / 20:14:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   311
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   312
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   313
doFileOutPackageExtensions
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   314
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   315
    suppressExtensions == true ifTrue:[^self].
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   316
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   317
    self extensionMethodsToFileOut isEmpty ifTrue:[^self].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   318
    self workingCopy fileOutExtensions: self extensionMethodsToFileOut
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   319
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   320
    "Modified: / 07-04-2008 / 08:37:25 / janfrog"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   321
    "Created: / 11-04-2008 / 10:58:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   322
    "Modified: / 14-05-2009 / 13:37:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   323
    "Modified: / 15-10-2011 / 20:14:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   324
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   325
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   326
doInitStateVariables
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   327
    packageClassesChanged := self workingCopy packageClassesChanged.
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   328
    packageExtensionsChanged := self workingCopy packageExtensionsChanged.
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   329
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   330
    "Created: / 17-06-2009 / 10:17:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   331
    "Modified: / 13-08-2009 / 10:18:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   332
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   333
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   334
doRemoveOldContainers
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   335
    |containers containersToKeep containersToDelete|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   336
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   337
    self isSelectiveFileoutTask ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   338
        ^ self
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   339
    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   340
    ActivityNotification notify:'Removing old containers'.
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   341
    containers := self workingCopy containers.
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   342
    containersToKeep := self workingCopy containersToKeep.
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   343
    containersToDelete := containers \ containersToKeep.
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   344
    containersToDelete isEmpty ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   345
        packageClassesChanged := true.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   346
        (DeleteCommand new)
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   347
            workingCopy:self workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   348
            paths:containersToDelete;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   349
            execute
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
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   352
    "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
   353
    "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
   354
    "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
   355
!
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
doRenameContainerForClassNamed: new using: renames language: lang
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   358
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   359
    | old oldC newC |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   360
    old := renames at: new.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   361
    (renames includesKey: old) ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   362
        self doRenameContainerForClassNamed: old using: renames language: lang.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   363
    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   364
    oldC := (SVN::Repository containerNameWithoutSuffixForClassNamed: old) , '.' , lang sourceFileSuffix.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   365
    newC := (SVN::Repository containerNameWithoutSuffixForClassNamed: new) , '.' , lang sourceFileSuffix.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   366
    (workingCopy containerFilenameFor: oldC) exists ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   367
        packageClassesChanged := true.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   368
        MoveCommand new
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   369
            workingCopy: workingCopy;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   370
            src: oldC;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   371
            dst: newC;
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   372
            execute.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   373
    ].
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   374
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   375
    "Created: / 11-04-2008 / 11:00:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   376
    "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
   377
    "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
   378
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   379
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   380
doRenameContainers
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   381
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   382
    | renames |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   383
    renames := Dictionary new.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   384
    ChangeSet current do:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   385
                [:chg|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   386
                chg isClassRenameChange ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   387
                    renames at: chg className put: chg oldName.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   388
                ]].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   389
    self classesToFileOut do:[:cls|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   390
        (renames includesKey: cls name) ifTrue:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   391
            self doRenameContainerForClassNamed: cls name using: renames language: cls programmingLanguage.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   392
        ]        
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   393
    ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   394
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   395
    "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
   396
    "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
   397
    "Created: / 06-08-2011 / 21:13:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   398
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   399
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   400
doUpdateBuildSupportFiles
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   401
    |pkgDef|
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   402
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   403
    suppresBuildSupportFiles == true ifTrue:[
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   404
        ^self.
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   405
    ].
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   406
1084
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   407
    pkgDef := self workingCopy packageDefinition.
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   408
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   409
    (self isSelectiveFileoutTask and:[packageClassesChanged not and:[(classes includes: pkgDef) not]]) ifTrue:[
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   410
        ^self.
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   411
    ].
1084
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   412
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   413
    ActivityNotification notify:'Updating build files'.
1084
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   414
    "First, generate files into a temporary files - so originals
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   415
     are not destroyed when something goes wrong."
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   416
    self filesToGenerate do:[:supportFileName | 
1084
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   417
        | supportFile |
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   418
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   419
        supportFile := workingCopy path / (supportFileName , '.tmp').
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   420
        (packageClassesChanged or:[ supportFile exists not ]) ifTrue:[
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   421
            ActivityNotification notify:'Updating ' , supportFileName.
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   422
            supportFile directory exists ifFalse: [supportFile directory makeDirectory].
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   423
            supportFile writingFileDo:[:s|
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   424
                    s nextPutAll:(self for: pkgDef generateFile:supportFileName)
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   425
            ]
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   426
        ]
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   427
    ].
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   428
    "Now, copy them over the old files"
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   429
    self filesToGenerate do:[:supportFileName |
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   430
        | supportFile supportFileTmp |
757
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
        supportFile := workingCopy path / supportFileName.
1084
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   433
        supportFileTmp := workingCopy path / (supportFileName , '.tmp').
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   434
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   435
        supportFileTmp moveTo: supportFile
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   436
    ].
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   437
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   438
    "Created: / 20-06-2009 / 16:01:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   439
    "Modified: / 21-06-2009 / 15:18:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
1084
4b5fb750d9fe changed: #doUpdateBuildSupportFiles
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1078
diff changeset
   440
    "Modified: / 29-03-2012 / 18:34:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   441
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   442
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   443
doUpdateProjectDefinition
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   444
    |prjClass|
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   445
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   446
    (packageClassesChanged | packageExtensionsChanged) ifFalse:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   447
        ^ self
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   448
    ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   449
    ActivityNotification notify:'Updating project definition'.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   450
    prjClass := Smalltalk 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   451
                at:(ProjectDefinition initialClassNameForDefinitionOf:self package) 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   452
                        asSymbol.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   453
    prjClass 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   454
        ifNotNil:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   455
            Class packageQuerySignal answer:prjClass package
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   456
                do:[
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   457
                    prjClass theNonMetaclass 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   458
                        forEachContentsMethodsCodeToCompileDo:[:code :category |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   459
                            (code startsWith: 'excludedFromPreRequisites')
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   460
                                ifFalse:[prjClass theMetaclass compile:code classified:category]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   461
                        ]
864
a3f4f2493928 checkin to get version methods correct
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 757
diff changeset
   462
                        ignoreOldEntries: false
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   463
                        ignoreOldDefinition: false
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   464
                ]
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   465
        ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   466
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   467
    "Created: / 11-04-2008 / 11:01:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   468
    "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
   469
    "Modified: / 28-09-2011 / 17:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   470
! !
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   471
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   472
!FileoutLikeTask methodsFor:'private'!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   473
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   474
classesToFileOut
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   475
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   476
    suppressClasses == true ifTrue:[^#()].
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   477
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   478
    ^ self workingCopy packageClassesFiltered:
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   479
            [:class |
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   480
            class isLoaded and: [ classes isNil or: [ classes includes: class ] ] ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   481
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   482
    "Created: / 23-03-2009 / 12:08:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   483
    "Modified: / 11-06-2009 / 18:17:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
958
de63d3808db8 Updated from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 928
diff changeset
   484
    "Modified: / 15-10-2011 / 20:15:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   485
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   486
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   487
containersToFileOut
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   488
    | containers extensions |
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   489
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   490
    containers := self classesToFileOut
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   491
                collect: [:class | self repository containerNameForClass: class ].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   492
    (extensions := self extensionMethodsToFileOut) notEmpty ifTrue:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   493
        [| languages |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   494
        languages :=  (extensions collect:[:each|each programmingLanguage]) asSet.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   495
        languages do:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   496
            [:lang|containers add: (Repository containerNameForExtensions: lang)]].
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   497
    ^ containers
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   498
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   499
    "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
   500
    "Modified: / 30-12-2009 / 22:05:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   501
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   502
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   503
extensionMethodsToFileOut
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   504
    ^ self workingCopy packageExtensionsFiltered:
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   505
	    [:mth |
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   506
	    extensionMethods isNil or: [ extensionMethods includes: mth ] ]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   507
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   508
    "Created: / 14-05-2009 / 11:32:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   509
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   510
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   511
for: def generateFile: file
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   512
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   513
    | contents savedClassFilenames |
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   514
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   515
        
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   516
    file ~= 'abbrev.stc' ifTrue:[^def generateFile: file].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   517
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   518
    "Yet another kludge to trick Smalltalk>>fileNameForClass:, sigh"
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   519
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   520
    savedClassFilenames := Dictionary new.
1158
e674e7dd02b6 Ignore Java classes that are part of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1146
diff changeset
   521
    (def searchForClasses reject:[:e|e owningClass notNil or:[e isJavaClass ] ]) do:
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   522
        [:cls|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   523
        savedClassFilenames 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   524
            at: cls
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   525
            put: cls getClassFilename.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   526
        cls setClassFilename: (SVN::Repository containerNameForClass: cls)].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   527
    contents := def generateFile: file.
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   528
    savedClassFilenames keysAndValuesDo:
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   529
        [:cls :classFileName|
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   530
        cls setClassFilename: classFileName].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   531
    ^contents
1158
e674e7dd02b6 Ignore Java classes that are part of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1146
diff changeset
   532
e674e7dd02b6 Ignore Java classes that are part of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1146
diff changeset
   533
    "Modified: / 30-07-2014 / 20:43:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   534
!
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   535
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   536
shouldFileOutClass: class
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   537
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   538
    "Do not fileout autoloaded classes,
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   539
    they are untouched"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   540
    class isLoaded ifFalse:[^false].
1158
e674e7dd02b6 Ignore Java classes that are part of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1146
diff changeset
   541
    class theNonMetaclass isJavaClass ifTrue:[ ^ false ].
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   542
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   543
    class theNonMetaclass
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   544
        methodsDo:[:mth|(self shouldFileOutMethod: mth) ifTrue:[^true]].
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   545
    class theMetaclass
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   546
        methodsDo:[:mth|(self shouldFileOutMethod: mth) ifTrue:[^true]].
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   547
    class privateClasses 
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   548
        do:[:cls|(self shouldFileOutClass: cls) ifTrue:[^true]].
1136
f9b7c94dbb9f class: SVN::FileoutLikeTask
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   549
f9b7c94dbb9f class: SVN::FileoutLikeTask
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   550
    (ChangeSet current includesChangeForClass:class) ifTrue:[ ^ true ].
f9b7c94dbb9f class: SVN::FileoutLikeTask
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   551
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   552
    ^false
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   553
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   554
    "
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   555
        CommitTask basicNew
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   556
            package: #'stx:libsvn';
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   557
            shouldFileOutClass: CommitTask
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   558
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   559
        CommitTask basicNew
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   560
            package: #'stx:libbasic';
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   561
            shouldFileOutClass: Object
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   562
    "
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   563
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   564
    "Created: / 24-06-2009 / 19:04:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   565
    "Modified: / 19-08-2009 / 13:54:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
1158
e674e7dd02b6 Ignore Java classes that are part of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1146
diff changeset
   566
    "Modified: / 31-07-2014 / 10:01:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   567
!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   568
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   569
shouldFileOutMethod: mth
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   570
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   571
    ^mth package = package and:
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   572
	[mth getSourcePosition isNil]
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   573
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   574
    "
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   575
	CommitTask basicNew
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   576
            package: #'stx:libsvn';
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   577
	    shouldFileOutMethod: (CommitTask >> #shouldFileOutMethod:)
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   578
492
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   579
	CommitTask basicNew
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   580
	    package: #'stx:libbasic';
74ff0960961c *** empty log message ***
fm
parents: 409
diff changeset
   581
	    shouldFileOutMethod: (Object >> #yourself)
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   582
    "
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   583
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   584
    "Created: / 24-06-2009 / 19:07:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   585
! !
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   586
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   587
!FileoutLikeTask methodsFor:'queries'!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   588
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   589
isSelectiveFileoutTask
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   590
    ^ classes notNil or: [ extensionMethods notNil ]
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   591
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   592
    "Created: / 14-05-2009 / 13:24:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   593
! !
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   594
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   595
!FileoutLikeTask class methodsFor:'documentation'!
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   596
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   597
version
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   598
    ^ '$Header$'
226
9c8934e12ff6 changed: #version_SVN
fm
parents: 55
diff changeset
   599
!
9c8934e12ff6 changed: #version_SVN
fm
parents: 55
diff changeset
   600
9c8934e12ff6 changed: #version_SVN
fm
parents: 55
diff changeset
   601
version_SVN
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   602
1146
d91112be232d class: SVN::FileoutLikeTask
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1136
diff changeset
   603
    ^ '$Id$'
757
29a88a31c30c Updates from SVN
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 492
diff changeset
   604
55
ca7fdccba8fc initial checkin
fm
parents:
diff changeset
   605
! !
1136
f9b7c94dbb9f class: SVN::FileoutLikeTask
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1112
diff changeset
   606