Artifact 97cb78f4d81eb51c65e3fe99c5cd072c64f79f33:
File
tools/lib/pkgIndex.tcl
part of check-in
[cdf5e6d8b7]
- Encapsulated access to the fossil and cvs applications in their own packages.
by
aku on
2007-09-13 06:59:24.
0000: 69 66 20 7b 21 5b 70 61 63 6b 61 67 65 20 76 73 if {![package vs
0010: 61 74 69 73 66 69 65 73 20 5b 70 61 63 6b 61 67 atisfies [packag
0020: 65 20 72 65 71 75 69 72 65 20 54 63 6c 5d 20 38 e require Tcl] 8
0030: 2e 34 5d 7d 20 72 65 74 75 72 6e 0a 70 61 63 6b .4]} return.pack
0040: 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 3a age ifneeded vc:
0050: 3a 72 63 73 3a 3a 70 61 72 73 65 72 20 20 20 20 :rcs::parser
0060: 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 73 1.0 [list s
0070: 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e ource [file join
0080: 20 24 64 69 72 20 72 63 73 70 61 72 73 65 72 2e $dir rcsparser.
0090: 74 63 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 tcl]].package if
00a0: 6e 65 65 64 65 64 20 76 63 3a 3a 63 76 73 3a 3a needed vc::cvs::
00b0: 63 6d 64 20 20 20 20 20 20 20 20 20 20 20 20 31 cmd 1
00c0: 2e 30 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 .0 [list source
00d0: 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 [file join $dir
00e0: 63 76 73 5f 63 6d 64 2e 74 63 6c 5d 5d 0a 70 61 cvs_cmd.tcl]].pa
00f0: 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 ckage ifneeded v
0100: 63 3a 3a 63 76 73 3a 3a 77 73 20 20 20 20 20 20 c::cvs::ws
0110: 20 20 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 1.0 [list
0120: 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f source [file jo
0130: 69 6e 20 24 64 69 72 20 63 76 73 2e 74 63 6c 5d in $dir cvs.tcl]
0140: 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 ].package ifneed
0150: 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a 3a 63 ed vc::fossil::c
0160: 6d 64 20 20 20 20 20 20 20 20 20 31 2e 30 20 5b md 1.0 [
0170: 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c list source [fil
0180: 65 20 6a 6f 69 6e 20 24 64 69 72 20 66 6f 73 73 e join $dir foss
0190: 69 6c 5f 63 6d 64 2e 74 63 6c 5d 5d 0a 70 61 63 il_cmd.tcl]].pac
01a0: 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 63 kage ifneeded vc
01b0: 3a 3a 66 6f 73 73 69 6c 3a 3a 77 73 20 20 20 20 ::fossil::ws
01c0: 20 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 20 1.0 [list
01d0: 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 source [file joi
01e0: 6e 20 24 64 69 72 20 66 6f 73 73 69 6c 2e 74 63 n $dir fossil.tc
01f0: 6c 5d 5d 0a 70 61 63 6b 61 67 65 20 69 66 6e 65 l]].package ifne
0200: 65 64 65 64 20 76 63 3a 3a 66 6f 73 73 69 6c 3a eded vc::fossil:
0210: 3a 69 6d 70 6f 72 74 3a 3a 63 76 73 20 31 2e 30 :import::cvs 1.0
0220: 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 [list source [f
0230: 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 69 6d ile join $dir im
0240: 70 6f 72 74 63 76 73 2e 74 63 6c 5d 5d 0a 70 61 portcvs.tcl]].pa
0250: 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 76 ckage ifneeded v
0260: 63 3a 3a 74 6f 6f 6c 73 3a 3a 6c 6f 67 20 20 20 c::tools::log
0270: 20 20 20 20 20 20 20 31 2e 30 20 5b 6c 69 73 74 1.0 [list
0280: 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f source [file jo
0290: 69 6e 20 24 64 69 72 20 6c 6f 67 2e 74 63 6c 5d in $dir log.tcl]
02a0: 5d 0a ].