common/SCMAbstractFileoutLikeTask.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 03 Dec 2021 11:40:55 +0000
changeset 934 84b7d3b8f3a6
parent 931 ec30671b9775
permissions -rw-r--r--
Add comment `HGWorkingCopy >> statusesOf:` ...to ease debugging when assertion fails.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     1
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
     2
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 454
diff changeset
     3
Copyright (C) 2012-2015 Jan Vrany
921
176195664505 Fix "slow grow operation" warning when commiting extensions only
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
     4
Copyright (C) 2020-2021 LabWare
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
     5
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
     6
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
     8
License as published by the Free Software Foundation; either
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
     9
version 2.1 of the License.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    10
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    11
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    14
Lesser General Public License for more details.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    15
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    17
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    19
"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    20
"{ Package: 'stx:libscm/common' }"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    21
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
    22
"{ NameSpace: Smalltalk }"
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
    23
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    24
SCMAbstractTask subclass:#SCMAbstractFileoutLikeTask
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    25
	instanceVariableNames:'suppressClasses suppressExtensions suppresBuildSupportFiles
348
a9647072025f More support for Java extension methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    26
		packageClassesChanged packageExtensionsChanged extensionMethods
a9647072025f More support for Java extension methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
    27
		fileout2codeMap'
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    28
	classVariableNames:''
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    29
	poolDictionaries:''
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    30
	category:'SCM-Common-StX-Tasks'
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    31
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    32
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    33
!SCMAbstractFileoutLikeTask class methodsFor:'documentation'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    34
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    35
copyright
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    36
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    37
stx:libscm - a new source code management library for Smalltalk/X
509
f92210d4585b Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 454
diff changeset
    38
Copyright (C) 2012-2015 Jan Vrany
921
176195664505 Fix "slow grow operation" warning when commiting extensions only
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
    39
Copyright (C) 2020-2021 LabWare
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    40
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    41
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    42
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    43
License as published by the Free Software Foundation; either
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
    44
version 2.1 of the License.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    45
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    46
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    47
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    48
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    49
Lesser General Public License for more details.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    50
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    51
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    52
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 302
diff changeset
    53
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    54
"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    55
! !
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    56
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    57
!SCMAbstractFileoutLikeTask methodsFor:'accessing'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    58
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    59
extensionMethods
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    60
    ^ extensionMethods
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    61
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    62
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    63
extensionMethods:aCollection"of Methods"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    64
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    65
    extensionMethods := aCollection.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    66
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    67
    "Modified: / 14-05-2009 / 13:38:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    68
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    69
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    70
filesToGenerate
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
    71
    self error: 'Should not be sent'.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    72
    ^ self packageDefinition fileNamesToGenerate keys
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    73
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    74
    "
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
    75
	SVN::CommitTask new
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
    76
	    package: #stx:libsvn;
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
    77
	    buildSupportFiles"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    78
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    79
    "Created: / 27-11-2009 / 11:29:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
    80
    "Modified: / 22-02-2014 / 22:31:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
    81
!
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
    82
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
    83
filesToGenerateFor: package
549
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
    84
    ^ self filesToGenerateFor: package skipNotOverwritable: true
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
    85
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
    86
    "Created: / 22-02-2014 / 22:31:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
    87
    "Modified: / 11-06-2015 / 08:20:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
    88
!
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
    89
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
    90
filesToGenerateFor: package skipNotOverwritable: skipNotOverwritable
536
9f34d88497cf Do not regenerate and commit .rc files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 524
diff changeset
    91
    | files definition fileNamesToSkip |
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
    92
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
    93
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
    94
    package isVirtual ifTrue:[ 
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
    95
        ^ OrderedCollection new 
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
    96
    ].
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
    97
    (self isSelectiveFileoutTask and:[packageClassesChanged not and:[(classes includes: package definition) not]]) ifTrue:[
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
    98
        ^ OrderedCollection new
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
    99
    ].  
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   100
    files := OrderedCollection new.
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   101
    definition := package definition.
538
c450d6cb132a Fix in commit: do generate .rc file if it does not exist yet - it is required
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 536
diff changeset
   102
c450d6cb132a Fix in commit: do generate .rc file if it does not exist yet - it is required
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 536
diff changeset
   103
    fileNamesToSkip := #().
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   104
    (package workingCopyRoot / definition rcFilename) exists ifTrue:[
538
c450d6cb132a Fix in commit: do generate .rc file if it does not exist yet - it is required
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 536
diff changeset
   105
        "/ Skip .rc files, it only generates a noise in repo and merge conflicts...
c450d6cb132a Fix in commit: do generate .rc file if it does not exist yet - it is required
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 536
diff changeset
   106
        fileNamesToSkip := fileNamesToSkip copyWith: definition rcFilename.
c450d6cb132a Fix in commit: do generate .rc file if it does not exist yet - it is required
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 536
diff changeset
   107
    ].
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   108
536
9f34d88497cf Do not regenerate and commit .rc files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 524
diff changeset
   109
    definition fileNamesToGenerate keysAndValuesDo:[:file :selector |
9f34d88497cf Do not regenerate and commit .rc files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 524
diff changeset
   110
        (fileNamesToSkip includes: file) ifFalse:[
549
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
   111
            skipNotOverwritable ifTrue:[
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
   112
                | annotation |
536
9f34d88497cf Do not regenerate and commit .rc files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 524
diff changeset
   113
549
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
   114
                annotation := (definition class lookupMethodFor: selector) annotationAt: #file:overwrite:.
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   115
                (annotation isNil or:[ (annotation argumentAt: 2) or:[ (package workingCopyRoot / file) exists not] ]) ifTrue:[ 
549
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
   116
                    files add: file
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
   117
                ].
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
   118
            ] ifFalse:[ 
536
9f34d88497cf Do not regenerate and commit .rc files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 524
diff changeset
   119
                files add: file
9f34d88497cf Do not regenerate and commit .rc files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 524
diff changeset
   120
            ].
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   121
        ].
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   122
    ].
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   123
    ^ files
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   124
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   125
    "
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   126
        SVN::CommitTask new
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   127
            package: #stx:libsvn;
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   128
            buildSupportFiles"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   129
549
50ead1eda69b Fix for selective commit of a new Java class
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
   130
    "Created: / 11-06-2015 / 08:18:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   131
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   132
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   133
packageDefinition
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   134
    self error: 'Should not be sent'.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   135
    ^self package definition
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   136
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   137
    "Created: / 27-11-2009 / 11:27:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   138
    "Modified: / 21-02-2014 / 22:53:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   139
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   140
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   141
suppresBuildSupportFiles
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   142
    ^ suppresBuildSupportFiles
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   143
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   144
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   145
suppresBuildSupportFiles:something
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   146
    suppresBuildSupportFiles := something.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   147
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   148
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   149
suppressClasses
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   150
    ^ suppressClasses
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   151
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   152
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   153
suppressClasses:aBoolean
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   154
    suppressClasses := aBoolean.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   155
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   156
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   157
suppressExtensions
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   158
    ^ suppressExtensions
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   159
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   160
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   161
suppressExtensions:aBoolean
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   162
    suppressExtensions := aBoolean.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   163
! !
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   164
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   165
!SCMAbstractFileoutLikeTask methodsFor:'executing - private'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   166
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   167
doAddNewContainers
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   168
    packages do:[:each | each isVirtual ifFalse: [ self doAddNewContainersFor: each ] ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   169
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   170
    "Created: / 11-04-2008 / 10:58:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   171
    "Modified: / 19-08-2009 / 14:00:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   172
    "Modified: / 27-02-2014 / 22:55:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   173
!
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   174
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   175
doAddNewContainersFor: package
53
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   176
    | wcroot containers |
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   177
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   178
    ActivityNotification notify:'Adding new containers'.
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   179
    wcroot := package workingCopyRoot.
751
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 566
diff changeset
   180
    containers := (self containersToFileOutFor: package)
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 566
diff changeset
   181
                    collect:[ :e | wcroot / e ].
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   182
    self workingCopy track: containers.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   183
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   184
    "Created: / 22-02-2014 / 22:49:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
751
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 566
diff changeset
   185
    "Modified: / 28-02-2017 / 21:45:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   186
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   187
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   188
doCompileCopyrightMethods
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   189
    packages do:[:each | each isVirtual ifFalse: [ self doCompileCopyrightMethodsFor: each ] ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   190
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   191
    "Modified: / 16-08-2009 / 12:59:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   192
    "Created: / 08-04-2010 / 14:31:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   193
    "Modified: / 27-02-2014 / 22:55:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   194
!
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   195
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   196
doCompileCopyrightMethodsFor: package
903
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   197
    | klasses |
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   198
903
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   199
    ActivityNotification notify:'Updating #copyright methods...'.
913
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   200
    klasses := (self classesToFileOutFor: package) select:[:cls | self shouldUpdateCopyrightInClass: cls ].
903
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   201
    klasses asArray
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   202
        withIndexDo:[:cls :index |
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   203
            SCMCopyrightUpdater updateClass: cls theNonMetaClass.
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   204
            ProgressNotification newException
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   205
                messageText: ('Compiling %1 (%2)' bindWith:#copyright
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   206
                                                      with:cls nameWithoutPrefix);
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   207
                parameter: (100 / klasses size) * index;
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   208
                raiseRequest.
3c6c268d7395 Improve `doCompileCopyrightMethodFor:` to update copyright upon commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 865
diff changeset
   209
        ]
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   210
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   211
    "Created: / 21-02-2014 / 22:59:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
913
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   212
    "Modified: / 08-10-2020 / 18:26:54 / Jan Vrany <jan.vrany@labware.com>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   213
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   214
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   215
doCompileVersionMethods
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   216
    packages do:[:each |
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   217
	each isVirtual ifFalse: [
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   218
	    | klasses |
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   219
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   220
	    klasses := self classesToFileOutFor: each.
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   221
	    self doCompileVersionMethodsFor: each in: klasses asArray.
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   222
	]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   223
    ].
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 348
diff changeset
   224
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 348
diff changeset
   225
    "Created: / 09-10-2013 / 11:57:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   226
    "Modified: / 27-02-2014 / 22:55:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 348
diff changeset
   227
!
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 348
diff changeset
   228
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   229
doCompileVersionMethodsFor: package in: klasses
353
456532e0478c Added more support for HG mirrors of CVS repos.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 348
diff changeset
   230
    | versionMethodName|
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   231
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   232
    versionMethodName := package manager nameOfVersionMethodInClasses.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   233
    ActivityNotification notify:'Compiling #version methods...'.
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   234
    klasses
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   235
        withIndexDo:[:cls :index |
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   236
            |metaCls|
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   237
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   238
            cls isJavaClass ifFalse:[
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   239
                metaCls := cls theMetaclass.
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   240
                ((metaCls includesSelector:versionMethodName) not
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   241
                    "JV@2012-11-14: libsvn did this check, however, it is not valid for
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   242
                     SCMs that does not expand keywords. I disable it, but kept as comment
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   243
                     as I do not remember why it was good for..."
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   244
                    "or:[ ((cls perform:versionMethodName asSymbol) startsWith:'$Id') not ]")
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   245
                        ifTrue:[
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   246
                            metaCls compile:(metaCls
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   247
                                        versionMethodTemplateForSourceCodeManager:package manager)
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   248
                                classified:'documentation'.
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   249
                            (metaCls compiledMethodAt:versionMethodName)
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   250
                                setPackage:package name asSymbol
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   251
                        ].
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   252
                package manager utilities ensureCorrectVersionMethodsInClass: cls usingManager: package manager.
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   253
            ].
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   254
            ^ ProgressNotification newException
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   255
                messageText: ('Compiling %1 (%2)' bindWith:versionMethodName
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   256
                                                      with:cls nameWithoutPrefix);
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   257
                parameter: (100 / klasses size) * index;
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   258
                raiseRequest
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   259
        ].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   260
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   261
    (self extensionMethodsToFileOutFor: package) notEmpty ifTrue:[
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   262
        | def |
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   263
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   264
        "TODO: Not programming language aware..."
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   265
        ((def := package definition) class includesSelector: package manager nameOfVersionMethodForExtensions) ifFalse:[
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   266
            def class
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   267
                compile:
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   268
                    (package manager versionMethodTemplateForSmalltalkFor:package manager nameOfVersionMethodForExtensions)
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   269
                classified: #documentation.
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   270
            (def class compiledMethodAt:package manager nameOfVersionMethodForExtensions)
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   271
                setPackage:package name asSymbol
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   272
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   273
        ]
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   274
    ]
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   275
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   276
    "Created: / 21-02-2014 / 23:01:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   277
    "Modified: / 31-07-2014 / 09:04:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   278
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   279
122
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   280
doFileOut
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   281
    "Fileouts everything to the working copy"
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   282
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   283
    self
931
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   284
        doMakeLocalLocalSource;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   285
        doUpdateBuildSupportFiles;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   286
        doRenameContainers;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   287
        doFileOutPackageClasses;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   288
        doFileOutPackageExtensions;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   289
        doAddNewContainers;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   290
        doRemoveOldContainers.
122
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   291
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   292
    "Created: / 10-05-2012 / 17:05:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   293
    "Modified: / 21-11-2012 / 00:43:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
931
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   294
    "Modified: / 15-09-2021 / 15:46:15 / Jan Vrany <jan.vrany@labware.com>"
122
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   295
!
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   296
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   297
doFileOutAll
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   298
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   299
    self
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   300
	doUpdateCode;
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   301
	doFileOut.
122
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   302
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   303
    "Created: / 17-08-2009 / 18:28:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   304
    "Modified: / 10-05-2012 / 17:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   305
!
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   306
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   307
doFileOutPackageClasses
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   308
    packages do:[:each | each isVirtual ifFalse: [ self doFileOutPackageClassesFor: each ] ].
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   309
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   310
    "Created: / 11-04-2008 / 10:58:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   311
    "Modified: / 19-08-2009 / 13:44:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   312
    "Modified: / 27-02-2014 / 22:55:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   313
!
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   314
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   315
doFileOutPackageClassesFor: package
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   316
    |klasses|
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   317
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   318
    suppressClasses == true ifTrue:[^self].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   319
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   320
    ActivityNotification notify:'Filing out package classes'.
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   321
    klasses := (self classesToFileOutFor: package) asArray.
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   322
    klasses
931
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   323
        withIndexDo:[:cls :index |
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   324
            ProgressNotification newException
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   325
                messageText: 'Filing out ' , cls nameWithoutPrefix;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   326
                parameter: (100 / klasses size) * index;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   327
                raiseRequest.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   328
931
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   329
            (self shouldFileOutClass:cls) ifTrue:[package fileOutClass: cls]
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   330
        ].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   331
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   332
    "Created: / 21-02-2014 / 23:09:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
931
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   333
    "Modified (format): / 15-09-2021 / 15:42:03 / Jan Vrany <jan.vrany@labware.com>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   334
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   335
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   336
doFileOutPackageExtensions
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   337
    packages do:[:each | each isVirtual ifFalse: [ self doFileOutPackageExtensionsFor: each ] ]
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   338
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   339
    "Modified: / 07-04-2008 / 08:37:25 / janfrog"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   340
    "Created: / 11-04-2008 / 10:58:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   341
    "Modified: / 14-05-2009 / 13:37:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   342
    "Modified: / 27-02-2014 / 22:55:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   343
!
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   344
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   345
doFileOutPackageExtensionsFor: package
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   346
    | extensions |
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   347
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   348
    suppressExtensions == true ifTrue:[^self].
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   349
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   350
    extensions := self extensionMethodsToFileOutFor: package.
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   351
    extensions notEmpty ifTrue:[
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   352
	package fileOutExtensions: extensions.
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   353
    ]
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   354
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   355
    "Created: / 21-02-2014 / 23:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   356
    "Modified: / 22-02-2014 / 23:04:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   357
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   358
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   359
doInitStateVariables
548
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   360
    packageClassesChanged := packages contains:[:each| each isVirtual not and: [ each classesHasChanged ] ] .
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   361
    packageExtensionsChanged := packages contains:[:each|  each isVirtual not and: [ each extensionsHasChanged ] ].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   362
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   363
    "Created: / 17-06-2009 / 10:17:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   364
    "Modified: / 13-08-2009 / 10:18:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
548
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   365
    "Modified: / 11-06-2015 / 06:53:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   366
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   367
931
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   368
doMakeLocalLocalSource
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   369
    packages do:[:each | each isVirtual ifFalse: [ self doMakeLocalLocalSourceFor: each ] ].
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   370
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   371
    "Created: / 15-09-2021 / 15:46:48 / Jan Vrany <jan.vrany@labware.com>"
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   372
!
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   373
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   374
doMakeLocalLocalSourceFor: package
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   375
    suppressClasses ~~ true ifTrue:[
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   376
        | klasses |        
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   377
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   378
        ActivityNotification notify:'Filing out package classes'.
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   379
        klasses := (self classesToFileOutFor: package) asArray.
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   380
        klasses
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   381
            withIndexDo:[:cls :index |
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   382
                ProgressNotification newException
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   383
                    messageText: 'Fetching source for ' , cls nameWithoutPrefix;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   384
                    parameter: (100 / klasses size) * index;
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   385
                    raiseRequest.
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   386
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   387
                (self shouldFileOutClass:cls) ifTrue:[package makeLocalStringSource: cls]
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   388
            ].
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   389
    ].
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   390
    suppressExtensions ~~ true ifTrue:[
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   391
        | extensions |    
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   392
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   393
        extensions := self extensionMethodsToFileOutFor: package.
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   394
        extensions do: [:method | method makeLocalStringSource ]
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   395
    ]
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   396
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   397
    "Created: / 15-09-2021 / 15:49:21 / Jan Vrany <jan.vrany@labware.com>"
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   398
!
ec30671b9775 Load (external) source before actually renaming / filing out classes / extensions
Jan Vrany <jan.vrany@labware.com>
parents: 921
diff changeset
   399
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   400
doRemoveOldContainers
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   401
    packages do:[:each | each isVirtual ifFalse: [ self doRemoveOldContainersFor: each ] ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   402
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   403
    "Created: / 11-04-2008 / 11:00:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   404
    "Modified: / 19-08-2009 / 15:03:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   405
    "Modified: / 27-02-2014 / 22:55:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   406
!
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   407
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   408
doRemoveOldContainersFor: package
53
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   409
    | wcroot containers containersToKeep containersToDelete |
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   410
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   411
    self isSelectiveFileoutTask ifTrue:[
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   412
	^ self
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   413
    ].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   414
    ActivityNotification notify:'Removing old containers'.
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   415
    wcroot := package workingCopyRoot.
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   416
    containers := package containers.
362
a2b08403cfa8 Fix for issue #26: Java extension files are removed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
   417
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   418
    containersToKeep := package containersToKeep.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   419
    containersToDelete := containers \ containersToKeep.
362
a2b08403cfa8 Fix for issue #26: Java extension files are removed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
   420
    "/ Fix for issue #26: Java extension files are removed.
a2b08403cfa8 Fix for issue #26: Java extension files are removed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
   421
    "/ Filter out all Java extension containers which are for classes which
a2b08403cfa8 Fix for issue #26: Java extension files are removed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
   422
    "/ are currently not loaded.
a2b08403cfa8 Fix for issue #26: Java extension files are removed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
   423
    containersToDelete := containersToDelete reject:[:each |
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   424
	(each startsWith: 'java/extensions/')
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   425
	    and:[
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   426
		| nm |
362
a2b08403cfa8 Fix for issue #26: Java extension files are removed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
   427
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   428
		nm := each copyFrom:17 to: (each lastIndexOf: $.) - 1.
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   429
		(JavaVM registry classes contains: [:cls | cls binaryName = nm]) not.
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   430
	    ].
362
a2b08403cfa8 Fix for issue #26: Java extension files are removed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
   431
    ].
a2b08403cfa8 Fix for issue #26: Java extension files are removed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 353
diff changeset
   432
53
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   433
    containersToDelete do:[:nm|
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   434
	| entry |
53
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   435
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   436
	entry := wcroot / nm.
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   437
	entry remove
53
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   438
    ]
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   439
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   440
    "Created: / 21-02-2014 / 23:12:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   441
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   442
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   443
doRenameContainerForClassNamed: new for: package using: renames language: lang
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   444
391
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   445
    | wcroot assoc old circular oldC oldE newC newE  |
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   446
    assoc := renames detectLast:[:each | each key == new ] ifNone:[ ^ self ].
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   447
    old := assoc value.
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   448
    renames remove: assoc.
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   449
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   450
    "/ Call recursively to process sequence of renames but not if
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   451
    "/ its a circular rename...
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   452
    circular := (renames contains:[:each | each value == new ]).
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   453
    circular ifTrue:[ ^ self ].
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   454
    self doRenameContainerForClassNamed: old for: package using: renames language: lang.
391
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   455
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   456
    wcroot := package workingCopyRoot.
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   457
    oldC := package containerNameForClassNamed: old language: lang .
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   458
    newC := package containerNameForClassNamed: new language: lang .
89
874f18be0cbd Fixed renaming of class containers.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 81
diff changeset
   459
    (oldE := wcroot / oldC) exists ifTrue:[
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   460
	packageClassesChanged := true.
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   461
	newE := wcroot / newC.
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   462
	oldE moveTo: newE.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   463
    ].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   464
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   465
    "Created: / 11-04-2008 / 11:00:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   466
    "Modified: / 19-08-2009 / 15:03:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   467
    "Created: / 06-08-2011 / 21:33:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
391
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   468
    "Modified: / 05-03-2014 / 00:13:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   469
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   470
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   471
doRenameContainers
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   472
391
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   473
    | renames names |
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   474
    renames := OrderedCollection new.
f05648d15add Fix for issue #18 - circular class renames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   475
    names := OrderedCollection new.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   476
    ChangeSet current do:
865
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   477
                [:chg|
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   478
                chg isClassRenameChange ifTrue:[
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   479
                    renames add: chg className -> chg oldName.
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   480
                    names add: chg fullClassName.
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   481
                ]].
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   482
    packages do:[:each |
865
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   483
        each isVirtual ifFalse: [
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   484
            | classes |
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   485
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   486
            "/ We need to perform renames in stable order and, preferably,
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   487
            "/ in the prder in which they have been done. Following ensures
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   488
            "/ at least a stable order depending on order of renames.
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   489
            classes := self classesToFileOutFor: each.
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   490
            classes := classes select:[:cls | names includes: cls name ].
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   491
            classes := classes asArray sortBy:[ :a :b | (names indexOf: a name) < (names indexOf: b name) ].
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   492
            classes do:[:cls|
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   493
                self doRenameContainerForClassNamed: cls name for: each using: renames language: cls programmingLanguage.
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   494
            ]
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   495
        ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   496
    ].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   497
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   498
    "Created: / 11-04-2008 / 11:00:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   499
    "Modified: / 19-08-2009 / 15:03:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   500
    "Created: / 06-08-2011 / 21:13:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
865
c2e908e7dadc Fix commit with class renames for Mercurial 4.8 and later
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 764
diff changeset
   501
    "Modified (format): / 29-01-2019 / 23:02:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   502
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   503
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   504
doUpdateBuildSupportFiles
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
   505
    packages do:[:each | self doUpdateBuildSupportFilesFor: each ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   506
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   507
    "Created: / 20-06-2009 / 16:01:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   508
    "Modified: / 21-06-2009 / 15:18:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
   509
    "Modified: / 21-01-2015 / 07:20:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   510
!
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   511
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   512
doUpdateBuildSupportFilesFor: package
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
   513
    | actuallyGeneratedFiles |
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   514
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   515
    suppresBuildSupportFiles == true ifTrue:[
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   516
        ^self.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   517
    ].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   518
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
   519
    actuallyGeneratedFiles := OrderedCollection new.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   520
    ActivityNotification notify:'Updating build files'.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   521
    "First, generate files into a temporary files - so originals
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   522
     are not destroyed when something goes wrong."
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   523
    (self filesToGenerateFor: package) do:[:supportFileName |
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   524
        | supportFile supportFileContents |
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   525
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   526
        supportFile := package workingCopyRoot / (supportFileName , '.tmp').
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   527
        (packageClassesChanged or:[ supportFile exists not ]) ifTrue:[
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   528
            ActivityNotification notify:'Updating ' , supportFileName.
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
   529
            supportFileContents := self generateFile:supportFileName for: package. 
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   530
            supportFileContents notNil ifTrue:[  
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   531
                supportFile directory exists ifFalse: [supportFile directory makeDirectory].
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   532
                supportFile writingFileDo:[:s|
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   533
                    s nextPutAll:supportFileContents
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   534
                ].
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   535
                actuallyGeneratedFiles add: (package workingCopyRoot / supportFileName).
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   536
            ]
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   537
        ]
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   538
    ].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   539
    "Now, copy them over the old files"
751
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 566
diff changeset
   540
    actuallyGeneratedFiles do:[:supportFile |
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 566
diff changeset
   541
        | supportFileTmp |
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   542
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   543
        supportFileTmp := workingCopy pathName asFilename / (supportFile pathNameRelative , '.tmp').
515
d460ef249979 Added support for custom build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   544
        supportFileTmp moveTo: supportFile.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   545
    ].
751
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 566
diff changeset
   546
    "Finally make sure all generated files are tracked"
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 913
diff changeset
   547
    workingCopy track: actuallyGeneratedFiles.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   548
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   549
    "Created: / 21-02-2014 / 23:16:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
751
f9b0838f03a0 Optimization: speed up commit by performing `hg status` and `hg add` on multiple files at once
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 566
diff changeset
   550
    "Modified: / 23-02-2017 / 16:27:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   551
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   552
122
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   553
doUpdateCode
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   554
    "Updates project definitions and compiles version/copyright methods"
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   555
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   556
    self
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   557
	doInitStateVariables;
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   558
	doCompileVersionMethods;
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   559
	doCompileCopyrightMethods;
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   560
	doUpdateProjectDefinition.
122
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   561
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   562
    "Created: / 10-05-2012 / 17:04:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   563
!
f72225c1f433 Adde parent/child relationship to SCMAbstractPackageModel
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 117
diff changeset
   564
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   565
doUpdateProjectDefinition
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   566
    packages do:[:each | each isVirtual ifFalse: [ self doUpdateProjectDefinitionFor: each ] ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   567
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   568
    "Created: / 11-04-2008 / 11:01:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   569
    "Modified: / 13-08-2009 / 09:13:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
387
ebec1ef28839 Added notion if 'virtual' package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 381
diff changeset
   570
    "Modified: / 27-02-2014 / 22:56:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   571
!
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   572
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   573
doUpdateProjectDefinitionFor: package
764
7371720deeff Issure #63: Simplified #doUpdateProjectDefinition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 751
diff changeset
   574
    | prjClass prjClassChanged |
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   575
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   576
    (packageClassesChanged | packageExtensionsChanged) ifFalse:[
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   577
        ^ self
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   578
    ].
548
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   579
    prjClassChanged := false.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   580
    ActivityNotification notify:'Updating project definition'.
548
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   581
    prjClass := ProjectDefinition definitionClassForPackage: package name createIfAbsent:false.
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   582
    prjClass isNil ifTrue:[
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   583
        prjClass := ProjectDefinition definitionClassForPackage: package name createIfAbsent:true.
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   584
        prjClassChanged := true.
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   585
    ].
271
b0f2a22871b6 Care for class removal and superclass/pool change.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 268
diff changeset
   586
b0f2a22871b6 Care for class removal and superclass/pool change.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 268
diff changeset
   587
    "/Now do standard update
548
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   588
    [
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   589
        prjClass theNonMetaclass
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   590
            forEachContentsMethodsCodeToCompileDo:[:code :category |
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   591
                (code startsWith: 'excludedFromPreRequisites')
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   592
                    ifFalse:[prjClass theMetaclass compile:code classified:category]
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   593
            ]
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   594
            "/ignoreOldEntries: false
548
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   595
            ignoreOldDefinition: false.
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   596
    ] on: Class packageQuerySignal do:[ :query |
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   597
        prjClassChanged := true.
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   598
        query resume: prjClass package
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   599
    ].
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   600
    (self isSelectiveFileoutTask and:[ prjClassChanged ]) ifTrue:[ 
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   601
        classes := classes copyWith: prjClass.
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 538
diff changeset
   602
    ].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   603
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   604
    "Created: / 21-02-2014 / 23:17:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
764
7371720deeff Issure #63: Simplified #doUpdateProjectDefinition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 751
diff changeset
   605
    "Modified: / 27-07-2017 / 11:10:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7371720deeff Issure #63: Simplified #doUpdateProjectDefinition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 751
diff changeset
   606
    "Modified (comment): / 28-07-2017 / 08:22:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   607
! !
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   608
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   609
!SCMAbstractFileoutLikeTask methodsFor:'private'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   610
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   611
classesToFileOutFor: package
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   612
921
176195664505 Fix "slow grow operation" warning when commiting extensions only
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   613
    suppressClasses == true ifTrue:[^OrderedCollection new].
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   614
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   615
    ^ package classesFiltered:
921
176195664505 Fix "slow grow operation" warning when commiting extensions only
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   616
            [:class |
176195664505 Fix "slow grow operation" warning when commiting extensions only
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   617
            class isLoaded and: [ classes isNil or: [ classes includes: class ] ] ]
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   618
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   619
    "Created: / 21-02-2014 / 22:59:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   620
    "Modified: / 22-02-2014 / 22:19:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
921
176195664505 Fix "slow grow operation" warning when commiting extensions only
Jan Vrany <jan.vrany@labware.com>
parents: 914
diff changeset
   621
    "Modified: / 29-01-2021 / 08:51:26 / Jan Vrany <jan.vrany@labware.com>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   622
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   623
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   624
containersToFileOut
524
7807a83a45f5 Fix after incompatible change in Smalltalk>>allClasses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   625
    | containers |
7807a83a45f5 Fix after incompatible change in Smalltalk>>allClasses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   626
7807a83a45f5 Fix after incompatible change in Smalltalk>>allClasses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   627
    containers := OrderedCollection new.
7807a83a45f5 Fix after incompatible change in Smalltalk>>allClasses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   628
    packages do:[:each | 
7807a83a45f5 Fix after incompatible change in Smalltalk>>allClasses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   629
        each isVirtual ifFalse: [ 
7807a83a45f5 Fix after incompatible change in Smalltalk>>allClasses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   630
            containers addAll: ((self containersToFileOutFor: each) collect:[ :container | each repositoryRoot , Filename separator , container ]).
7807a83a45f5 Fix after incompatible change in Smalltalk>>allClasses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   631
        ] 
426
1933163ba3bb Fixed regression for selective class commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 394
diff changeset
   632
    ].
524
7807a83a45f5 Fix after incompatible change in Smalltalk>>allClasses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   633
    ^ containers.
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   634
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   635
    "Created: / 14-05-2009 / 11:35:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
524
7807a83a45f5 Fix after incompatible change in Smalltalk>>allClasses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 516
diff changeset
   636
    "Modified: / 04-02-2015 / 08:20:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   637
!
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   638
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   639
containersToFileOutFor: package
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   640
    | containers extensions |
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   641
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   642
    containers := (self classesToFileOutFor: package)
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   643
		collect: [:class | package containerNameForClass: class ].
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   644
    (extensions := (self extensionMethodsToFileOutFor: package)) notEmpty ifTrue:[
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   645
	| languages extensionsNonJava extensionsJava |
348
a9647072025f More support for Java extension methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   646
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   647
	extensionsNonJava := extensions reject:[:m | m mclass programmingLanguage isJava].
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   648
	extensionsJava := extensions select:[:m | m mclass programmingLanguage isJava].
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   649
	languages :=  (extensionsNonJava collect:[:each|each programmingLanguage]) asSet.
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   650
	languages do: [:lang| containers add: (package containerNameForExtensions: lang)].
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   651
	extensionsJava do:[:m |
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   652
	    | container |
348
a9647072025f More support for Java extension methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   653
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   654
	    container := package containerNameForExtensions: m programmingLanguage javaClass: m mclass.
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   655
	    (containers includes: container) ifFalse:[
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   656
		 containers add: container
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   657
	    ].
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   658
	].
348
a9647072025f More support for Java extension methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   659
    ].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   660
    ^ containers
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   661
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   662
    "Created: / 22-02-2014 / 22:49:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   663
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   664
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   665
extensionMethodsToFileOut
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   666
   self error: 'Should no longer be sent'.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   667
    ^ self package extensionsFiltered:
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   668
	    [:mth |
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   669
	    extensionMethods isNil or: [ extensionMethods includes: mth ] ]
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   670
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   671
    "Created: / 14-05-2009 / 11:32:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   672
    "Modified: / 22-02-2014 / 22:19:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   673
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   674
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   675
extensionMethodsToFileOutFor: package
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   676
    ^package extensionsFiltered:
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   677
	    [:mth |
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   678
	    extensionMethods isNil or: [ extensionMethods includes: mth ] ]
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   679
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   680
    "Created: / 21-02-2014 / 23:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   681
    "Modified: / 22-02-2014 / 22:20:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   682
!
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   683
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
   684
generateFile: file for: package 
381
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   685
    | def contents savedClassFilenames |
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   686
3dde2b867931 SCMAbstractFileoutLikeTask refactored to support multiple packages.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 362
diff changeset
   687
    def := package definition.
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   688
    file ~= 'abbrev.stc' ifTrue:[^def generateFile: file].
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   689
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   690
    "Yet another kludge to trick Smalltalk>>fileNameForClass:, sigh"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   691
    savedClassFilenames := Dictionary new.
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   692
    (def searchForClasses reject:[:e|e owningClass notNil or:[ e isJavaClass ] ] ) do:
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   693
        [:cls|
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   694
        savedClassFilenames
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   695
            at: cls
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   696
            put: cls getClassFilename.
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   697
        cls setClassFilename: (package containerNameForClass: cls)].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   698
    contents := def generateFile: file.
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   699
    savedClassFilenames keysAndValuesDo:
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   700
        [:cls :classFileName|
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 426
diff changeset
   701
        cls setClassFilename: classFileName].
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   702
    ^contents
81
eeb86ad71bc3 Fixed all references to libsvn classes. Added SCMCompatModeQuery.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 70
diff changeset
   703
516
dad7345b8c70 Fix for issue #42: Create initial .hgignore if it does not exist
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 515
diff changeset
   704
    "Created: / 20-01-2015 / 08:11:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   705
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   706
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   707
shouldFileOutClass: class
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   708
    ^ packages anySatisfy:
394
1f009c523329 Merged cf4d7072fdf2 and 69f0a4078682
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 391 389
diff changeset
   709
	[:p | p name = class package and:[ p hasChangesInClass: class ] ]
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   710
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   711
    "Created: / 24-06-2009 / 19:04:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   712
    "Modified: / 19-08-2009 / 13:54:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
389
1e2e6ce45878 Added new warning to commit dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 387
diff changeset
   713
    "Modified: / 03-03-2014 / 09:18:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
913
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   714
!
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   715
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   716
shouldUpdateCopyrightInClass: class
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   717
    "Return `true`, if a copyright for given class should be updated,
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   718
     `false` otherwise.
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   719
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   720
     WARNING: This method IS NOT conservative, i.e., may return `false` for classes
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   721
     that actually have been changed. However, it should never return `true` for classes
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   722
     that were not."
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   723
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   724
    packages do: [:p | 
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   725
        p name = class package ifTrue:[
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   726
            class withAllPrivateClassesDo:[:cls|
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   727
                (ChangeSet current includesChangeForClass:cls) ifTrue: [ ^ true ].
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   728
            ].
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   729
        ]
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   730
    ].
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   731
    ^ false
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   732
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   733
cf6aacadd0ab Use separate logic to detect classes whose copyright should be updated
Jan Vrany <jan.vrany@labware.com>
parents: 903
diff changeset
   734
    "Created: / 08-10-2020 / 16:50:33 / Jan Vrany <jan.vrany@labware.com>"
426
1933163ba3bb Fixed regression for selective class commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 394
diff changeset
   735
! !
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   736
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   737
!SCMAbstractFileoutLikeTask methodsFor:'queries'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   738
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   739
isSelectiveFileoutTask
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   740
    ^ classes notNil or: [ extensionMethods notNil ]
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   741
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   742
    "Created: / 14-05-2009 / 13:24:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   743
! !
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   744
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   745
!SCMAbstractFileoutLikeTask class methodsFor:'documentation'!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   746
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   747
version_GIT
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   748
    "Never, ever change this method. Ask JV or CG why"
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   749
    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   750
!
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   751
53
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   752
version_HG
114
8b27cb46af9a version_HG changed to return String.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 89
diff changeset
   753
8b27cb46af9a version_HG changed to return String.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 89
diff changeset
   754
    ^ '$Changeset: <not expanded> $'
53
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   755
!
8043f7b6f41a - More common code refactored
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 44
diff changeset
   756
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   757
version_SVN
566
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 550 549
diff changeset
   758
    ^ 'Id::                                                                                                                        '
44
832a135ebe08 Dependency fixes
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   759
! !
426
1933163ba3bb Fixed regression for selective class commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 394
diff changeset
   760