Modified for CW Pro 1 projects. Convention used: .mu files are old

project files, which have to be cleaned up before checking in, .prj
files are CW Pro 1 projects (which are always clean). Prj files are
still binhexed, even though they only have a data fork (and, hence,
could be checked in in binary mode).
This commit is contained in:
Jack Jansen 1997-08-08 14:51:54 +00:00
parent 6654422407
commit e3fa8747fa
3 changed files with 70 additions and 56 deletions

View file

@ -2,7 +2,7 @@
:&%9NDA43HA4SEfj3FQ9QFbjbFh*M!(*cFQ058d9%!3#3"`m+@DJ!N!3"!!!!$FN
!!!c*!!!"36B8)&3JD!!8)&"p%E"S%3!k!@FQ%Lm-6VS#$!`k!&Tj&%9NDA43HA4
SEfj3FQ9QFbjbFh*MF`)!!!!rN!B!!$q3#!#3'+l'Bf!!N!B2#[m4`+KT!4e!%Ir
SEfj3FQ9QFbjbFh*MF`)!!!!rN!B!!$q3#!#3',!'2ed!N!B2#[m4`+KT!4e!%Ir
c%h!!%#lrmlh5%@B386Dq9@X"!8*%[D'q9@X"!6"4-J&R(N39$!!!('85F!!3,N-
9$!!!(f)'F!&J!!%"!LaD9#dZ4,d"!"Xm!@B`*e8q'NU!)&-#+!#r!#iL!1d*!J%
!3)-Sfc36UGF[$%kk!3P+CfX"!+CA3cS!!!%!!!%!!!!#J!!!"%!!!!JJ!!!3%!!
@ -48,17 +48,17 @@ jG'K[EL"SEfeP)'C[E'4PFLNk!*!&!4-!&!%P!5X%'N4PCQ&eE(3JFh4KFR4eF#"
1"4G8FQ&MC5"TEA"[FR3JFh4KG'9YC@jdFi)!N!9*!!N!@`%0"4a6GA"`FQ9cFb"
PH("bCA0cD@pZ)("bD@jdD@jR!*!&A`!*!(%"$!8B9@jLG@CQCA*PC#"cG'4[GA3
[Fh4NCA*b!*!&G3!*!)F"#`864'9LG@FJF'&bFf9b)'peG("eG'8!N!@J!"i!XJ#
-"3Y1Eh*YB@`JCAKTG(-!N!@J!+!!XJ%+"3TPFR*[FL"PH'Pd!*!&i!!+!2%"#`8
E4'PcB@*XC5"KFQGM,f&bChBJC@eeE'&dD@pZ"J#3"I3!#J%'!3`&)N4TFf&LE'8
JD@jdCA*KBh4TGQ8JEh"dD@pZ,A0PG(4TEQF!N!@i!+!!b!$V%!#3"X`!S!$F!1X
-"3Y1Eh*YB@`JCAKTG(-!N!@J!+!!XJ%+"3TPFR*[FL"PH'Pd!*!&i3!+!2-"$!8
L4'PcB@*XC5"TER4PFQ&MG'PfC5"[F(4TEfiYFf9dG'PZC`#3"I8!#J%'!3X&'d4
TFf&LE'8JBA*RBbpKFQGf)'9YG@aKG'P[EQF!N!@i!+!!b!$V%!#3"X`!S!$F!1X
3!*!&!3J!#J%D!3X&)84PE'&j)'0[ER0[E'8JGfPZC'ph)(9ZG'PX)'jPC@4PC!#
3"3%I!08"-`%2"!*25`#3"!%I!!S"-`"("!C$B@jMC@`!N!8'!#B!&`$ZL"T3HA4
SEfiJD@jdCA*`FQ9dCA)JEh"dD@pZF`#3"B`!#J#F!3Z)'NYPCA!JFh4ND@mJGfP
ZC'ph)'p`C@iJEfik!*!&Z!!+!-N!PiJ94'9QBA9XG#"QD@aP)'0bC@&dEh)kC3#
3"F`!#J$G!*H)%N4PCQ&eE(3JCQPXC5"dHA"P1J!!!3!!!!h*!!!-b3!!!8%$XY4
d*4J!!!!F!6)!#d*14%`!!!"L5801)`!!!'j659T&!!!!HNC548B!!3#'D@0c)`!
3"F`!#J$G!*H)%N4PCQ&eE(3JCQPXC5"dHA"P1J!!!3!!!!h*!!!-b3!!!8%$@l4
),HJ!!!!F!6)!#d*14%`!!!"L5801)`!!!'j659T&!!!!HNC548B!!3#'D@0c)`!
!!*jTBf`i!!!!UQPMFcJ!!!#fD@0c0!!!!-*TBf`d!!!!cN4-6dF!!3$D4%P86!!
"!2*3HA3`!!!"#J#!rrm!!!ND!*!%!5crr`#3#2q3"!!!!33!N!@!rrm!!!%5!*!
&JIrr!!!*$`#3"!%Xrrm!!!%G!*!%!5crr`!!!@%!N!3",2rr!!!&C3#3"!%Xrrm
!!!CT!*!%!5crr`!!"Zd!N!3"rrrr!!!)m31bdd`"r[rr!!!+8!1bdN!"rrrr!!!
*3J#3"!(qrrm!!!TT!*!+#3S!N!316hGZCA)JFQ9cEh9bBf@XE!:
!!!CT!*!%!5crr`!!"Zd!N!3"rrrr!!!)m3#3"!(qrrm!!!T3!*!%!Irrr`!!#8)
$@lF-!Ilrr`!!#QN$@lF%!*!'#3S!N!316hGZCA)JFQ9cEh9bBf8aD3:

View file

@ -2,30 +2,29 @@
:$%eV4'PcG()ZFR0bB`"bFh*M8P0&4!%!N!F&Lh`-!*!%!3!!!!3X!!!$,!!!!9m
8T8SJ&+9+%"5P5rJ6'6!)%!!!#"!!!!J3!!!)%!!!#!a0Dd4TFh4b,R*cFQ0b!J!
!!(*cFQ058d9%!3!"1!#3"(*cFQ058d9%!3!"1!#3&+fG)[m!N!B&Lrri(rrq!"r
rr`!Irrq!(rrr`"rrrq!Irrr`(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"r
rrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"r
rrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJ!!!"D!!-!N!8i!4m!6!&C"!G&H'0
XG@4P!*!'1!!(!%`!333'3f&ZBf9X!*!&&!"a!#-"@4!*4@4TG#"8CAKd@`#3"43
!"`!N!&k)#&"KG(4PFQik!!!!Q!!'!*!&93%I!'N"@33(5@jME(9NC3#3"P8!#J"
T!%3%"N0KEQ0PE!#3"43!F3!M!9N3#89NDA3J9'9iG,i!N!8b!(!!33&C%!#3"P8
!e3"T!3m%"d9iBfaeC'8!N!B8!!S!*!"KL!G6Eh9bBf8kG!#3"6)!#J"#!'')$%4
PFh4TEQ&dD@pZ1J!!!%i!!`#3"3S!#J$G!Bi!N!I`!4N""3'0"!C%C@aPG'8!N!A
`!)N""!%""!G&C'Pd,LiZ!*!'m!!+!3-!F`3'3@4N,LiZ!!!!&3"`!'i!d`&G!!%
"!!%!N!8#"!#3"'i!"!#3"3S!#J$G!Bi!N!I`!6B""3'-"!T%DA0dFQPLGA4P!*!
&m!$5!33",J3+3fKPBfXJG(*PC3#3"I!!#J%%!')%#NPZBfaeC'8Z,Li!N!A`!'i
""!$'"!G&H'0XG@4P!*!%+!!S!#J"1J(%!!!"!!%!N!8#!a03BA4dCA*ZFb"dEb"
TEQ0XG@4P!!!!+!"F!$i!d3'K!!8"!!%!N!8#!"0*EQ0XG@4P)'CTE'8[CQpXC'9
b!!!!*!"F!$i!YJ'I!!8"!!%!N!8#!3p&H'0XG@4P)("KG(4PFQi!!!!X!#J!+!%
k!F3!!!%!N!F#!KG'D@aPFb"dEb"LC5"MBA4PCfpbDATPC!!!!$%!+!!S!6S"a!!
!!3!"!*!&!J-F4QPXCA-JB@jN)'C[E'4PFR-JG'mJD@jME(9NC3!!!'`!!J#3"3N
!$!!G!0d%(e0PE'9MG#"PH'PcG'PZCb"NDA0dFQPLGA4TEfiZ,Li!N!BP!!X!13$
F""T$FQ9KG'8JEQ9h)'4TFh4bD@*eG'P[ELiZ,J#3"8)!$!"@!0d%"N0KEQ0PE!!
!!3!!!!3X!!!$,!!!!9m"[JKd(cJ!!!!F!,)!!84-6dF!"3!54%P86!!%!&S#!*!
&!J-"[JG-!J%!$`!!!Lm"[JG8!J)!(J!!!PF"[JG)!J-!RJ!!!SF"[JG%!J3!)`!
!!8`"[JG!!J8!M`!!!GF"[JFm!J!!03!!!&i!N!3#!3"%!*!)!J)!8`!!!@8!N!3
#!`"I!!!!qJ#3"!)%!(B!!!+m!*!%$NPZBfaeC'8JC'PKE'pR$N9iBfaeC'8JC'P
KE'pR"%eKD@i44'PcG(*TBR9dD@pZ)(4jF'818h*M,f4cG#"ND@&XEfF14AKME(9
NC5"ND@&XEfF,6@&TEL"hD@jNEhF@5@jME(9NC5pPH'0XG@4P)(GTEQ4[GaK%DA0
dFQPLGA4TEfiJG(P`C5"hD@jNEhF14AKME(9NC5"hD@jNEhF15@jME(9NC5"hD@j
NEhF"H!:
!!$q3#!#3#$q3#!#3'+qVD1!!N!B&Lrri(rrq!"rrr`!Irrq!(rrr`"rrrq!Irrr
`(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrr
i(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrr
i(rrrq"rrrrJ!!!"D!!-!N!8i!4m!6!&C"!G&H'0XG@4P!*!'1!!(!%`!333'3f&
ZBf9X!*!&&!"a!#-"@4!*4@4TG#"8CAKd@`#3"43!"`!N!&k)#&"KG(4PFQik!!!
!Q!!'!*!&93%I!'N"@33(5@jME(9NC3#3"P8!#J"T!%3%"N0KEQ0PE!#3"43!F3!
M!9N3#89NDA3J9'9iG,i!N!8b!(!!33&C%!#3"P8!e3"T!3m%"d9iBfaeC'8!N!B
8!!S!*!"KL!G6Eh9bBf8kG!#3"6)!#J"#!'')$%4PFh4TEQ&dD@pZ1J!!!%i!!`#
3"3S!#J$G!Bi!N!I`!4N""3'0"!C%C@aPG'8!N!A`!)N""!%""!G&C'Pd,LiZ!*!
'm!!+!3-!F`3'3@4N,LiZ!!!!&3"`!'i!d`&G!!%"!!%!N!8#"!#3"'i!"!#3"3S
!#J$G!Bi!N!I`!6B""3'-"!T%DA0dFQPLGA4P!*!&m!$5!33",J3+3fKPBfXJG(*
PC3#3"I!!#J%%!')%#NPZBfaeC'8Z,Li!N!A`!'i""!$'"!G&H'0XG@4P!*!%+!!
S!#J"1J(%!!!"!!%!N!8#!a03BA4dCA*ZFb"dEb"TEQ0XG@4P!!!!+!"F!$i!d3'
K!!8"!!%!N!8#!"0*EQ0XG@4P)'CTE'8[CQpXC'9b!!!!*!"F!$i!YJ'I!!8"!!%
!N!8#!3p&H'0XG@4P)("KG(4PFQi!!!!X!#J!+!%k!F3!!!%!N!F#!KG'D@aPFb"
dEb"LC5"MBA4PCfpbDATPC!!!!$%!+!!S!6S"a!!!!3!"!*!&!J-F4QPXCA-JB@j
N)'C[E'4PFR-JG'mJD@jME(9NC3!!!'`!!J#3"3N!$!!G!0d%(e0PE'9MG#"PH'P
cG'PZCb"NDA0dFQPLGA4TEfiZ,Li!N!BP!!X!13$F""T$FQ9KG'8JEQ9h)'4TFh4
bD@*eG'P[ELiZ,J#3"8)!$!"@!0d%"N0KEQ0PE!!!!3!!!!3X!!!$,!!!!9m"[JK
d(cJ!!!!F!,)!!84-6dF!"3!54%P86!!%!&S#!*!&!J-"[JG-!J%!$`!!!Lm"[JG
8!J)!(J!!!PF"[JG)!J-!RJ!!!SF"[JG%!J3!)`!!!8`"[JG!!J8!M`!!!GF"[JF
m!J!!03!!!&i!N!3#!3"%!*!)!J)!8`!!!@8!N!3#!`"I!!!!qJ#3"!)%!(B!!!+
m!*!%$NPZBfaeC'8JC'PKE'pR$N9iBfaeC'8JC'PKE'pR"%eKD@i44'PcG(*TBR9
dD@pZ)(4jF'818h*M,f4cG#"ND@&XEfF14AKME(9NC5"ND@&XEfF,6@&TEL"hD@j
NEhF@5@jME(9NC5pPH'0XG@4P)(GTEQ4[GaK%DA0dFQPLGA4TEfiJG(P`C5"hD@j
NEhF14AKME(9NC5"hD@jNEhF15@jME(9NC5"hD@jNEhGTaJ:

View file

@ -24,7 +24,7 @@ class MwShell(aetools.TalkTo, Metrowerks_Shell_Suite, Required_Suite):
# Where to put CW projects, relative to TOP
CWDIR=':Mac:mwerks:projects'
# From which folders to put projects there
CWDIRDIRS=['build.macppc.stand', 'build.macppc.shared', 'build.mac68k.stand', 'build.mac68k.shared', 'PlugIns']
CWDIRDIRS=['build.mac', 'build.macstand', 'PlugIns']
# Helper routines
def binhexit(path, name):
@ -72,16 +72,14 @@ def binhexcompare(source, hqxfile):
def hexbincwprojects(creator):
"""Compact and hexbin all files remembered with a given creator"""
try:
mgr = MwShell(creator, start=1)
except 'foo':
print 'Not handled:', creator
return
cw_running = 0
for fss in project_files[creator]:
srcfile = fss.as_pathname()
old_style = 0
if srcfile[-1] == 'µ':
dstfile = srcfile[:-1]+'mu.hqx'
old_style = 1
elif srcfile[-3] == '.mu':
dstfile = srcfile + '.hqx'
elif ord(srcfile[-1]) >= 128:
@ -94,14 +92,23 @@ def hexbincwprojects(creator):
print 'Skip', dstfile,'- Up-to-date'
continue
print 'Compacting', dstfile
mgr.open(fss)
mgr.Reset_File_Paths()
mgr.Remove_Binaries()
mgr.Close_Project()
if old_style:
if not cw_running:
try:
mgr = MwShell(creator, start=1)
except 'foo':
print 'Not handled:', creator
return
cw_running = 1
mgr.open(fss)
mgr.Reset_File_Paths()
mgr.Remove_Binaries()
mgr.Close_Project()
print 'Binhexing', dstfile
binhex.binhex(srcfile, dstfile)
mgr.quit()
if cw_running:
mgr.quit()
def copycwproject(path, name):
"""Copy CW project (if needed) and remember for hexbinning"""
@ -119,19 +126,25 @@ def copycwproject(path, name):
return
dstfile = os.path.join(dstdir, os.path.join(srcdir, name))
else:
if path[-2:] != '':
if path[-2:] == '':
dstfile = path[:-2]+ '.mu'
elif path[-4:] == '.prj':
dstfile = None
else:
return
dstfile = path[:-2]+ '.mu'
# If the destination doesn't exists or is older that the source
# we copy and remember it
if os.path.exists(dstfile) and \
os.stat(dstfile)[8] >= os.stat(path)[8]:
print 'Not copying', path,'- Up-to-date'
if dstfile:
# If the destination doesn't exists or is older that the source
# we copy and remember it
if os.path.exists(dstfile) and \
os.stat(dstfile)[8] >= os.stat(path)[8]:
print 'Not copying', path,'- Up-to-date'
else:
print 'Copy', path
macostools.copy(path, dstfile)
else:
print 'Copy', path
macostools.copy(path, dstfile)
dstfile = path
fss = macfs.FSSpec(dstfile)
creator = fss.GetCreatorType()[0]
@ -177,6 +190,8 @@ def copycwexpfile(path, name):
('.rsrc', binhexit),
('.gif', binhexit),
('', copycwproject),
('.prj', copycwproject),
('.prj.exp', copycwexpfile),
('.µ.exp', copycwexpfile)
]