250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
|
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
|
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
|
return $result
}
#
# NOTE: This procedure creates and returns a script block designed for use
# with the package repository server in order to download and provide
# a package consisting of a set of files. The language argument must
# be the literal string "eagle" or the literal string "tcl". The
# version argument must be one of the literal strings "8.4", "8.5",
# or "8.6" when the language is "tcl" -OR- the literal string "1.0"
# when the language is "eagle". The platform argument must be an
# empty string -OR- one of the literal strings "neutral", "win32-arm",
# "win32-x86", "win64-arm64", "win64-ia64", or "win64-x64". The
# fileNames argument is the list of (fully?) qualified file names to
# be downloaded when the associated package is being provided. The
# options argument is reserved for future use, it should be an empty
# list.
# a package consisting of a set of files. The serverId argument is
# the identifier for the specific server to use, if any. The
# versionId argument is the identifier for the specific version to use,
# if any. The language argument must be the literal string "eagle" or
# the literal string "tcl". The version argument must be one of the
# literal strings "8.4", "8.5", or "8.6" when the language is "tcl"
# -OR- the literal string "1.0" when the language is "eagle". The
# platform argument must be an empty string -OR- one of the literal
# strings "neutral", "win32-arm", "win32-x86", "win64-arm64",
# "win64-ia64", or "win64-x64". The fileNames argument is the list of
# (fully?) qualified file names to be downloaded when the associated
# package is being provided. The options argument is reserved for
# future use, it should be an empty list.
#
# <public>
proc createRepositoryScript { language version platform fileNames options } {
proc createRepositoryScript {
serverId versionId language version platform fileNames options } {
::PackageDownloader::verifyServerId $serverId
::PackageDownloader::verifyVersionId $versionId
::PackageDownloader::verifyLanguageAndVersion $language $version isClient
set prologue ""
if {[string length $serverId] > 0} then {
append prologue " ::PackageDownloader::useServerId " $serverId \n
}
if {[string length $versionId] > 0} then {
append prologue " ::PackageDownloader::useVersionId " $versionId \n
}
append prologue " "
return [string trim [string map [list \r\n \n \
%language% [formatStringMapValue $language] \
%version% [formatStringMapValue $version] \
%platform% [formatStringMapValue $platform] \
%prologue% $prologue %ns% ::PackageDownloader \
%backslash% \\ %ns% ::PackageDownloader %fileNames% \
%backslash% \\ %fileNames% \
[getScriptChunkForFileNames $fileNames 2]] {
apply [list [list] {
package require Eagle.Package.Downloader
%ns%::resetCookieAndLoginSimple
%prologue%%ns%::resetCookieAndLoginSimple
set fileNames [list]
%fileNames%
set options [list %backslash%
-persistent false -usePgp true -useAutoPath true]
|