|
6 | 6 | ⍝ If `batch` is 0 (the default) a message is returned via `r` reporting success, otherwise the |
7 | 7 | ⍝ path to the installation folder is returned. |
8 | 8 | r←'' |
9 | | - batch←{0<⎕NC ⍵:⍎⍵ ⋄ 0}'batch' |
10 | | - C←##.Cider |
11 | | - aplVersion←# ⎕WG'APLVersion' |
12 | | - selectFlag←0 |
13 | | - :Select os←C.APLTreeUtils2.GetOperatingSystem ⍬ |
14 | | - :Case 'Win' |
15 | | - :If ~⎕NEXISTS installFolder←if1←(2⊃4070⌶0),'\SessionExtensions\CiderTatin\Cider' |
16 | | - :AndIf ~⎕NEXISTS installFolder←if2←(1⊃⎕NPARTS 2⊃4070⌶0),'Dyalog APL Files\SessionExtensions\CiderTatin\Cider' |
17 | | - selectFlag←1 |
18 | | - :EndIf |
19 | | - :Case 'Lin' |
20 | | - :If ~⎕NEXISTS installFolder←if1←(2 ⎕NQ'.' 'GetEnvironment' 'HOME'),'/dyalog.files/SessionExtensions/CiderTatin/Cider' |
21 | | - :AndIf ~⎕NEXISTS installFolder←if2←(2 ⎕NQ'.' 'GetEnvironment' 'HOME'),'/','dyalog.',('.'~⍨{⍵/⍨2>+\⍵='.'}2⊃aplVersion),'U',(¯2↑1⊃aplVersion),'.files/SessionExtensions/CiderTatin/Cider' |
22 | | - selectFlag←1 |
23 | | - :EndIf |
24 | | - :Case 'Mac' |
25 | | - :If ~⎕NEXISTS installFolder←if1←(2 ⎕NQ'.' 'GetEnvironment' 'HOME'),'/dyalog.files/SessionExtensions/CiderTatin/Cider' |
26 | | - :AndIf ~⎕NEXISTS installFolder←if2←(2 ⎕NQ'.' 'GetEnvironment' 'HOME'),'/','dyalog.',('.'~⍨{⍵/⍨2>+\⍵='.'}2⊃aplVersion),'U',(¯2↑1⊃aplVersion),'.files/SessionExtensions/CiderTatin/Cider' |
27 | | - selectFlag←1 |
28 | | - :EndIf |
29 | | - :Else |
30 | | - 0 Assert⍨'OS <',os,'> is not supported' |
31 | | - :EndSelect |
32 | | - :If selectFlag |
33 | | - ind←'Into which folder?'C.CommTools.Select'Version specific' 'Version agnostic' |
34 | | - :If 0=≢ind |
35 | | - ⎕←'Cancelled by user' ⋄ →0 |
36 | | - :ElseIf ind=1 |
37 | | - installFolder←if1 |
38 | | - :ElseIf ind=2 |
39 | | - installFolder←if2 |
| 9 | + :If flag |
| 10 | + batch←{0<⎕NC ⍵:⍎⍵ ⋄ 0}'batch' |
| 11 | + C←##.Cider |
| 12 | + aplVersion←# ⎕WG'APLVersion' |
| 13 | + selectFlag←0 |
| 14 | + :Select os←C.APLTreeUtils2.GetOperatingSystem ⍬ |
| 15 | + :Case 'Win' |
| 16 | + :If ~⎕NEXISTS installFolder←if1←(2⊃4070⌶0),'\SessionExtensions\CiderTatin\Cider' |
| 17 | + :AndIf ~⎕NEXISTS installFolder←if2←(1⊃⎕NPARTS 2⊃4070⌶0),'Dyalog APL Files\SessionExtensions\CiderTatin\Cider' |
| 18 | + selectFlag←1 |
| 19 | + :EndIf |
| 20 | + :Case 'Lin' |
| 21 | + :If ~⎕NEXISTS installFolder←if1←(2 ⎕NQ'.' 'GetEnvironment' 'HOME'),'/dyalog.files/SessionExtensions/CiderTatin/Cider' |
| 22 | + :AndIf ~⎕NEXISTS installFolder←if2←(2 ⎕NQ'.' 'GetEnvironment' 'HOME'),'/','dyalog.',('.'~⍨{⍵/⍨2>+\⍵='.'}2⊃aplVersion),'U',(¯2↑1⊃aplVersion),'.files/SessionExtensions/CiderTatin/Cider' |
| 23 | + selectFlag←1 |
| 24 | + :EndIf |
| 25 | + :Case 'Mac' |
| 26 | + :If ~⎕NEXISTS installFolder←if1←(2 ⎕NQ'.' 'GetEnvironment' 'HOME'),'/dyalog.files/SessionExtensions/CiderTatin/Cider' |
| 27 | + :AndIf ~⎕NEXISTS installFolder←if2←(2 ⎕NQ'.' 'GetEnvironment' 'HOME'),'/','dyalog.',('.'~⍨{⍵/⍨2>+\⍵='.'}2⊃aplVersion),'U',(¯2↑1⊃aplVersion),'.files/SessionExtensions/CiderTatin/Cider' |
| 28 | + selectFlag←1 |
| 29 | + :EndIf |
40 | 30 | :Else |
41 | | - ∘∘∘ ⍝ Huh?! |
| 31 | + 0 Assert⍨'OS <',os,'> is not supported' |
| 32 | + :EndSelect |
| 33 | + :If selectFlag |
| 34 | + ind←'Into which folder?'C.CommTools.Select'Version specific' 'Version agnostic' |
| 35 | + :If 0=≢ind |
| 36 | + ⎕←'Cancelled by user' ⋄ →0 |
| 37 | + :ElseIf ind=1 |
| 38 | + installFolder←if1 |
| 39 | + :ElseIf ind=2 |
| 40 | + installFolder←if2 |
| 41 | + :Else |
| 42 | + ∘∘∘ ⍝ Huh?! |
| 43 | + :EndIf |
42 | 44 | :EndIf |
43 | | - :EndIf |
44 | | - ZIPs←C.FilesAndDirs.ListFiles ##.CiderConfig.HOME,'/Dist/*.zip' |
45 | | - ZIPs←{⍵/⍨'Installed-'{⍺∘≢¨(≢⍺)↑¨{2⊃⎕NPARTS ⍵}¨⍵}⍵}ZIPs |
46 | | - Assert 1=≢ZIPs |
47 | | - zipFilename←⊃ZIPs |
48 | | - :If batch |
49 | | - q←'Install:',(⎕UCS 13),(' ',zipFilename),(⎕UCS 13),'into:',(⎕UCS 13),' ',installFolder,' ?' |
50 | | - :OrIf C.CommTools.YesOrNo q |
51 | | - {}##.Cider.FilesAndDirs.RmDir installFolder |
52 | | - 3 ⎕MKDIR installFolder |
53 | | - res←⎕SE.Tatin.InstallPackages(⊃ZIPs)installFolder |
54 | | - Assert 1=≢res |
55 | | - Assert(1⊃res)≡(2⊃⎕NPARTS zipFilename) |
| 45 | + ZIPs←C.FilesAndDirs.ListFiles ##.CiderConfig.HOME,'/Dist/*.zip' |
| 46 | + ZIPs←{⍵/⍨'Installed-'{⍺∘≢¨(≢⍺)↑¨{2⊃⎕NPARTS ⍵}¨⍵}⍵}ZIPs |
| 47 | + Assert 1=≢ZIPs |
| 48 | + zipFilename←⊃ZIPs |
56 | 49 | :If batch |
57 | | - r←installFolder |
58 | | - :Else |
59 | | - ⎕SE.SALTUtils.ResetUCMDcache ¯1 |
60 | | - r←'*** Cider installed in ',installFolder |
| 50 | + q←'Install:',(⎕UCS 13),(' ',zipFilename),(⎕UCS 13),'into:',(⎕UCS 13),' ',installFolder,' ?' |
| 51 | + :OrIf C.CommTools.YesOrNo q |
| 52 | + {}##.Cider.FilesAndDirs.RmDir installFolder |
| 53 | + 3 ⎕MKDIR installFolder |
| 54 | + res←⎕SE.Tatin.InstallPackages(⊃ZIPs)installFolder |
| 55 | + Assert 1=≢res |
| 56 | + Assert(1⊃res)≡(2⊃⎕NPARTS zipFilename) |
| 57 | + :If batch |
| 58 | + r←installFolder |
| 59 | + :Else |
| 60 | + ⎕SE.SALTUtils.ResetUCMDcache ¯1 |
| 61 | + r←'*** Cider installed in ',installFolder |
| 62 | + :EndIf |
61 | 63 | :EndIf |
62 | 64 | :EndIf |
0 commit comments