17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#
# NOTE: Use our own namespace here because even though we do not directly
# support namespaces ourselves, we do not want to pollute the global
# namespace if this script actually ends up being evaluated in Tcl.
#
namespace eval ::PackageRepository {
#
# NOTE: This package absolutely requires the Eagle core script library
# package, even when it is being used by native Tcl. If needed,
# prior to loading this package, the native Tcl auto-path should
# be modified to include the "Eagle1.0" directory (i.e. the one
# containing the Eagle core script library file "init.eagle").
#
package require Eagle.Library
#
# NOTE: This procedure returns a formatted, possibly version-specific,
# package name, for use in logging.
#
proc formatPackageName { package version } {
return [string trim [appendArgs $package " " $version]]
|
>
>
>
>
>
>
>
|
>
>
|
|
|
|
>
|
>
>
>
>
>
>
>
>
>
>
>
>
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#
# NOTE: Use our own namespace here because even though we do not directly
# support namespaces ourselves, we do not want to pollute the global
# namespace if this script actually ends up being evaluated in Tcl.
#
namespace eval ::PackageRepository {
#
# NOTE: When running from the source tree, modify the auto-path to include
# the "Eagle1.0" directory within externals.
#
if {1} then {
lappend ::auto_path [file join [file dirname [file dirname \
[file dirname [info script]]]] externals Eagle lib Eagle1.0]
}
#
# NOTE: This package requires several packages from the Eagle core script
# library, even when it is being used by native Tcl. If necessary,
# prior to evaluating this file in native Tcl, its auto-path should
# be modified to include an "Eagle1.0" directory (i.e. a directory
# containing the Eagle core script library files "auxiliary.eagle",
# "file1.eagle", and "platform.eagle").
#
package require Eagle.Platform
package require Eagle.Auxiliary
package require Eagle.File
#
# NOTE: This block is intended to be evaluated successfully by native
# Tcl only.
#
catch {
::Eagle::exportAndImportPackageCommands ::Eagle [list \
appendArgs getDictionaryValue isEagle readFile writeFile] \
false false
}
#
# NOTE: This procedure returns a formatted, possibly version-specific,
# package name, for use in logging.
#
proc formatPackageName { package version } {
return [string trim [appendArgs $package " " $version]]
|