Diff

Differences From Artifact [4c3823a4cf]:

To Artifact [48aa2ff0d9]:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23





















24
25
26
1
2
3
4
5
6
7
8
9
10













11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34










-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+



#! /usr/bin/env tclsh

set sourceDirectory [file dirname [file normalize [info script]]]
lappend auto_path [file join $sourceDirectory lib]
package require xvfs

proc ::xvfs::callback::setOutputFileName {args} {
	return "/"
}

proc ::xvfs::callback::addOutputFiles {fsName} {
	::xvfs::processFile $fsName "" "" {
		type directory
		children "foo"
	}
	::xvfs::processFile $fsName "" "foo" {
		type file
		fileContents "abc"
	}
	::xvfs::processFile $fsName "./xvfs-create-synthetic" "xvfs-create-synthetic" {
		type file
	}
	return [list "" "foo" "xvfs-create-synthetic"]
dict set ::myOwnVFS "" {
	type directory
	children {foo xvfs-create-synthetic}
}
dict set ::myOwnVFS "foo" {
	type file
	fileContents "abc"
}
dict set ::myOwnVFS "xvfs-create-synthetic" {
	type file
}

proc ::xvfs::callback::addOutputFiles {fsName} {
	dict for {outputName fileContentsDict} $::myOwnVFS {
		set inputFile $outputName
		if {[dict exists $fileContentsDict inputFile]} {
			set inputFile [dict get $fileContentsDict inputFile]
		}
		::xvfs::processFile $fsName $inputFile $outputName $fileContentsDict
	}
	return [dict keys $::myOwnVFS]
}

::xvfs::run --directory [pwd] --name synthetic