common/SCMAbstractPackageWorkingCopy.st
author Jan Vrany <jan.vrany@labware.com>
Thu, 08 Oct 2020 12:52:31 +0100
changeset 914 04391080b32d
parent 907 59504d1c153c
child 917 eeabc31b5c93
permissions -rw-r--r--
Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code This is a preparation for removing use of temporary working copy altogether. The main problem is that it causes confusion, mainly among newcomers.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
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
907
59504d1c153c Make method's source local (i.e., in-memory) when filing-out class
Jan Vrany <jan.vrany@labware.com>
parents: 656
diff changeset
     4
Copyright (C) 2020 LabWare
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
This library is free software; you can redistribute it and/or
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
License as published by the Free Software Foundation; either
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
version 2.1 of the License.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
This library is distributed in the hope that it will be useful,
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
Lesser General Public License for more details.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
License along with this library; if not, write to the Free Software
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
"{ Package: 'stx:libscm/common' }"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
539
b6877b9f16c7 Fix for fileout of freshly imported classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
    22
"{ NameSpace: Smalltalk }"
b6877b9f16c7 Fix for fileout of freshly imported classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
    23
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
SCMAbstractPackageModel subclass:#SCMAbstractPackageWorkingCopy
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    25
	instanceVariableNames:'wc wcroot changed classesHasChanged extensionsHasChanged
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
    26
		lastSequenceNumber lastSequenceNumberForChildren'
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	classVariableNames:''
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	poolDictionaries:''
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
	category:'SCM-Common-StX'
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
!SCMAbstractPackageWorkingCopy class methodsFor:'documentation'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
copyright
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
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
    37
Copyright (C) 2012-2015 Jan Vrany
907
59504d1c153c Make method's source local (i.e., in-memory) when filing-out class
Jan Vrany <jan.vrany@labware.com>
parents: 656
diff changeset
    38
Copyright (C) 2020 LabWare
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
This library is free software; you can redistribute it and/or
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
modify it under the terms of the GNU Lesser General Public
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
License as published by the Free Software Foundation; either
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
version 2.1 of the License.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
This library is distributed in the hope that it will be useful,
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
but WITHOUT ANY WARRANTY; without even the implied warranty of
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
Lesser General Public License for more details.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
You should have received a copy of the GNU Lesser General Public
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
License along with this library; if not, write to the Free Software
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
documentation
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    A model of a Smalltalk/X package in a checked-out working copy. 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    It knows how to map living classes to their respective file containers 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    and can fileout individual classes. Used (not only) by SCMAbstractCommitTask.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    == Changed packages ==
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    A 'changed' package is a package that contain changes, i.e., some method/class
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    beloging to a package has been modified or class/method has been added/removed.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    Compared to state of the package at its LOAD TIME, not to last nor compiled 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    revision !!!!!!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    See #hasChanges, #classesHasChanged, #extensionsHasChanged.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    [author:]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
        Jan Vrany <jan.vrany@fit.cvut.cz>
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    [instance variables:]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    [class variables:]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    [see also:]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
        SCMAbstractPackageModel
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
!SCMAbstractPackageWorkingCopy class methodsFor:'instance creation'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
named: package
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    self subclassResponsibility
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    "Created: / 16-11-2012 / 19:52:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
new
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
    "return an initialized instance"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    ^ self basicNew initialize.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
!SCMAbstractPackageWorkingCopy class methodsFor:'testing'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
isAbstract
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    ^ self == SCMAbstractPackageWorkingCopy
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    "Created: / 13-11-2012 / 23:07:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
    "Modified: / 05-03-2014 / 21:59:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
!SCMAbstractPackageWorkingCopy methodsFor:'accessing'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
411
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   109
abbrevs
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   110
    ^ self definition abbrevs
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   111
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   112
    "Created: / 14-03-2014 / 22:02:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   113
!
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   114
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
classes
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    ^self classesIncludingPrivate reject:[:cls|cls owningClass notNil]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    "Created: / 06-10-2012 / 23:14:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
classesFiltered: classFilter
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    ^self classes select: [:class|classFilter value: class].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
    "Created: / 06-10-2012 / 23:14:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
classesIncludingPrivate
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    ^ProjectDefinition searchForClassesWithProject: self name
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    "Created: / 06-10-2012 / 23:15:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
commitDialog
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    ^self commitDialogClass new
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    "Modified: / 14-11-2012 / 22:31:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
commitTask
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    ^self commitTaskClass new
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
        package: self;
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
        yourself
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    "Created: / 06-10-2012 / 22:14:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
    "Modified: / 13-11-2012 / 23:22:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
definition
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
    ^LibraryDefinition definitionClassForPackage:self name createIfAbsent:true
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
    "Created: / 06-10-2012 / 23:09:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
548
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 539
diff changeset
   156
definitionOrNilIfNotExists
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 539
diff changeset
   157
    ^LibraryDefinition definitionClassForPackage:self name createIfAbsent:false
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 539
diff changeset
   158
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 539
diff changeset
   159
    "Created: / 11-06-2015 / 07:01:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 539
diff changeset
   160
!
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 539
diff changeset
   161
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
extensions
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    ^ProjectDefinition searchForExtensionsWithProject: self name
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
    "Created: / 06-10-2012 / 23:12:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
extensionsFiltered:aBlock
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
    ^self extensions select:aBlock
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
    "Created: / 06-10-2012 / 23:19:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
manager
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
    "Returns a source code manager for this kind of package"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
    ^self subclassResponsibility
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
    "Created: / 14-11-2012 / 01:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
revision
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
    "Return a logical revision of the package, i.e., a revision
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
     on which the next commit will be based on"              
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
    self isVirtual ifTrue:[ 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
        | childRevs |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
        childRevs := Set new.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
        self childrenDo:[:each | childRevs add: each revision ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
        childRevs size == 0 ifTrue:[ 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
            self error: 'No non-virtual children'.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
            ^ nil.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
        ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
        childRevs size ~~ 1 ifTrue:[ 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
            self error: 'Inconsistent revisions of chilren of virtual package'.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
            ^ nil
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
        ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
        ^ childRevs anElement
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
    ] ifFalse:[ 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
        ^ self getRevision
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
    "Modified: / 28-02-2014 / 09:38:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   208
workingCopy
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   209
    self ensureWorkingCopy.
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   210
    ^ wc
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
    "Created: / 01-12-2012 / 00:26:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   215
workingCopyPath
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
    "Return the directory which contains temporary working copy.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
     The directory may not exists if the temporary working copy has
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
     not yet been initialized (which is done on demand)"
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   219
    
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
    ^ self manager temporaryWorkingCopyDirectory / repository uuid printString
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
    "Created: / 05-02-2013 / 09:30:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   225
workingCopyRoot
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   226
    self ensureWorkingCopy.
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
    ^ wcroot
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
    "Created: / 14-11-2012 / 23:51:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
!SCMAbstractPackageWorkingCopy methodsFor:'accessing-classes'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
commitDialogClass
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
    self subclassResponsibility
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
    "Created: / 14-11-2012 / 22:29:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
commitTaskClass
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
    "raise an error: must be redefined in concrete subclass(es)"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
    ^ self subclassResponsibility
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
!SCMAbstractPackageWorkingCopy methodsFor:'accessing-containers'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
411
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   248
containerFor: aString ifAbsent: aBlock
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   249
    "Return a container as Filename with given name. If there's no such
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   250
     container, evaluates a block"            
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   252
    ^self workingCopyRoot / aString
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
411
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   254
    "Created: / 14-03-2014 / 22:18:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
containerWriteStreamFor: containerName
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
    | filename directory |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
411
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   260
    filename := self containerFor: containerName.
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
    (directory := filename directory) exists ifFalse:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
        directory recursiveMakeDirectory
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
    ^filename writeStream
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
        eolMode: #nl;
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
        yourself
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
    "Created: / 09-10-2008 / 20:24:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
411
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   269
    "Modified: / 13-03-2014 / 22:56:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
containerWriteStreamForClass:cls
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
    ^self containerWriteStreamFor: (self containerNameForClass:cls)
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
    "Created: / 07-10-2012 / 10:27:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
containerWriteStreamForExtensions: aProgrammingLanguage
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
    ^self containerWriteStreamFor: (self containerNameForExtensions: aProgrammingLanguage)
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
    "Created: / 30-12-2009 / 18:14:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
    "Modified: / 07-10-2012 / 10:54:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
containerWriteStreamForExtensions: aProgrammingLanguage javaClass: aJavaClass
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    | container |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
411
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   288
    container := self containerFor: (self containerNameForExtensions: aProgrammingLanguage javaClass: aJavaClass).
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
    container directory exists ifFalse:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
         container directory recursiveMakeDirectory.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
    ^ container writeStream
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
    "Created: / 04-09-2012 / 23:17:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
411
858944cebec4 Added SCMAbstractPackageRevision>>changeSet.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 397
diff changeset
   295
    "Modified: / 13-03-2014 / 22:55:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
containers
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
    | containers jextensions |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
    containers := OrderedCollection new.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
    containers addAll:
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   303
        (wcroot  directoryContents select:
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
                [:container|self containerSuffixes anySatisfy:
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
                    [:suffix|container endsWith:suffix]]) asSet.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
    (jextensions:= wcroot / 'java' / 'extensions') exists ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
        jextensions recursiveDirectoryContentsDo:[:each|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
            (self containerSuffixes anySatisfy:[:suffix|each endsWith:suffix]) ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
                (jextensions / each) isRegularFile ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
                    containers add: 'java/extensions/' , each.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
                ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
            ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
        ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
    ^ containers
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
    "Created: / 23-03-2009 / 18:52:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   318
    "Modified: / 12-06-2009 / 21:44:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   319
    "Modified: / 05-03-2014 / 23:29:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
containersToKeep
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   324
    | containers extensions |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
    containers := self classes collect:[:cls|self containerNameForClass: cls].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
    (extensions := self extensions) notEmpty ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
        | languages extensionsNonJava extensionsJava |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
        extensionsNonJava := extensions reject:[:m | m mclass programmingLanguage isJava].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
        extensionsJava := extensions select:[:m | m mclass programmingLanguage isJava].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
        languages :=  (extensionsNonJava collect:[:each|each programmingLanguage]) asSet.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
        languages do: [:lang| containers add: (self containerNameForExtensions: lang)].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   334
        extensionsJava do:[:m |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
            | container |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   336
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   337
            container := self containerNameForExtensions: m programmingLanguage javaClass: m mclass.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   338
            (containers includes: container) ifFalse:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   339
                 containers add: container
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   340
            ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   341
        ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   342
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
    "Keep all directories"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
    wcroot directoryContents do: [:f|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
        (f ~= '.hg' and: [(wcroot / f) isDirectory]) ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
            containers add: f
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
        ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
    "Keep all .st files that are for with other operating systems"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
    self definition classNamesAndAttributesDo: [:nm :attributes|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
        attributes do:[:attr|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
            (#(win32 unix vms autoload) includes: attr) ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
                containers add: (self containerNameForClassNamed: nm language: SmalltalkLanguage instance)
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
            ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
        ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
    ^containers asSet.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
    "Created: / 12-06-2009 / 21:27:12 / Jan Vrany <vranyj1@fel.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
    "Modified: / 24-09-2013 / 12:32:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
!SCMAbstractPackageWorkingCopy methodsFor:'accessing-hierarchy'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
children
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
    "Returns all my immediate children."
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
    self updateCachedValues.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
    ^ children values.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
    (HGPackageModelRegistry packageNamed: 'stx:libscm') children
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
    "Created: / 19-02-2014 / 23:43:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
    "Modified: / 28-02-2014 / 23:54:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   382
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
!SCMAbstractPackageWorkingCopy methodsFor:'accessing-private'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   385
childNamed: aString
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
    "Returns a child name aString. If no such child
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
     exist, create one"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   389
    | child nm|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
    children at: aString ifPresent:[:child|^child].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
    child := self class new.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   393
    nm := (name includes: $:)
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   394
        ifTrue: [name , '/' , aString]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   395
        ifFalse:[name , ':' , aString].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
    child setName: nm repository: repository.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   397
    child setParent: self.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   398
    children at: aString put: child.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
    ^child
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
    "Created: / 01-12-2012 / 01:29:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
    "Modified: / 01-12-2012 / 18:11:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
getRevision
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
    "Return a logical revision of the package, i.e., a revision
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
     on which the next commit will be based on"              
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
    ^ self subclassResponsibility
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
    "Created: / 28-02-2014 / 09:33:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
!SCMAbstractPackageWorkingCopy methodsFor:'file out'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
fileOutClass:cls
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
    |stream|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 415
diff changeset
   420
    stream := self containerWriteStreamForClass:cls.
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
    [
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
        self fileOutClass:cls on:stream
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   423
    ] ensure:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   424
        stream close
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
    ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   427
    "Modified: / 11-06-2009 / 16:18:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   428
    "Created: / 30-12-2009 / 19:04:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   429
    "Modified: / 03-07-2013 / 19:50:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 415
diff changeset
   430
    "Modified (format): / 30-07-2014 / 20:49:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   431
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   432
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   433
fileOutClass:cls on:clsStream
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   434
907
59504d1c153c Make method's source local (i.e., in-memory) when filing-out class
Jan Vrany <jan.vrany@labware.com>
parents: 656
diff changeset
   435
    cls methodDictionary do:
59504d1c153c Make method's source local (i.e., in-memory) when filing-out class
Jan Vrany <jan.vrany@labware.com>
parents: 656
diff changeset
   436
        [:each|each makeLocalStringSource].
59504d1c153c Make method's source local (i.e., in-memory) when filing-out class
Jan Vrany <jan.vrany@labware.com>
parents: 656
diff changeset
   437
59504d1c153c Make method's source local (i.e., in-memory) when filing-out class
Jan Vrany <jan.vrany@labware.com>
parents: 656
diff changeset
   438
    cls class methodDictionary do:
59504d1c153c Make method's source local (i.e., in-memory) when filing-out class
Jan Vrany <jan.vrany@labware.com>
parents: 656
diff changeset
   439
        [:each|each makeLocalStringSource].
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   440
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   441
    self manager
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   442
                fileOutSourceCodeOf:cls
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   443
                                 on:clsStream
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   444
                      withTimeStamp:false
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   445
                     withInitialize:true
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   446
                     withDefinition:true
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   447
                       methodFilter:[:mth | mth package = name ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   448
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   449
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   450
        String streamContents:[:s|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   451
            (SVN::RepositoryManager repositoryForPackage: Setup::ML package)
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   452
                workingCopy
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   453
                fileOutClass: Setup::ML on: s
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   454
        ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   455
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   456
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   457
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   458
    "Created: / 19-04-2008 / 09:58:11 / Jan Vrany <vranyj1@fel.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   459
    "Modified: / 11-06-2009 / 16:18:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   460
    "Modified: / 07-07-2011 / 20:21:59 / jv"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   461
    "Modified: / 14-11-2012 / 01:01:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
907
59504d1c153c Make method's source local (i.e., in-memory) when filing-out class
Jan Vrany <jan.vrany@labware.com>
parents: 656
diff changeset
   462
    "Modified: / 29-06-2020 / 23:45:52 / Jan Vrany <jan.vrany@labware.com>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   463
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   464
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   465
fileOutExtensions: extensionMethods
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   466
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   467
    ^self fileOutExtensions: extensionMethods in: self workingCopyRoot
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   468
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   469
    "Created: / 30-12-2009 / 19:01:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   470
    "Modified: / 01-12-2012 / 00:47:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   471
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   472
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   473
fileOutExtensions: extensionMethods in: directory
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   474
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   475
    ProgrammingLanguage all do:[:lang|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   476
        | stream methods |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   477
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   478
        methods := extensionMethods select:[:mth|mth programmingLanguage = lang].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   479
        methods notEmpty ifTrue: [
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   480
            ActivityNotification notify:'Filing out extension methods (', lang name , ')'.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   481
            self fileOutExtensions: methods in: directory language: lang
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   482
        ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   483
    ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   484
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   485
    "Created: / 04-09-2012 / 22:56:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   486
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   487
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   488
fileOutExtensions: extensionMethods in: directory language: lang
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   489
    "Given a directory, files out extensions methods in given language.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   490
     Takes care about Java extensions, as they are filed out separately
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   491
     in per-classe .st file in <package dir>/java/extensions/<package>/<java classname>.st"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   492
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   493
    | stream nonJavaExtensionsMethod javaExtensionsMethods |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   494
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   495
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   496
    stream := self containerWriteStreamForExtensions: lang.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   497
    [
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   498
        nonJavaExtensionsMethod := extensionMethods reject:[:each|each mclass theNonMetaclass isJavaClass].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   499
        self fileOutExtensions: nonJavaExtensionsMethod on: stream language: lang.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   500
    ] ensure:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   501
        stream close
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   502
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   503
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   504
    javaExtensionsMethods := Dictionary new.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   505
    extensionMethods do:[:mthd|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   506
        mthd mclass theNonMetaclass isJavaClass ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   507
            (javaExtensionsMethods at: mthd mclass ifAbsentPut:[OrderedCollection new]) add: mthd.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   508
        ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   509
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   510
    javaExtensionsMethods keysAndValuesDo:[:cls :methods|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   511
        [
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   512
            stream := self containerWriteStreamForExtensions: lang javaClass: cls.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   513
            self fileOutExtensions: methods on: stream language: lang.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   514
        ] ensure:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   515
            stream close.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   516
        ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   517
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   518
    ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   519
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   520
    "Created: / 04-09-2012 / 23:05:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   521
    "Modified: / 15-12-2012 / 17:50:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   522
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   523
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   524
fileOutExtensions: extensionMethods on:stream language: language
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   525
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   526
    extensionMethods do:[:each|each makeLocalStringSource].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   527
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   528
    "Special hack for Smalltalk - use SourceCodeManager routine"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   529
    (language isSmalltalk and:[extensionMethods allSatisfy:[:m|m mclass theNonMetaclass isJavaClass not]]) ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   530
        self manager fileOutSourceCodeExtensions: extensionMethods package: self name on: stream.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   531
        ^self.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   532
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   533
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   534
    "/ Generic fileout "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   535
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   536
    language sourceFileWriterClass new
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   537
        fileOutPackageDefinition: self name on: stream;
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   538
        fileOutMethods: extensionMethods on: stream
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   539
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   540
    "Modified: / 15-06-2009 / 11:55:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   541
    "Created: / 30-12-2009 / 19:01:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   542
    "Modified: / 16-12-2012 / 13:08:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   543
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   544
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   545
!SCMAbstractPackageWorkingCopy methodsFor:'initialization'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   546
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   547
initialize
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   548
    super initialize.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   549
    children := Dictionary new
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   550
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   551
    "Created: / 07-03-2014 / 12:57:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   552
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   553
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   554
setName: aSymbolOrPackageId repository: aRepository
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   555
    "Initializes the package. This method also MUST initialize 'repositoryRoot' instvar!!"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   556
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   557
    ^self subclassResponsibility
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   558
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   559
    "Created: / 01-12-2012 / 17:52:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   560
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   561
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   562
setNameComponents: aCollection repository: aRepository
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   563
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   564
    | nm |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   565
    aCollection isEmpty ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   566
        self setName:'' repository: aRepository.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   567
        ^self.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   568
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   569
    aCollection size == 1 ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   570
        self setName: aCollection first repository: aRepository.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   571
        ^self.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   572
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   573
    nm := aCollection first , ':' , aCollection second.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   574
    aCollection size > 2 ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   575
        3 to: aCollection size do:[:i|
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   576
            nm := nm , '/' , (aCollection at: i)
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   577
        ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   578
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   579
    self setName: nm repository: aRepository.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   580
    ^self
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   581
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   582
    "Created: / 03-12-2012 / 12:36:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   583
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   584
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   585
setParent: parentModel
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   586
    "Sets the parent model. See class documentation for details on parents models"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   587
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   588
    parent := parentModel.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   589
    (parent repositoryRoot = '.') ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   590
        repositoryRoot := (self name copyFrom: parent name size + 2).
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   591
    ] ifFalse:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   592
        repositoryRoot := parent repositoryRoot , '/' , (self name copyFrom: parent name size + 2) .
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   593
    ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   594
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   595
    "Created: / 01-12-2012 / 17:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   596
    "Modified: / 08-03-2014 / 10:04:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   597
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   598
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   599
setWorkingCopy: aSCMAbstractWorkingCopy
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   600
    wc := aSCMAbstractWorkingCopy.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   601
    wcroot := wc root / self repositoryRoot
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   602
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   603
    "Created: / 01-12-2012 / 17:53:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   604
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   605
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   606
!SCMAbstractPackageWorkingCopy methodsFor:'private'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   607
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   608
commited
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   609
    "Sent by commit task once commited"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   610
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   611
    extensionsHasChanged := false.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   612
    classesHasChanged := false.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   613
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   614
    "Created: / 13-08-2009 / 10:23:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   615
    "Modified: / 15-11-2012 / 10:05:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   616
    "Modified (comment): / 23-11-2012 / 22:50:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   617
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   618
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   619
computeChildren
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   620
    | newChildren newChildNames nameSizePlus1 |
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   621
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   622
    nameSizePlus1 := name size + 1.
656
2fd0838b5500 Use #allPackageIDs instead of #allProjectIDs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
   623
    newChildNames := Smalltalk allLoadedPackageIDs select:[:each |
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   624
        (each startsWith: name)
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   625
        and:[ each ~= name
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   626
        and:[ ((each at: nameSizePlus1) == $/ or:[ (each at: nameSizePlus1) == $: ])
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   627
        and:[ (each indexOf: $/ startingAt: nameSizePlus1 + 1) == 0]]]].
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   628
    newChildren := Dictionary new.
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   629
    newChildNames do:[:each |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   630
        | nm |
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   631
        nm := (each copyFrom: nameSizePlus1 + 1).
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   632
        newChildren at: nm put: (self childNamed: nm).
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   633
    ].
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   634
    ^ newChildren.
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   635
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   636
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   637
    (HGPackageModelRegistry packageNamed: 'stx:libscm') children
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   638
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   639
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   640
    "Created: / 28-02-2014 / 23:53:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
656
2fd0838b5500 Use #allPackageIDs instead of #allProjectIDs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 548
diff changeset
   641
    "Modified: / 26-03-2016 / 21:20:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   642
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   643
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   644
computeClassesHasChanged
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   645
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   646
        Answers true iff package classes differs from
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   647
        those listed in ProjectDefinition>>classNamesAndAttributes"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   648
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   649
    | listedClasses realClasses pkgDef |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   650
548
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 539
diff changeset
   651
    (pkgDef := self definitionOrNilIfNotExists) isNil ifTrue:[^true].
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   652
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   653
    listedClasses :=    pkgDef compiled_classNames_common ,
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   654
                        pkgDef compiled_classNamesForPlatform ,
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   655
                        pkgDef autoloaded_classNames.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   656
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   657
    realClasses := self classes collect:[:cls | cls fullName ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   658
    listedClasses size ~= realClasses size
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   659
        ifTrue:[^ true].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   660
    (realClasses allSatisfy:[:realClass | listedClasses includes:realClass ])
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   661
        ifFalse:[^true].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   662
    ^false
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   663
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   664
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   665
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   666
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   667
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   668
        (CommitTask new package: 'stx:libsvn')
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   669
            computePackageClassesChanged
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   670
        (CommitTask new package: 'cvut:fel/smallruby')
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   671
            computePackageClassesChanged
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   672
        (SVN::RepositoryManager workingCopyForPackage: #'stx:libbasic')
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   673
            computePackageClassesChanged
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   674
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   675
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   676
    "Created: / 06-10-2012 / 23:17:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
548
cfbdb28f0fc7 Update project definition when selective commit adds class.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 539
diff changeset
   677
    "Modified: / 11-06-2015 / 07:01:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   678
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   679
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   680
computeExtensionsHasChanged
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   681
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   682
        Answers true iff package extension method differs from
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   683
        those listed in ProjectDefinition>>extensionMethodNames"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   684
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   685
    | listedExtensions listedExtensionsDictionary realExtensions |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   686
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   687
    realExtensions := self  extensions.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   688
    listedExtensions := self definition
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   689
                extensionMethodNames.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   690
    (listedExtensions size / 2) ~= realExtensions size ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   691
        ^ true
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   692
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   693
    listedExtensionsDictionary := Dictionary new.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   694
    listedExtensions
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   695
        pairWiseDo:[:className :selector |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   696
            (listedExtensionsDictionary at:className
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   697
                ifAbsentPut:[ OrderedCollection new ]) add:selector
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   698
        ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   699
    ^ (realExtensions
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   700
        allSatisfy:[:mth |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   701
            (listedExtensionsDictionary includesKey:mth mclass name)
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   702
                and:[ (listedExtensionsDictionary at:mth mclass name) includes:mth selector ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   703
        ])
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   704
            not
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   705
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   706
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   707
        (CommitTask new package: 'stx:libsvn')
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   708
            packageExtensionsHasChanged"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   709
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   710
    "Created: / 06-10-2012 / 23:17:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   711
    "Modified (format): / 19-03-2013 / 10:12:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   712
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   713
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   714
computeHasChanges
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   715
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   716
    classesHasChanged == true ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   717
        ^ true.    
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   718
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   719
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   720
    extensionsHasChanged == true ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   721
        ^ true.    
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   722
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   723
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   724
    self classes do:[:class | 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   725
        (self hasChangesInClass: class) ifTrue:[ 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   726
            ^ true.    
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   727
        ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   728
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   729
    self extensions do:[:each |  
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   730
        (self hasChangesInMethod: each) ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   731
            ^ true.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   732
        ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   733
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   734
    ^ false.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   735
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   736
    "Created: / 03-03-2014 / 09:08:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   737
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   738
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   739
computeIsVirtual
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   740
    ^ self classes isEmpty and:[ self extensions isEmpty ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   741
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   742
    "Created: / 28-02-2014 / 23:46:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   743
    "Modified (comment): / 05-03-2014 / 23:21:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   744
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   745
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   746
updateCachedValues
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   747
    "Update all cached data"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   748
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   749
    | sequenceNumber |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   750
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   751
    sequenceNumber := SCMCodeMonitor sequenceNumber.     
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   752
    sequenceNumber ~~ lastSequenceNumber ifTrue:[ 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   753
        lastSequenceNumber := sequenceNumber.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   754
        virtual := self computeIsVirtual.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   755
        virtual ifTrue:[
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   756
            classesHasChanged := false.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   757
            extensionsHasChanged := false.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   758
            changed := false.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   759
        ] ifFalse:[ 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   760
            classesHasChanged := (classesHasChanged == true) or:[ self computeClassesHasChanged ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   761
            extensionsHasChanged := (extensionsHasChanged == true) or:[ self computeExtensionsHasChanged ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   762
            changed := self computeHasChanges.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   763
        ].
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   764
        children := self computeChildren.
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   765
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   766
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   767
    "Created: / 28-02-2014 / 23:46:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
397
579b4fd3e9a9 Implemented support for hiearchy SCMAbstractPackageRevision/HGPackageRevision.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 396
diff changeset
   768
    "Modified: / 07-03-2014 / 22:44:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   769
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   770
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   771
!SCMAbstractPackageWorkingCopy methodsFor:'queries'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   772
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   773
classesHasChanged
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   774
    "Return true, if list of classes has changed, i.e., a class
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   775
     was added, removed or renamed. False otherwise"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   776
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   777
    self updateCachedValues.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   778
    ^ classesHasChanged
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   779
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   780
    "Created: / 06-10-2012 / 23:16:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   781
    "Modified: / 28-02-2014 / 23:51:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   782
    "Modified (comment): / 03-03-2014 / 09:06:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   783
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   784
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   785
extensionsHasChanged
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   786
    "Return true, if list of extensions has changed, i.e., a method
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   787
     was added, removed or renamed. False otherwise"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   788
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   789
    self updateCachedValues.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   790
    ^ extensionsHasChanged
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   791
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   792
    "Created: / 06-10-2012 / 23:16:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   793
    "Modified: / 28-02-2014 / 23:51:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   794
    "Modified (comment): / 03-03-2014 / 09:07:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   795
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   796
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   797
hasChanges
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   798
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   799
    self updateCachedValues.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   800
    ^ changed
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   801
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   802
    "Created: / 03-03-2014 / 00:10:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   803
    "Modified: / 03-03-2014 / 09:08:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   804
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   805
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   806
hasChangesInClass: class
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   807
    "Return true, if there's a change in given class, false otherwise"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   808
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   809
    "/ Class which is not loaded could not be changed
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   810
    class isLoaded ifFalse:[^false].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   811
454
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 415
diff changeset
   812
    "/ Java classes that has been modified in St/X IDE have
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 415
diff changeset
   813
    "/ its source string set, those loaded from pre-compiled
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 415
diff changeset
   814
    "/ .class file has sourceString nil.
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 415
diff changeset
   815
    class isJavaClass ifTrue:[ 
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 415
diff changeset
   816
        ^ class sourceString notNil
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 415
diff changeset
   817
    ].
d17370e0936e Support for Java classes (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 415
diff changeset
   818
539
b6877b9f16c7 Fix for fileout of freshly imported classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   819
    "/ class has been filed in...
b6877b9f16c7 Fix for fileout of freshly imported classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   820
    class binaryRevisionString isNil ifTrue:[ 
b6877b9f16c7 Fix for fileout of freshly imported classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   821
        ^ true.
b6877b9f16c7 Fix for fileout of freshly imported classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   822
    ].
b6877b9f16c7 Fix for fileout of freshly imported classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   823
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   824
    class withAllPrivateClassesDo:[:each |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   825
        (ChangeSet current includesChangeForClass:each) ifTrue:[ ^ true ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   826
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   827
    class withAllPrivateClassesDo:[:each |
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   828
        each theNonMetaclass
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   829
            methodsDo:[:mth|(self hasChangesInMethod: mth) ifTrue:[^ true]].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   830
        each theMetaclass
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   831
            methodsDo:[:mth|(self hasChangesInMethod: mth) ifTrue:[^ true]].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   832
    ].
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   833
    ^false
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   834
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   835
    "Created: / 03-03-2014 / 09:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
539
b6877b9f16c7 Fix for fileout of freshly imported classes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 509
diff changeset
   836
    "Modified: / 21-04-2015 / 14:53:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   837
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   838
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   839
hasChangesInMethod: method
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   840
    "Return true, if the method's code has been edited, false otherwise"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   841
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   842
    ^ method package = name 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   843
        "/ This is not strictly true, for byte-code compiled method
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   844
        "/ sourcePosition is also non-nil...
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   845
        and:[ method getSourcePosition isNil ]
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   846
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   847
    "Created: / 03-03-2014 / 09:13:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   848
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   849
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   850
!SCMAbstractPackageWorkingCopy methodsFor:'testing'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   851
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   852
isVirtual
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   853
    "Return true, if the package is virtual, i.e., there's no code in
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   854
     the package. False otherwise.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   855
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   856
     Virtual packages serves merely as containers for nested packages"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   857
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   858
    self updateCachedValues.
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   859
    ^ virtual
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   860
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   861
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   862
    (HGPackageModel named: 'stx:libscm') isVirtual
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   863
    (HGPackageModel named: 'stx:libscm/mercurial') isVirtual
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   864
    "
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   865
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   866
    "Created: / 27-02-2014 / 22:46:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   867
    "Modified: / 28-02-2014 / 23:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   868
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   869
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   870
!SCMAbstractPackageWorkingCopy methodsFor:'utilities'!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   871
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   872
, anotherPackageModel
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   873
    ^ SCMCommonPackageModelGroup 
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   874
        with: self
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   875
        with: anotherPackageModel
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   876
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   877
    "Created: / 26-02-2014 / 22:43:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   878
!
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   879
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   880
ensureWorkingCopy
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   881
    "raise an error: must be redefined in concrete subclass(es)"
914
04391080b32d Rename "temporaryWorkingCopy" to just "workingCopy" thorough the code
Jan Vrany <jan.vrany@labware.com>
parents: 907
diff changeset
   882
    
396
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   883
    ^ self subclassResponsibility
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   884
! !
3c9d047e3841 Introduced a SCMAbstractPackageWorkingCopy and SCMAbstractPackageRevision...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   885
415
02e914a86b76 Fixes makefile generation after class rename
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 411
diff changeset
   886
!SCMAbstractPackageWorkingCopy class methodsFor:'documentation'!
02e914a86b76 Fixes makefile generation after class rename
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 411
diff changeset
   887
02e914a86b76 Fixes makefile generation after class rename
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 411
diff changeset
   888
version_HG
02e914a86b76 Fixes makefile generation after class rename
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 411
diff changeset
   889
02e914a86b76 Fixes makefile generation after class rename
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 411
diff changeset
   890
    ^ '$Changeset: <not expanded> $'
02e914a86b76 Fixes makefile generation after class rename
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 411
diff changeset
   891
! !
02e914a86b76 Fixes makefile generation after class rename
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 411
diff changeset
   892