-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathdev.nb
9567 lines (9468 loc) · 535 KB
/
dev.nb
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
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
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
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 13.1' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 547652, 9559]
NotebookOptionsPosition[ 538980, 9422]
NotebookOutlinePosition[ 539761, 9445]
CellTagsIndexPosition[ 539718, 9442]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[CellGroupData[{
Cell["Final", "Section",
CellChangeTimes->{{3.85278836626229*^9,
3.852788369169524*^9}},ExpressionUUID->"e838dce8-e4a9-4ca7-8d34-\
9011b631674c"],
Cell[BoxData[
RowBox[{
RowBox[{"dir", "=", "\"\<D:\\\\werk\\\\workspace\\\\QMRITools\>\""}],
";"}]], "Input",
CellChangeTimes->{3.8655778688677444`*^9},
CellLabel->"In[9]:=",ExpressionUUID->"38466615-cdb3-41c3-9cbe-2dd2ab815957"],
Cell[CellGroupData[{
Cell["Functions", "Subsection",
CellChangeTimes->{{3.85960740161077*^9,
3.859607404280246*^9}},ExpressionUUID->"2b47722d-d1db-4a96-a3c0-\
9ee34ae20352"],
Cell[BoxData[{
RowBox[{"Needs", "[", "\"\<PacletTools`\>\"", "]"}], "\[IndentingNewLine]",
RowBox[{"Needs", "[", "\"\<DocumentationBuild`\>\"", "]"}]}], "Input",
InitializationCell->True,
CellLabel->"In[1]:=",ExpressionUUID->"482abba0-2105-4d77-b848-81e97fb3ecb3"],
Cell[BoxData[
RowBox[{
RowBox[{"LoadApplicationFolder", "[", "location_", "]"}], ":=",
RowBox[{"Block", "[",
RowBox[{
RowBox[{"{",
RowBox[{"name", ",", "loc", ",", "pac"}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"name", "=",
RowBox[{"Last", "@",
RowBox[{"FileNameSplit", "[", "location", "]"}]}]}], ";",
"\[IndentingNewLine]",
RowBox[{"loc", "=",
RowBox[{"FileNameJoin", "[",
RowBox[{"{",
RowBox[{"location", ",", "name"}], "}"}], "]"}]}], ";",
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"Print", "[", "loc", "]"}], ";", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{
"load", " ", "directory", " ", "and", " ", "update", " ", "paclet", " ",
"data"}], "*)"}], "\[IndentingNewLine]",
RowBox[{"PacletDirectoryLoad", "[", "loc", "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"PacletDataRebuild", "[", "]"}], ";", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{
"get", " ", "the", " ", "name", " ", "and", " ", "find", " ", "the",
" ", "pacletObject"}], "*)"}], "\[IndentingNewLine]",
RowBox[{"pac", "=",
RowBox[{"First", "@",
RowBox[{"Select", "[",
RowBox[{
RowBox[{"PacletFind", "[", "name", "]"}], ",",
RowBox[{
RowBox[{
RowBox[{"#", "[", "\"\<Location\>\"", "]"}], "===", "loc"}],
"&"}]}], "]"}]}]}], ";", "\[IndentingNewLine]",
RowBox[{"PacletDirectoryUnload", "[", "loc", "]"}], ";",
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"define", " ", "output"}], "*)"}], "\[IndentingNewLine]",
RowBox[{"Print", "[", "\"\<Loading dev application:\>\"", "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"Print", "[", "pac", "]"}], ";", "\[IndentingNewLine]",
"pac"}]}], "\[IndentingNewLine]", "]"}]}]], "Input",
InitializationCell->True,
CellChangeTimes->{
3.865577612047282*^9, {3.865577972855522*^9, 3.8655779932220545`*^9}, {
3.865578023684369*^9, 3.865578058030753*^9}},
CellLabel->"In[3]:=",ExpressionUUID->"fcf5a211-25c4-42cb-9c0d-ecd955395106"],
Cell[BoxData[{
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Options", "[", "ApplicationBuild", "]"}], "=",
RowBox[{"{", "\[IndentingNewLine]",
RowBox[{
RowBox[{"RebuildDoc", "->", "False"}], ",", "\[IndentingNewLine]",
RowBox[{"RebuildHTMLDoc", "->", "False"}], ",", "\[IndentingNewLine]",
RowBox[{"MakeArchive", "->", "False"}], ",", "\[IndentingNewLine]",
RowBox[{"MakePaclet", "->", "True"}], ",", "\[IndentingNewLine]",
RowBox[{"RebuildExtentions", "->", "False"}]}], "\[IndentingNewLine]",
"}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"ApplicationBuild", "[",
RowBox[{
RowBox[{"location_", "?", "StringQ"}], ",",
RowBox[{"opts", ":",
RowBox[{"OptionsPattern", "[", "]"}]}]}], "]"}], ":=",
RowBox[{"ApplicationBuild", "[",
RowBox[{
RowBox[{"LoadApplicationFolder", "[", "location", "]"}], ",", "opts"}],
"]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"ApplicationBuild", "[",
RowBox[{"pac_", ",",
RowBox[{"OptionsPattern", "[", "]"}]}], "]"}], ":=",
RowBox[{"Block", "[",
RowBox[{
RowBox[{"{",
RowBox[{"(*",
RowBox[{
"location", ",", "name", ",", "filesApp", ",", "filesAppTar", ",",
"buildDir", ",", "files", ",", "partsG", ",", "parts"}], "*)"}], "}"}],
",", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"get", " ", "packlet", " ", "information"}], "*)"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{"location", "=",
RowBox[{"pac", "[", "\"\<Location\>\"", "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"name", "=",
RowBox[{"pac", "[", "\"\<Name\>\"", "]"}]}], ";", "\[IndentingNewLine]",
RowBox[{"buildDir", "=",
RowBox[{"FileNameJoin", "[",
RowBox[{"{",
RowBox[{
RowBox[{"DirectoryName", "@", "location"}], ",", "\"\<build\>\"",
",", "\"\<QMRITools\>\""}], "}"}], "]"}]}], ";",
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"Print", "[",
RowBox[{
"\"\<Building \>\"", "<>", "name", "<>", "\"\< in location \>\"", "<>",
"buildDir"}], "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"copy", " ", "all", " ", "*",
RowBox[{".", "wl"}], " ", "and", " ", "extention", " ", "files"}],
"*)"}], "\[IndentingNewLine]",
RowBox[{"Print", "[",
RowBox[{"\"\< - Building application \>\"", "<>",
RowBox[{"If", "[",
RowBox[{
RowBox[{"OptionValue", "[", "RebuildExtentions", "]"}], ",",
"\"\<with\>\"", ",", "\"\<without\>\""}], "]"}], "<>",
"\"\< the extentions\>\""}], "]"}], ";", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"get", " ", "filenames"}], "*)"}], "\[IndentingNewLine]",
RowBox[{"filesApp", "=",
RowBox[{"Prepend", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"files", "=",
RowBox[{"Flatten", "[",
RowBox[{
RowBox[{"Select", "[",
RowBox[{
RowBox[{"Normal", "[",
RowBox[{"PacletExtensionFiles", "[",
RowBox[{"pac", ",",
RowBox[{"\"\<SystemID\>\"", "->", "All"}]}], "]"}], "]"}],
",",
RowBox[{
RowBox[{
RowBox[{"#", "[",
RowBox[{"[",
RowBox[{"1", ",", "1"}], "]"}], "]"}], "=!=",
"\"\<Documentation\>\""}], "&"}]}], "]"}], "[",
RowBox[{"[",
RowBox[{"All", ",", "2"}], "]"}], "]"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{"OptionValue", "[", "RebuildExtentions", "]"}], ",",
"files", ",",
RowBox[{"Select", "[",
RowBox[{"files", ",",
RowBox[{
RowBox[{
RowBox[{"FileExtension", "[", "#", "]"}], "==", "\"\<wl\>\""}],
"&"}]}], "]"}]}], "]"}]}], ",", "\[IndentingNewLine]",
RowBox[{"FileNameJoin", "[",
RowBox[{"{",
RowBox[{"location", ",", "\"\<PacletInfo.wl\>\""}], "}"}], "]"}]}],
"\[IndentingNewLine]", "]"}]}], ";", "\[IndentingNewLine]",
RowBox[{"filesAppTar", "=",
RowBox[{
RowBox[{
RowBox[{"StringReplace", "[",
RowBox[{"#", ",",
RowBox[{"location", "->", "buildDir"}]}], "]"}], "&"}], "/@",
"filesApp"}]}], ";", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"copy", " ", "files"}], "*)"}], "\[IndentingNewLine]",
RowBox[{"MapThread", "[",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"Quiet", "@",
RowBox[{"CreateDirectory", "[",
RowBox[{"DirectoryName", "[", "#2", "]"}], "]"}]}], ";",
RowBox[{"CopyFile", "[",
RowBox[{"#1", ",", "#2", ",",
RowBox[{"OverwriteTarget", "\[Rule]", "True"}]}], "]"}]}], ")"}],
"&"}], ",",
RowBox[{"{",
RowBox[{"filesApp", ",", "filesAppTar"}], "}"}]}], "]"}], ";",
"\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"rebuild", " ", "doc", " ", "if", " ", "needed"}], "*)"}],
"\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{"OptionValue", "[", "RebuildDoc", "]"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[", "\"\< - Rebuilding documentation\>\"", "]"}],
";", "\[IndentingNewLine]",
RowBox[{"PacletDocumentationBuild", "[",
RowBox[{"pac", ",",
RowBox[{"DirectoryName", "@", "buildDir"}], ",",
RowBox[{"OverwriteTarget", "\[Rule]", "True"}]}], "]"}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{
"Print", "[", "\"\< - Not building documentation\>\"", "]"}],
";"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]",
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"rebuild", " ", "HTML", " ", "doc", " ", "if", " ", "needed"}],
"*)"}], "\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{"OptionValue", "[", "RebuildHTMLDoc", "]"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{
"Print", "[", "\"\< - Rebuilding html documentation\>\"", "]"}],
";", "\[IndentingNewLine]",
RowBox[{"PacletDocumentationBuild", "[",
RowBox[{"pac", ",",
RowBox[{"FileNameJoin", "[",
RowBox[{"{",
RowBox[{
RowBox[{"DirectoryName", "@", "buildDir"}], ",",
RowBox[{"name", "<>", "\"\<-html\>\""}]}], "}"}], "]"}], ",",
"\"\<HTML\>\"", ",",
RowBox[{"\"\<UseLanguageExtension\>\"", "->", "False"}], ",",
RowBox[{"OverwriteTarget", "\[Rule]", "True"}]}], "]"}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{
"Print", "[", "\"\< - Not building html documentation\>\"", "]"}],
";"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{
"make", " ", "the", " ", "archives", " ", "for", " ", "git", " ",
"release"}], "*)"}], "\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{"OptionValue", "[", "MakeArchive", "]"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[", "\"\< - Making archive\>\"", "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"CreateArchive", "[",
RowBox[{"buildDir", ",",
RowBox[{"FileNameJoin", "[",
RowBox[{"{",
RowBox[{"buildDir", ",",
RowBox[{"name", "<>", "\"\<-\>\"", "<>",
RowBox[{"pac", "[", "\"\<Version\>\"", "]"}], "<>",
"\"\<.zip\>\""}]}], "}"}], "]"}], ",",
RowBox[{"OverwriteTarget", "\[Rule]", "True"}]}], "]"}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[", "\"\< - Not making archive\>\"", "]"}],
";"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{
"make", " ", "the", " ", "packlet", " ", "for", " ", "install"}],
"*)"}], "\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{"OptionValue", "[", "MakePaclet", "]"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[", "\"\<Making the install paclet\>\"", "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"CreatePacletArchive", "[", "buildDir", "]"}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[", "\"\<Not the install paclet\>\"", "]"}],
";"}]}], "\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]",
"]"}]}]}], "Input",
InitializationCell->True,
CellChangeTimes->{{3.8655776310643883`*^9, 3.8655776364175463`*^9}, {
3.8655797415201564`*^9, 3.865579748191532*^9}, {3.8660136107331023`*^9,
3.866013622382745*^9}, {3.866013786320322*^9, 3.86601382114403*^9}, {
3.866694743039318*^9, 3.866694743155916*^9}, {3.8666952086915693`*^9,
3.866695219796012*^9}, {3.867380478018813*^9, 3.8673804846105127`*^9},
3.8673807320799875`*^9},
CellLabel->"In[4]:=",ExpressionUUID->"ca10575f-2c86-4bbe-8069-b24af8920541"],
Cell[BoxData[{
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Options", "[", "ApplicationDeploy", "]"}], "=",
RowBox[{"{", "\[IndentingNewLine]",
RowBox[{
RowBox[{"RebuildExtentions", "->", "False"}], ",",
"\[IndentingNewLine]",
RowBox[{"RebuildApp", "->", "True"}], ",", "\[IndentingNewLine]",
RowBox[{"LoadApplication", "->", "True"}], ",", "\[IndentingNewLine]",
RowBox[{"VerboseLoad", "->", "True"}]}], "\[IndentingNewLine]", "}"}]}],
";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"ApplicationDeploy", "[",
RowBox[{"location_", ",",
RowBox[{"OptionsPattern", "[", "]"}]}], "]"}], ":=",
RowBox[{"Block", "[",
RowBox[{
RowBox[{"{",
RowBox[{
"pac", ",", "name", ",", "paclet", ",", "buildDir", ",", "install"}],
"}"}], ",", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"get", " ", "packlet", " ", "information"}], "*)"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{"pac", "=",
RowBox[{"LoadApplicationFolder", "[", "location", "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"name", "=",
RowBox[{"pac", "[", "\"\<Name\>\"", "]"}]}], ";", "\[IndentingNewLine]",
RowBox[{"buildDir", "=",
RowBox[{"FileNameJoin", "[",
RowBox[{"{",
RowBox[{"location", ",", "\"\<build\>\""}], "}"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"paclet", "=",
RowBox[{"FileNameJoin", "[",
RowBox[{"{",
RowBox[{"buildDir", ",",
RowBox[{"name", "<>", "\"\<-\>\"", "<>",
RowBox[{"pac", "[", "\"\<Version\>\"", "]"}], "<>",
"\"\<.paclet\>\""}]}], "}"}], "]"}]}], ";", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{"rebuild", " ", "apllication", " ", "if", " ", "needed"}],
"*)"}], "\[IndentingNewLine]",
RowBox[{"Print", "[", "\"\<Rebuilding application\>\"", "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"OptionValue", "[", "RebuildApp", "]"}], "||",
RowBox[{"(",
RowBox[{"!",
RowBox[{"FileExistsQ", "[", "paclet", "]"}]}], ")"}]}], ",",
"\[IndentingNewLine]",
RowBox[{"ApplicationBuild", "[",
RowBox[{"pac", ",",
RowBox[{"RebuildDoc", "->", "False"}], ",",
RowBox[{"RebuildHTMLDoc", "->", "False"}], ",",
RowBox[{"MakeArchive", "->", "False"}], ",", "\[IndentingNewLine]",
RowBox[{"MakePaclet", "->", "True"}], ",",
RowBox[{"RebuildExtentions", "->",
RowBox[{"OptionValue", "[", "RebuildExtentions", "]"}]}]}], "]"}]}],
"\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{
"deploy", " ", "the", " ", "application", " ", "from", " ", "the", " ",
"build", " ", "dir", " ", "to", " ", "the", " ", "target", " ",
"directory"}], "*)"}], "\[IndentingNewLine]",
RowBox[{"Print", "[", "\"\<Installing application\>\"", "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"PacletInstall", "[",
RowBox[{"paclet", ",",
RowBox[{"ForceVersionInstall", "->", "True"}], ",",
RowBox[{"KeepExistingVersion", "\[Rule]", "False"}]}], "]"}], ";",
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{
"Print", "[", "\"\<- Currently installed versions: \>\"", "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"Print", "[",
RowBox[{"Column", "@",
RowBox[{"PacletFind", "[", "name", "]"}]}], "]"}], ";",
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*",
RowBox[{
"reload", " ", "the", " ", "application", " ", "from", " ", "the", " ",
"target", " ", "folder"}], "*)"}], "\[IndentingNewLine]",
RowBox[{"If", "[",
RowBox[{
RowBox[{"OptionValue", "[", "LoadApplication", "]"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{
"Print", "[", "\"\<Reloading installed application\>\"", "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"ToExpression", "[",
RowBox[{"name", "<>", "\"\<`$Verbose = \>\"", "<>",
RowBox[{"ToString", "[",
RowBox[{"OptionValue", "[", "VerboseLoad", "]"}], "]"}]}], "]"}],
";", "\[IndentingNewLine]",
RowBox[{"Get", "[",
RowBox[{"name", "<>", "\"\<`\>\""}], "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"ToExpression", "[",
RowBox[{"name", "<>", "\"\<`$Verbose = False\>\""}], "]"}], ";"}]}],
"\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]",
"]"}]}]}], "Input",
InitializationCell->True,
CellChangeTimes->{{3.8520106318467007`*^9, 3.852010648243528*^9}, {
3.85201079312537*^9, 3.8520108129950266`*^9}, {3.8520113391576824`*^9,
3.852011521208907*^9}, {3.8520115979442225`*^9, 3.852011649208428*^9}, {
3.8520116848273306`*^9, 3.8520116884877157`*^9}, {3.8520117750015345`*^9,
3.8520118175597324`*^9}, {3.8520118650031586`*^9, 3.852011869015805*^9}, {
3.852011931158787*^9, 3.8520121185882735`*^9}, {3.8520122023025637`*^9,
3.852012207006519*^9}, {3.8520123075988765`*^9, 3.8520124054542856`*^9}, {
3.852012441917179*^9, 3.8520124421884537`*^9}, {3.8520182441129055`*^9,
3.8520182830718603`*^9}, {3.852018321313164*^9, 3.8520183331194725`*^9}, {
3.8520183903690023`*^9, 3.852018463490259*^9}, {3.8520185151656446`*^9,
3.852018671633654*^9}, {3.852018711536105*^9, 3.852018818002762*^9}, {
3.8520188586073203`*^9, 3.8520190222574596`*^9}, {3.852019082303256*^9,
3.852019162115924*^9}, {3.8520192538555527`*^9, 3.8520192540390625`*^9}, {
3.852019341939475*^9, 3.85201940470447*^9}, {3.8520196683072424`*^9,
3.852019669109768*^9}, {3.8520197445615983`*^9, 3.85201977955344*^9}, {
3.8520198235214553`*^9, 3.852019829723752*^9}, {3.8520199093463016`*^9,
3.8520199139536524`*^9}, {3.8520199671861286`*^9, 3.852019980099324*^9},
3.852020011668644*^9, {3.8520200804508753`*^9, 3.852020081681799*^9}, {
3.852020488083373*^9, 3.85202049642023*^9}, {3.8520208360701203`*^9,
3.852020920100541*^9}, {3.8520279994854965`*^9, 3.8520280101428714`*^9}, {
3.8520280875051227`*^9, 3.8520280876784925`*^9}, {3.8520281552768717`*^9,
3.852028258282745*^9}, {3.8520286919653063`*^9, 3.8520287018551226`*^9}, {
3.852028799076212*^9, 3.852028953519252*^9}, {3.8520289864473443`*^9,
3.8520290721910515`*^9}, 3.8520291475614967`*^9, {3.852029327887535*^9,
3.8520293748476825`*^9}, {3.8520294693602853`*^9, 3.852029498602892*^9}, {
3.852029588675187*^9, 3.852029694306484*^9}, {3.8520297666944027`*^9,
3.8520297716218357`*^9}, {3.8520298127894936`*^9, 3.852029818821323*^9}, {
3.852132513926013*^9, 3.852132516805566*^9}, {3.8521326097002497`*^9,
3.852132657855911*^9}, {3.8521827242703543`*^9, 3.852182784105977*^9}, {
3.8521830216922884`*^9, 3.8521830644819326`*^9}, {3.8521864354775596`*^9,
3.852186436120716*^9}, {3.852197401334344*^9, 3.8521974040224323`*^9}, {
3.8521974466438413`*^9, 3.8521974566761208`*^9}, {3.8521976026109333`*^9,
3.852197620899968*^9}, {3.8521977500383453`*^9, 3.8521980414642277`*^9},
3.852198076919064*^9, {3.8521981349831147`*^9, 3.8521981606818347`*^9}, {
3.8523520761000824`*^9, 3.852352121329315*^9}, {3.8523524837472143`*^9,
3.852352652100808*^9}, {3.852353010075099*^9, 3.852353033241376*^9}, {
3.852366460889573*^9, 3.852366461372507*^9}, {3.8523669055188217`*^9,
3.852366929996113*^9}, {3.852368998052103*^9, 3.852368999780357*^9}, {
3.859015625592043*^9, 3.8590156303381214`*^9}, {3.859015685213395*^9,
3.859015687137248*^9}, {3.859015721104675*^9, 3.8590158324683237`*^9}, {
3.8590158842482176`*^9, 3.8590159637160044`*^9}, {3.859016004424095*^9,
3.859016089354799*^9}, 3.859016860921749*^9, {3.859017555688024*^9,
3.8590175856070814`*^9}, {3.859017706035238*^9, 3.8590177535861864`*^9}, {
3.859017843145102*^9, 3.8590178605710773`*^9}, {3.8590179642650537`*^9,
3.859017993890707*^9}, 3.859018476464919*^9, 3.8590234123280177`*^9, {
3.859023559753867*^9, 3.859023593900916*^9}, 3.8590239768976583`*^9, {
3.859601471423179*^9, 3.859601525305445*^9}, {3.859601563164647*^9,
3.8596015735413847`*^9}, 3.859607414771884*^9, {3.8655752196257496`*^9,
3.8655754856776023`*^9}, {3.8655756064652348`*^9,
3.8655756074980917`*^9}, {3.8655763191420355`*^9,
3.8655763518125944`*^9}, {3.86557640499252*^9, 3.8655766182234163`*^9}, {
3.8655766776867886`*^9, 3.865576713793806*^9}, {3.8655767456039896`*^9,
3.865576840224349*^9}, 3.8655768728846135`*^9, {3.8655769057657323`*^9,
3.8655769283852377`*^9}, {3.865576962774872*^9, 3.8655769635844936`*^9}, {
3.865577149905217*^9, 3.8655771890754623`*^9}, {3.8655773109860287`*^9,
3.8655773120109544`*^9}, {3.8655775901051965`*^9, 3.8655776282972336`*^9}},
CellLabel->"In[7]:=",ExpressionUUID->"3528114f-bd47-41df-9045-dbd9d11d96ab"]
}, Open ]],
Cell[CellGroupData[{
Cell["Deploy application", "Subsection",
CellChangeTimes->{{3.8596017171419015`*^9,
3.8596017230764213`*^9}},ExpressionUUID->"960c25ef-15a3-4557-b399-\
081194728428"],
Cell[BoxData[
RowBox[{"ApplicationDeploy", "[",
RowBox[{"dir", ",", "\[IndentingNewLine]",
RowBox[{"RebuildExtentions", "->", "False"}], ",", "\[IndentingNewLine]",
RowBox[{"RebuildApp", "->", "True"}], ",", "\[IndentingNewLine]",
RowBox[{"LoadApplication", "->", "True"}], ",", "\[IndentingNewLine]",
RowBox[{"VerboseLoad", "->", "False"}]}], "\[IndentingNewLine]",
"]"}]], "Input",
CellChangeTimes->{{3.852352232877028*^9, 3.8523522373566804`*^9}, {
3.852352297100173*^9, 3.852352299612913*^9}, {3.8523534929066553`*^9,
3.8523534959028397`*^9}, {3.852366478386747*^9, 3.8523665002437654`*^9}, {
3.8523669660222635`*^9, 3.8523669904513664`*^9}, {3.852787624010135*^9,
3.852787668777037*^9}, {3.8527881108293095`*^9, 3.852788111307995*^9}, {
3.852788939248973*^9, 3.85278894055753*^9}, {3.852789354654831*^9,
3.852789355070695*^9}, {3.852789507809497*^9, 3.8527895082224264`*^9}, {
3.8528726610617924`*^9, 3.852872665411843*^9}, {3.8532185997773347`*^9,
3.8532186002248106`*^9}, {3.85382004479004*^9, 3.8538200696704936`*^9}, {
3.854510198310111*^9, 3.854510198695053*^9}, {3.8546981407034893`*^9,
3.8546981411157312`*^9}, {3.85477011211674*^9, 3.854770112564494*^9}, {
3.8596014575845027`*^9, 3.8596014622261744`*^9}, {3.8655755045476265`*^9,
3.8655755162667*^9}, 3.8655766297434506`*^9, {3.865577363621666*^9,
3.8655773648661566`*^9}, {3.8660106509120765`*^9,
3.866010671224041*^9}},ExpressionUUID->"ba043635-ab42-4593-8635-\
292036c3c214"]
}, Open ]],
Cell[CellGroupData[{
Cell["Build", "Subsection",
CellChangeTimes->{{3.859601658565772*^9,
3.859601662932137*^9}},ExpressionUUID->"13dafe55-0170-479e-b12b-\
62df1d5708d8"],
Cell[CellGroupData[{
Cell[BoxData[{
RowBox[{"PacletFind", "[", "\"\<PacletTools\>\"",
"]"}], "\[IndentingNewLine]",
RowBox[{"PacletFind", "[", "\"\<DocumentationBuild\>\"", "]"}]}], "Input",
CellChangeTimes->{{3.867380831998906*^9, 3.867380836740489*^9}, {
3.8684317199311533`*^9,
3.8684317221061225`*^9}},ExpressionUUID->"ffba4060-ecc6-4d7d-b97c-\
bcaa6690dae2"],
Cell[BoxData[
RowBox[{"{", "}"}]], "Output",
CellChangeTimes->{{3.8673808335492487`*^9, 3.867380837334357*^9},
3.868431680245741*^9},
CellLabel->"Out[11]=",ExpressionUUID->"6ddcd205-88c2-45a5-a475-f1aa63a9a946"]
}, Open ]],
Cell[BoxData[
RowBox[{"Options", "[", "DocumentationBuildHTML", "]"}]], "Input",
CellChangeTimes->{{3.86738093051886*^9, 3.867380965856927*^9}},
CellLabel->"In[16]:=",ExpressionUUID->"0a530690-5be0-4022-9a9e-056ffd3e9a38"],
Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{"\"\<LinkBase\>\"", "\[Rule]", "Automatic"}], ",",
RowBox[{"\"\<Debug\>\"", "\[Rule]", "False"}], ",",
RowBox[{"\"\<UseLanguageExtension\>\"", "\[Rule]", "False"}], ",",
RowBox[{"\"\<CompleteHTMLQ\>\"", "\[Rule]", "False"}], ",",
RowBox[{"Language", "\[Rule]", "\"\<English\>\""}], ",",
RowBox[{
"\"\<CitationFunction\>\"", "\[RuleDelayed]",
"DocumentationBuild`Settings`$CitationCallback"}], ",",
RowBox[{"\"\<BuildType\>\"", "\[Rule]", "\"\<Full\>\""}], ",",
RowBox[{"\"\<IntermediateNBOutpu tDirectory\>\"", "\[Rule]", "None"}], ",",
RowBox[{"\"\<SuccessThreshold\>\"", "\[Rule]", "1.`"}], ",",
RowBox[{"\"\<SingleFile\>\"", "\[Rule]", "None"}]}], "}"}]], "Input",
CellChangeTimes->{{3.868432069497277*^9,
3.868432069499271*^9}},ExpressionUUID->"aec6b057-3aa1-4a93-af17-\
1520c3d764cf"],
Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{"\"\<LinkBase\>\"", "\[Rule]", "Automatic"}], ",",
RowBox[{"\"\<Debug\>\"", "\[Rule]", "False"}], ",",
RowBox[{"\"\<UseLanguageExtension\>\"", "\[Rule]", "False"}], ",",
RowBox[{"\"\<CompleteHTMLQ\>\"", "\[Rule]", "False"}], ",",
RowBox[{"Language", "\[Rule]", "\"\<English\>\""}], ",",
RowBox[{
"\"\<CitationFunction\>\"", "\[RuleDelayed]",
"DocumentationBuild`Settings`$CitationCallback"}], ",",
RowBox[{"\"\<BuildType\>\"", "\[Rule]", "\"\<Full\>\""}], ",",
RowBox[{"\"\<IntermediateNBOutputDirectory\>\"", "\[Rule]", "None"}], ",",
RowBox[{"\"\<SuccessThreshold\>\"", "\[Rule]", "1.`"}], ",",
RowBox[{"\"\<SingleFile\>\"", "\[Rule]", "None"}]}], "}"}]], "Input",
CellChangeTimes->{{3.867380971624384*^9,
3.867380974584281*^9}},ExpressionUUID->"fc0109bb-799a-415d-962f-\
6703e5aa5bd3"],
Cell[CellGroupData[{
Cell[BoxData[""], "Input",
CellChangeTimes->{{3.868431956128254*^9, 3.868431979995613*^9},
3.8684329603572197`*^9},ExpressionUUID->"c96911c5-c218-4d99-b322-\
6706e56ca9ff"],
Cell[CellGroupData[{
Cell[BoxData["\<\"D:\\\\werk\\\\workspace\\\\QMRITools\\\\QMRITools\"\>"], \
"Print",
CellChangeTimes->{{3.8684319705230284`*^9, 3.868431980127288*^9}},
CellLabel->
"During evaluation of \
In[18]:=",ExpressionUUID->"9200de9c-4c2e-4cc6-8bff-5df8a705e3b7"],
Cell[BoxData["\<\"Loading dev application:\"\>"], "Print",
CellChangeTimes->{{3.8684319705230284`*^9, 3.8684319815564175`*^9}},
CellLabel->
"During evaluation of \
In[18]:=",ExpressionUUID->"ca1d1e96-5634-4e2a-ac7c-2b7806c91c4e"],
Cell[BoxData[
InterpretationBox[
RowBox[{
TagBox["PacletObject",
"SummaryHead"], "[",
DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"},
TemplateBox[{
PaneSelectorBox[{False -> GridBox[{{
PaneBox[
ButtonBox[
DynamicBox[
FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"]],
ButtonFunction :> (Typeset`open$$ = True), Appearance -> None,
BaseStyle -> {}, Evaluator -> Automatic, Method ->
"Preemptive"], Alignment -> {Center, Center}, ImageSize ->
Dynamic[{
Automatic,
3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
Magnification])}]],
GraphicsBox[
TagBox[
RasterBox[CompressedData["
1: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
vVNU4BwpQTiiSHJhT5JHOVPcyCLxoqbHH6G5GoivMCR1vRmSqo1IbDFHNKnf
GZnqMPW+QLhxFU6RUrANkaRiSWi8BHoGBwV+eG3/TecNz6a061meLh+7syJr
V+5H6RNuzC4L7snnxNzKaz5PZkV4I+APT2dO0OefryjPJiamYOlggOJGJcz+
oRTdS/FIrzGj8qf53xWhazYKJQ+cUNTmQPIoPVh63MAugvFX5cOLZMfH/wE7
9d1oS7yBEhJDivxPoDvrNuGFErrz5NESd4V6b70u4gza4q+gmnECSUEH0Vuq
ii9a9EjOfQEHP311bq6Uwwe2QOqmKZR057B3hxkqS5tE7Me1FffMYmJicPr0
abHv9f7722C6/yPEbzmAx5fO4u7eT6H51o+w7/0tr8WWL5Ot2z/Gbf3bsAk6
jJgSfRI33BFTaYR0wo+SFhsE5aiTfEub5MymCMxSRkW3L7KarKFjcwkf7Xjn
pftzbMOxER3Ps3wfLsDfnAC7cyJ2Fvod7tpZwdq5uVX45fFjbdzzZeYl868q
k5NTJIYHoaDWAFmtPhj6OgGNfX4oIbnqGIkfnM8Y1vd4Q9P8FHbsfe+NnN2h
Hf8JG+VPCT+O4PtBH3xJavLm2MsYJDnBF+3WGCK5b0v0GZQFHkaayzXCl+sI
tT302u5/TiIOlpaJpB6jx1ihcM79dd3L8p0fomEP4cq//79/E16sJQeOfQIZ
rf2kbtdBDakrUypNSJ2iT9Uk4QVaYJL8KzRXE3r2Vza8N8dW/NzllTA4RxOa
7+bHHXoexJun+ME5K+q8+PvMrMWJmRV8mRHRF1nDu175+p719aKRxOZykofW
9vihsceN4gcn5+TkUhx+eIerv9Qur/rzoj08DA/id9+l4bsuR4yVa+ILUpuz
Sb3x9QN7FJC6JMtlG5pZt9EYcRH7Pv3ha8PL1g9OwsmrEpNTM5iaGCN12ZSI
rTcTN1bKoR/+AB27f4o9//76Xv9meKJje5nU3gZIJnEjJEeNetZVSPIFTr2x
fe/7G96TY6vX4bdf4P8JN2aWZygdgveZGQr3In1eS+F/ZoaH/RmKT/x13D6X
LxwdamyWpzcr3Ce9pA76VndQ/EiH1OAhaBxKxL0Bb+rZVUadKcmnrm+KDxvl
ypVL+5AdqozhUhI7WszxXYc5atO04OkgiVrmYdyPO4XqsH2v5bXQ9wj0KKBs
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