Commit e521b9a1 authored by Wohlgemuth, Jason's avatar Wohlgemuth, Jason
Browse files

feat: Refactor run functions for better maintainability and extendibility

parent e7801d97
Loading
Loading
Loading
Loading
Loading
+601 −589
Original line number Diff line number Diff line
@@ -111,170 +111,167 @@ SF:/root/dev/command/pipe-cli/src/commands/run/mod.rs
FNF:0
DA:21,0
DA:22,0
DA:28,0
DA:29,0
DA:30,0
DA:31,0
DA:32,0
DA:33,0
DA:34,0
DA:35,0
DA:36,0
DA:37,0
DA:38,0
DA:41,0
DA:40,0
DA:43,0
DA:44,0
DA:45,0
DA:46,0
DA:47,0
DA:48,0
DA:49,0
DA:51,0
DA:52,0
DA:53,0
DA:54,0
DA:55,0
DA:56,0
DA:58,0
DA:59,0
DA:61,0
DA:63,0
DA:64,0
DA:65,0
DA:67,0
DA:68,0
DA:70,0
DA:71,0
DA:72,0
DA:75,0
DA:76,0
DA:77,0
DA:78,0
DA:79,0
DA:81,0
DA:83,0
DA:84,0
DA:89,0
DA:91,0
DA:82,0
DA:85,0
DA:88,0
DA:90,0
DA:92,0
DA:96,0
DA:94,0
DA:97,0
DA:98,0
DA:100,0
DA:103,0
DA:99,0
DA:102,0
DA:104,0
DA:105,0
DA:106,0
DA:107,0
DA:108,0
DA:109,0
DA:111,0
DA:112,0
DA:113,0
DA:114,0
DA:115,0
DA:117,0
DA:119,0
DA:120,0
DA:124,0
DA:125,0
DA:127,0
DA:130,0
DA:135,0
DA:126,0
DA:129,0
DA:131,0
DA:132,0
DA:134,0
DA:137,0
DA:142,0
DA:138,0
DA:140,0
DA:141,0
DA:143,0
DA:144,0
DA:145,0
DA:146,0
DA:147,0
DA:148,0
DA:150,0
DA:152,0
DA:154,0
DA:157,0
DA:158,0
DA:159,0
DA:160,0
DA:161,0
DA:162,0
DA:164,0
DA:163,0
DA:165,0
DA:166,0
DA:168,0
DA:169,0
DA:171,0
DA:173,0
DA:175,0
DA:177,0
DA:179,0
DA:180,0
DA:184,0
DA:185,0
DA:186,0
DA:174,0
DA:178,0
DA:188,0
DA:189,0
DA:190,0
DA:191,0
DA:192,0
DA:194,0
DA:197,0
DA:193,0
DA:198,0
DA:200,0
DA:201,0
DA:199,0
DA:203,0
DA:204,0
DA:205,0
DA:206,0
DA:207,0
DA:208,0
DA:210,0
DA:209,0
DA:211,0
DA:213,0
DA:220,0
DA:221,0
DA:222,0
DA:223,0
DA:224,0
DA:225,0
DA:226,0
DA:227,0
DA:228,0
DA:229,0
DA:231,0
DA:233,0
DA:234,0
DA:238,0
DA:237,0
DA:240,0
DA:242,0
DA:243,0
DA:244,0
DA:245,0
DA:246,0
DA:247,0
DA:248,0
DA:249,0
DA:250,0
DA:251,0
DA:253,0
DA:258,0
DA:259,0
DA:256,0
DA:260,0
DA:261,0
DA:262,0
DA:263,0
DA:264,0
DA:266,0
DA:267,0
DA:268,0
DA:269,0
DA:270,0
DA:271,0
DA:272,0
DA:273,0
DA:276,0
DA:277,0
DA:275,0
DA:278,0
DA:282,0
DA:281,0
DA:284,0
DA:286,0
DA:288,0
DA:289,0
DA:290,0
DA:291,0
DA:292,0
DA:293,0
DA:294,0
DA:296,0
DA:299,0
DA:301,0
DA:302,0
DA:303,0
DA:305,0
DA:307,0
DA:306,0
DA:308,0
DA:309,0
DA:310,0
DA:311,0
DA:312,0
DA:313,0
DA:314,0
DA:315,0
DA:317,0
DA:318,0
DA:321,0
DA:325,0
DA:326,0
DA:319,0
DA:322,0
DA:323,0
DA:327,0
DA:328,0
DA:330,0
DA:331,0
DA:332,0
DA:333,0
DA:334,0
DA:335,0
DA:336,0
DA:337,0
DA:338,0
DA:339,0
DA:340,0
DA:342,0
DA:345,0
DA:341,0
DA:346,0
DA:348,0
DA:351,0
DA:353,0
DA:356,0
DA:358,0
LF:165
DA:349,0
DA:350,0
DA:354,0
DA:355,0
DA:359,0
DA:361,0
LF:162
LH:0
end_of_record
TN:
@@ -396,75 +393,79 @@ LH:0
end_of_record
TN:
SF:/root/dev/command/pipe-lib/src/lib.rs
FN:453,Command::test
FN:476,Config::read
FN:500,Config::read_json
FN:521,Config::read_yaml
FN:538,Config::set_environment_variables
FN:552,<impl PartialEq for Details>::eq
FN:559,EnvironmentValue::from_string
FN:562,EnvironmentValue::from_value
FN:570,EnvironmentValue::prepend_prefix
FN:574,EnvironmentValue::trim_prefix
FN:578,EnvironmentValue::get_from_config
FN:585,EnvironmentValue::get_from_serde
FN:599,EnvironmentValue::get_all
FN:609,EnvironmentValue::print_all
FN:614,EnvironmentValue::set_variable
FN:624,EnvironmentValue::set_variables
FN:631,Extension::from_string
FN:640,Label::dry_run
FN:644,Label::invalid
FN:648,Label::fail
FN:652,Label::found
FN:656,Label::not_found
FN:660,Label::output
FN:664,Label::pass
FN:668,Label::read
FN:672,Label::rejected
FN:676,Label::run
FN:680,Label::using
FN:686,ModuleUri<'_>::from
FN:696,ModuleUri<'_>::hash
FN:720,ModuleUri<'_>::get_whitelist
FN:723,ModuleUri<'_>::is_allowed
FN:726,ModuleUri<'_>::test
FN:727,ModuleUri<'_>::test::check
FN:744,ModuleUri<'_>::working_directory
FN:756,SemanticVersion::from_string
FN:765,Script::ensure_relative
FN:784,Script::expand_arguments
FN:819,Script::expand_arguments_from
FN:854,Script::from_module
FN:912,Script::from_path
FN:927,Script::from_template
FN:947,Script::get_command
FN:957,Script::get_arguments
FN:997,Script::maybe_create_virtual_environment
FN:1042,Script::maybe_git_clone
FN:1049,Script::python_default
FN:1063,Script::run
FN:1130,Script::with_container
FN:1137,Script::with_current_dir
FN:1142,Script::with_envs
FN:1184,Script::with_virtual_environment
FN:1190,ScriptTemplate::from_path
FN:1202,ScriptTemplate::resolve_python_virtual_environment
FN:1230,StringTemplate::new
FN:1239,StringTemplate::expand
FN:1246,StringTemplate::get_variable
FN:1276,StringTemplate::is_handlebars
FN:1311,StringTemplate::remove_spaces
FN:1321,add_dot_slash
FN:1329,add_forward_slash
FN:1336,download_binary
FN:1337,download_binary::download
FNF:63
FN:468,Command::test
FN:491,Config::read
FN:515,Config::read_json
FN:536,Config::read_yaml
FN:553,Config::set_environment_variables
FN:569,Config::verify_requirements
FN:587,Config::verify_resources
FN:592,<impl PartialEq for Details>::eq
FN:599,EnvironmentValue::from_string
FN:602,EnvironmentValue::from_value
FN:610,EnvironmentValue::prepend_prefix
FN:614,EnvironmentValue::trim_prefix
FN:618,EnvironmentValue::get_from_config
FN:625,EnvironmentValue::get_from_serde
FN:639,EnvironmentValue::get_all
FN:649,EnvironmentValue::print_all
FN:654,EnvironmentValue::set_variable
FN:664,EnvironmentValue::set_variables
FN:671,Extension::from_string
FN:680,Label::dry_run
FN:684,Label::invalid
FN:688,Label::fail
FN:692,Label::found
FN:696,Label::not_found
FN:700,Label::output
FN:704,Label::pass
FN:708,Label::read
FN:712,Label::rejected
FN:716,Label::run
FN:720,Label::using
FN:726,ModuleUri<'_>::from
FN:736,ModuleUri<'_>::hash
FN:760,ModuleUri<'_>::get_whitelist
FN:763,ModuleUri<'_>::is_allowed
FN:766,ModuleUri<'_>::test
FN:767,ModuleUri<'_>::test::check
FN:784,ModuleUri<'_>::working_directory
FN:796,SemanticVersion::from_string
FN:805,Script::ensure_relative
FN:824,Script::expand_arguments
FN:859,Script::expand_arguments_from
FN:894,Script::from_module
FN:952,Script::from_path
FN:967,Script::from_template
FN:987,Script::get_command
FN:997,Script::get_arguments
FN:1037,Script::maybe_create_virtual_environment
FN:1082,Script::maybe_git_clone
FN:1089,Script::python_default
FN:1103,Script::run
FN:1170,Script::with_container
FN:1177,Script::with_current_dir
FN:1182,Script::with_envs
FN:1224,Script::with_virtual_environment
FN:1230,ScriptTemplate::from_path
FN:1242,ScriptTemplate::resolve_python_virtual_environment
FN:1270,StringTemplate::new
FN:1279,StringTemplate::expand
FN:1286,StringTemplate::get_variable
FN:1316,StringTemplate::is_handlebars
FN:1351,StringTemplate::remove_spaces
FN:1361,add_dot_slash
FN:1369,add_forward_slash
FN:1376,download_binary
FN:1377,download_binary::download
FNF:65
FNDA:1,Command::test
FNDA:1,Config::read
FNDA:1,Config::read_json
FNDA:1,Config::read_yaml
FNDA:0,Config::set_environment_variables
FNDA:0,Config::verify_requirements
FNDA:0,Config::verify_resources
FNDA:1,<impl PartialEq for Details>::eq
FNDA:0,EnvironmentValue::from_string
FNDA:0,EnvironmentValue::from_value
@@ -482,13 +483,13 @@ FNDA:0,Label::invalid
FNDA:0,Label::fail
FNDA:0,Label::found
FNDA:0,Label::not_found
FNDA:2,Label::output
FNDA:1,Label::output
FNDA:0,Label::pass
FNDA:0,Label::read
FNDA:0,Label::rejected
FNDA:0,Label::run
FNDA:0,Label::using
FNDA:1,ModuleUri<'_>::from
FNDA:2,ModuleUri<'_>::from
FNDA:1,ModuleUri<'_>::hash
FNDA:0,ModuleUri<'_>::get_whitelist
FNDA:0,ModuleUri<'_>::is_allowed
@@ -514,505 +515,516 @@ FNDA:0,Script::with_envs
FNDA:1,Script::with_virtual_environment
FNDA:1,ScriptTemplate::from_path
FNDA:0,ScriptTemplate::resolve_python_virtual_environment
FNDA:1,StringTemplate::new
FNDA:2,StringTemplate::new
FNDA:1,StringTemplate::expand
FNDA:1,StringTemplate::get_variable
FNDA:1,StringTemplate::is_handlebars
FNDA:2,StringTemplate::is_handlebars
FNDA:1,StringTemplate::remove_spaces
FNDA:1,add_dot_slash
FNDA:1,add_forward_slash
FNDA:0,download_binary
FNDA:0,download_binary::download
DA:453,1
DA:454,2
DA:455,1
DA:456,3
DA:457,2
DA:459,3
DA:460,1
DA:463,0
DA:464,0
DA:469,3
DA:468,1
DA:469,2
DA:470,1
DA:476,1
DA:477,2
DA:478,2
DA:479,1
DA:480,0
DA:482,2
DA:483,1
DA:484,0
DA:488,2
DA:489,1
DA:491,0
DA:492,0
DA:500,1
DA:501,2
DA:502,2
DA:504,0
DA:505,0
DA:508,2
DA:509,1
DA:510,2
DA:511,0
DA:513,3
DA:514,1
DA:521,1
DA:522,2
DA:523,1
DA:525,0
DA:471,4
DA:472,4
DA:474,6
DA:475,2
DA:478,0
DA:479,0
DA:484,3
DA:485,1
DA:491,1
DA:492,2
DA:493,2
DA:494,1
DA:495,0
DA:497,2
DA:498,1
DA:499,0
DA:503,2
DA:504,1
DA:506,0
DA:507,0
DA:515,1
DA:516,2
DA:517,2
DA:519,0
DA:520,0
DA:523,3
DA:524,2
DA:525,4
DA:526,0
DA:528,6
DA:529,2
DA:530,1
DA:531,2
DA:532,0
DA:534,3
DA:535,1
DA:538,0
DA:539,0
DA:536,1
DA:537,2
DA:538,1
DA:540,0
DA:541,0
DA:542,0
DA:543,0
DA:548,0
DA:552,1
DA:553,1
DA:559,0
DA:560,0
DA:562,0
DA:544,2
DA:545,1
DA:546,2
DA:547,0
DA:549,3
DA:550,1
DA:553,0
DA:554,0
DA:555,0
DA:556,0
DA:557,0
DA:558,0
DA:563,0
DA:564,0
DA:565,0
DA:566,0
DA:567,0
DA:569,0
DA:570,0
DA:571,0
DA:574,1
DA:575,1
DA:576,2
DA:578,0
DA:572,0
DA:573,0
DA:574,0
DA:575,0
DA:579,0
DA:580,0
DA:581,0
DA:582,0
DA:583,0
DA:585,0
DA:586,0
DA:587,0
DA:588,0
DA:589,0
DA:590,0
DA:591,0
DA:592,0
DA:593,0
DA:595,0
DA:597,0
DA:599,1
DA:600,1
DA:601,2
DA:602,2
DA:603,2
DA:604,2
DA:605,1
DA:609,0
DA:592,1
DA:593,1
DA:599,0
DA:600,0
DA:602,0
DA:603,0
DA:604,0
DA:605,0
DA:606,0
DA:607,0
DA:610,0
DA:611,0
DA:614,0
DA:615,0
DA:616,0
DA:617,0
DA:614,1
DA:615,1
DA:616,2
DA:618,0
DA:619,0
DA:620,0
DA:624,0
DA:621,0
DA:622,0
DA:623,0
DA:625,0
DA:626,0
DA:627,0
DA:631,1
DA:632,2
DA:633,2
DA:634,3
DA:628,0
DA:629,0
DA:630,0
DA:631,0
DA:632,0
DA:633,0
DA:635,0
DA:640,0
DA:641,0
DA:642,0
DA:644,0
DA:645,0
DA:646,0
DA:648,0
DA:637,0
DA:639,1
DA:640,1
DA:641,2
DA:642,2
DA:643,2
DA:644,2
DA:645,1
DA:649,0
DA:650,0
DA:652,0
DA:653,0
DA:651,0
DA:654,0
DA:655,0
DA:656,0
DA:657,0
DA:658,0
DA:660,2
DA:661,1
DA:662,2
DA:659,0
DA:660,0
DA:664,0
DA:665,0
DA:666,0
DA:668,0
DA:669,0
DA:670,0
DA:672,0
DA:673,0
DA:674,0
DA:676,0
DA:677,0
DA:678,0
DA:667,0
DA:671,1
DA:672,2
DA:673,2
DA:674,3
DA:675,0
DA:680,0
DA:681,0
DA:682,0
DA:686,1
DA:687,1
DA:688,2
DA:689,1
DA:690,2
DA:691,0
DA:693,1
DA:696,1
DA:697,1
DA:698,1
DA:699,1
DA:684,0
DA:685,0
DA:686,0
DA:688,0
DA:689,0
DA:690,0
DA:692,0
DA:693,0
DA:694,0
DA:696,0
DA:697,0
DA:698,0
DA:700,1
DA:701,0
DA:703,2
DA:707,2
DA:708,2
DA:710,2
DA:711,2
DA:713,2
DA:701,3
DA:702,3
DA:704,0
DA:705,0
DA:706,0
DA:708,0
DA:709,0
DA:710,0
DA:712,0
DA:713,0
DA:714,0
DA:716,0
DA:717,0
DA:718,0
DA:720,0
DA:721,0
DA:723,0
DA:724,0
DA:726,0
DA:727,0
DA:728,0
DA:730,0
DA:722,0
DA:726,2
DA:727,2
DA:728,5
DA:729,2
DA:730,2
DA:731,0
DA:732,0
DA:733,0
DA:734,0
DA:735,0
DA:736,0
DA:738,0
DA:740,0
DA:744,0
DA:745,0
DA:746,0
DA:747,0
DA:748,0
DA:750,0
DA:751,0
DA:756,1
DA:757,1
DA:758,3
DA:759,3
DA:760,3
DA:765,1
DA:766,1
DA:767,2
DA:768,1
DA:784,1
DA:785,2
DA:788,2
DA:789,1
DA:790,2
DA:791,1
DA:792,1
DA:794,2
DA:798,1
DA:799,1
DA:819,1
DA:820,2
DA:823,2
DA:733,1
DA:736,1
DA:737,1
DA:738,1
DA:739,2
DA:740,2
DA:741,0
DA:743,4
DA:747,4
DA:748,4
DA:750,4
DA:751,2
DA:753,4
DA:756,0
DA:760,0
DA:761,0
DA:763,0
DA:764,0
DA:766,0
DA:767,0
DA:768,0
DA:770,0
DA:771,0
DA:772,0
DA:773,0
DA:774,0
DA:775,0
DA:776,0
DA:778,0
DA:780,0
DA:784,0
DA:785,0
DA:786,0
DA:787,0
DA:788,0
DA:790,0
DA:791,0
DA:796,1
DA:797,1
DA:798,3
DA:799,3
DA:800,3
DA:805,1
DA:806,1
DA:807,2
DA:808,1
DA:824,1
DA:825,2
DA:826,2
DA:829,2
DA:828,2
DA:829,1
DA:830,2
DA:831,1
DA:833,2
DA:837,1
DA:832,1
DA:834,2
DA:838,1
DA:854,0
DA:856,0
DA:857,0
DA:858,0
DA:861,0
DA:862,0
DA:863,0
DA:864,0
DA:865,0
DA:867,0
DA:868,0
DA:869,0
DA:872,0
DA:873,0
DA:874,0
DA:875,0
DA:878,0
DA:879,0
DA:880,0
DA:883,0
DA:885,0
DA:886,0
DA:889,0
DA:895,0
DA:839,1
DA:859,1
DA:860,2
DA:863,2
DA:864,1
DA:865,2
DA:866,2
DA:869,2
DA:871,1
DA:873,2
DA:877,1
DA:878,1
DA:894,0
DA:896,0
DA:912,1
DA:913,1
DA:914,1
DA:927,1
DA:928,1
DA:929,3
DA:933,2
DA:935,2
DA:937,2
DA:941,1
DA:942,1
DA:943,1
DA:945,2
DA:947,1
DA:948,1
DA:949,1
DA:950,2
DA:952,2
DA:953,2
DA:954,2
DA:957,1
DA:958,2
DA:959,1
DA:960,1
DA:961,1
DA:962,1
DA:963,0
DA:965,0
DA:966,0
DA:969,2
DA:970,1
DA:972,3
DA:974,3
DA:975,1
DA:976,1
DA:897,0
DA:898,0
DA:901,0
DA:902,0
DA:903,0
DA:904,0
DA:905,0
DA:907,0
DA:908,0
DA:909,0
DA:912,0
DA:913,0
DA:914,0
DA:915,0
DA:918,0
DA:919,0
DA:920,0
DA:923,0
DA:925,0
DA:926,0
DA:929,0
DA:935,0
DA:936,0
DA:952,1
DA:953,1
DA:954,1
DA:967,1
DA:968,1
DA:969,3
DA:973,2
DA:975,2
DA:977,2
DA:978,2
DA:980,1
DA:982,2
DA:983,2
DA:985,0
DA:986,0
DA:981,1
DA:982,1
DA:983,1
DA:985,2
DA:987,1
DA:988,1
DA:989,1
DA:990,1
DA:992,3
DA:997,0
DA:1002,0
DA:992,1
DA:993,2
DA:994,1
DA:997,1
DA:998,1
DA:999,1
DA:1000,1
DA:1001,1
DA:1002,1
DA:1003,0
DA:1004,0
DA:1005,0
DA:1006,0
DA:1007,0
DA:1008,0
DA:1009,0
DA:1010,0
DA:1011,0
DA:1013,0
DA:1014,0
DA:1015,0
DA:1016,0
DA:1017,0
DA:1018,0
DA:1019,0
DA:1021,0
DA:1022,0
DA:1009,2
DA:1010,1
DA:1012,1
DA:1014,1
DA:1015,1
DA:1016,1
DA:1017,2
DA:1018,2
DA:1020,1
DA:1022,2
DA:1023,2
DA:1025,0
DA:1029,0
DA:1030,0
DA:1033,0
DA:1038,0
DA:1042,1
DA:1043,2
DA:1044,2
DA:1045,2
DA:1046,3
DA:1047,1
DA:1026,0
DA:1029,1
DA:1030,1
DA:1032,1
DA:1037,0
DA:1042,0
DA:1043,0
DA:1044,0
DA:1046,0
DA:1047,0
DA:1048,0
DA:1049,0
DA:1050,0
DA:1051,0
DA:1053,0
DA:1054,0
DA:1055,0
DA:1056,0
DA:1057,0
DA:1058,0
DA:1059,0
DA:1063,1
DA:1064,1
DA:1065,1
DA:1066,4
DA:1067,4
DA:1068,6
DA:1069,2
DA:1070,14
DA:1071,4
DA:1072,2
DA:1073,2
DA:1074,2
DA:1075,2
DA:1080,4
DA:1081,2
DA:1083,0
DA:1084,0
DA:1087,2
DA:1088,2
DA:1089,2
DA:1090,2
DA:1093,2
DA:1094,1
DA:1096,0
DA:1097,0
DA:1100,1
DA:1101,1
DA:1102,2
DA:1103,0
DA:1104,0
DA:1061,0
DA:1062,0
DA:1065,0
DA:1069,0
DA:1070,0
DA:1073,0
DA:1078,0
DA:1082,1
DA:1083,2
DA:1084,2
DA:1085,2
DA:1086,3
DA:1087,1
DA:1089,0
DA:1090,0
DA:1091,0
DA:1099,0
DA:1103,1
DA:1104,1
DA:1105,1
DA:1106,2
DA:1107,2
DA:1108,1
DA:1109,3
DA:1110,1
DA:1111,3
DA:1112,3
DA:1108,3
DA:1109,1
DA:1110,7
DA:1111,2
DA:1112,1
DA:1113,1
DA:1115,0
DA:1116,0
DA:1117,0
DA:1120,0
DA:1121,0
DA:1122,0
DA:1126,0
DA:1127,0
DA:1130,1
DA:1131,1
DA:1132,1
DA:1137,1
DA:1138,2
DA:1139,1
DA:1142,0
DA:1143,0
DA:1144,0
DA:1184,1
DA:1185,1
DA:1186,1
DA:1190,1
DA:1191,2
DA:1192,1
DA:1194,0
DA:1195,0
DA:1198,2
DA:1200,1
DA:1202,0
DA:1203,0
DA:1204,0
DA:1205,0
DA:1206,0
DA:1207,0
DA:1208,0
DA:1209,0
DA:1211,0
DA:1212,0
DA:1213,0
DA:1218,0
DA:1219,0
DA:1220,0
DA:1114,1
DA:1115,1
DA:1120,2
DA:1121,1
DA:1123,0
DA:1124,0
DA:1127,1
DA:1128,1
DA:1129,2
DA:1130,2
DA:1133,2
DA:1134,1
DA:1136,0
DA:1137,0
DA:1140,1
DA:1141,1
DA:1142,2
DA:1143,3
DA:1144,2
DA:1147,2
DA:1148,1
DA:1149,3
DA:1150,1
DA:1151,3
DA:1152,3
DA:1153,1
DA:1155,0
DA:1156,0
DA:1157,0
DA:1160,0
DA:1161,0
DA:1162,0
DA:1166,0
DA:1167,0
DA:1170,1
DA:1171,1
DA:1172,1
DA:1177,1
DA:1178,2
DA:1179,1
DA:1182,0
DA:1183,0
DA:1184,0
DA:1224,1
DA:1225,1
DA:1226,1
DA:1230,1
DA:1231,2
DA:1232,1
DA:1239,1
DA:1240,4
DA:1241,3
DA:1246,1
DA:1247,2
DA:1248,2
DA:1249,1
DA:1250,2
DA:1234,0
DA:1235,0
DA:1238,2
DA:1240,1
DA:1242,0
DA:1243,0
DA:1244,0
DA:1245,0
DA:1246,0
DA:1247,0
DA:1248,0
DA:1249,0
DA:1251,0
DA:1252,0
DA:1276,1
DA:1277,2
DA:1278,2
DA:1253,0
DA:1258,0
DA:1259,0
DA:1260,0
DA:1270,2
DA:1272,2
DA:1279,1
DA:1280,0
DA:1282,0
DA:1311,1
DA:1312,2
DA:1313,1
DA:1314,0
DA:1316,3
DA:1317,1
DA:1321,1
DA:1322,2
DA:1323,2
DA:1325,4
DA:1329,1
DA:1330,2
DA:1331,0
DA:1333,2
DA:1336,0
DA:1337,0
DA:1338,0
DA:1339,0
DA:1340,0
DA:1341,0
DA:1342,0
DA:1343,0
DA:1344,0
DA:1345,0
DA:1346,0
DA:1347,0
DA:1349,0
DA:1351,0
DA:1280,6
DA:1281,5
DA:1286,1
DA:1287,2
DA:1288,2
DA:1289,1
DA:1290,2
DA:1292,0
DA:1316,2
DA:1317,4
DA:1318,4
DA:1319,2
DA:1320,0
DA:1322,0
DA:1351,1
DA:1352,2
DA:1353,1
DA:1354,0
DA:1355,0
DA:1356,0
DA:1357,0
DA:1356,3
DA:1357,1
DA:1361,1
DA:1362,2
DA:1363,2
DA:1365,4
DA:1369,1
DA:1370,2
DA:1371,2
DA:1372,2
DA:1371,0
DA:1373,2
DA:1374,5
DA:1377,1
DA:1379,2
DA:1381,4
DA:1376,0
DA:1377,0
DA:1378,0
DA:1379,0
DA:1380,0
DA:1381,0
DA:1382,0
DA:1383,0
DA:1384,0
DA:1411,1
DA:1385,0
DA:1386,0
DA:1387,0
DA:1389,0
DA:1391,0
DA:1394,0
DA:1395,0
DA:1396,0
DA:1397,0
DA:1409,1
DA:1410,2
DA:1411,2
DA:1412,2
DA:1413,2
DA:1414,1
DA:1415,6
DA:1427,1
DA:1429,0
DA:1431,1
DA:1446,1
DA:1447,1
DA:1450,1
DA:1451,3
DA:1463,1
DA:1464,1
DA:1467,0
DA:1468,0
DA:1414,5
DA:1417,1
DA:1419,2
DA:1421,4
DA:1424,0
DA:1451,1
DA:1452,2
DA:1453,2
DA:1454,1
DA:1455,6
DA:1467,1
DA:1469,0
DA:1471,0
DA:1475,0
DA:1476,0
DA:1477,0
DA:1479,0
DA:1493,1
DA:1494,1
DA:1495,3
DA:1496,1
DA:1497,5
DA:1498,3
DA:1500,1
DA:1501,3
DA:1502,1
DA:1505,1
DA:1507,1
DA:1508,7
LF:490
LH:250
DA:1471,1
DA:1486,1
DA:1487,1
DA:1490,1
DA:1491,3
DA:1503,1
DA:1504,1
DA:1507,0
DA:1508,0
DA:1509,0
DA:1511,0
DA:1515,0
DA:1516,0
DA:1517,0
DA:1519,0
DA:1533,2
DA:1534,2
DA:1535,4
DA:1536,4
DA:1537,12
DA:1538,8
DA:1540,1
DA:1541,3
DA:1542,1
DA:1545,1
DA:1547,1
DA:1548,4
LF:501
LH:252
end_of_record
+274 −271

File changed.

Preview size limit exceeded, changes collapsed.

+42 −2
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#![allow(clippy::wrong_self_convention)]
use bon::builder;
use clap::ValueEnum;
use clap_verbosity_flag::Level;
use clap_verbosity_flag::{Level, Verbosity};
use color_eyre::eyre::{Report, Result};
use derive_more::{Display, FromStr};
use fancy_regex::Regex;
@@ -73,7 +73,7 @@ enum Extension {
pub enum InputAttribute {
    Path(String),
    List(Vec<String>),
    ShellScript(String),
    ShellScript(ScriptTemplate),
}
#[derive(Clone, Debug, Serialize, Deserialize, Valuable)]
#[serde(untagged)]
@@ -288,6 +288,21 @@ pub struct Config {
    #[serde(alias = "artifacts")]
    pub output: Option<String>,
}
#[derive(Clone, Debug)]
#[builder(start_fn(name = init))]
pub struct ConfigOptions {
    #[builder(default = PathBuf::from("."))]
    pub root: PathBuf,
    #[builder(default = false)]
    pub dry_run: bool,
    #[builder(default = false)]
    pub offline: bool,
    #[builder(default = false)]
    pub skip_verify_checksum: bool,
    #[builder(default = false)]
    pub skip_verify_requirements: bool,
    pub verbose: Verbosity,
}
/// Struct for using and sharing containerized environments
///
/// Examples:
@@ -547,6 +562,31 @@ impl Config {
        }
        Ok(())
    }
    /// Verify software requirements are met on host system (ex. Python, conda, etc...)
    ///
    /// Uses process similar to Linux `which` to determine if a given command is available on the host system.
    ///
    pub fn verify_requirements(self, options: &ConfigOptions) -> Config {
        if !options.skip_verify_requirements {
            self.requirements.iter().for_each(|name| {
                let command = Command::init().name(name.clone()).build();
                if !command.test() {
                    error!(name, "=> {} Requirement not met", Label::not_found());
                    std::process::exit(exitcode::UNAVAILABLE);
                }
            });
        } else {
            warn!("Skipping requirements verification");
        }
        self
    }
    /// Verify hardware resources (ex. GPU) are available for the workflow on host system
    ///
    /// Under construction
    ///
    pub fn verify_resources(self, _options: &ConfigOptions) -> Config {
        self
    }
}
impl PartialEq for Details {
    fn eq(&self, other: &Self) -> bool {