Uses 107K of libraries. Click here for Pure Java version (15646L/112K).
1 | !7 |
2 | |
3 | sclass Backtick extends DynPrintLog {
|
4 | S cmd; |
5 | S method = "Stefan's method"; |
6 | transient JButton btnGo; |
7 | |
8 | JComponent visualize() {
|
9 | ret northAndCenter( |
10 | vstackWithSpacing( |
11 | centerAndEastWithMargins( |
12 | withLabel("Command:", onEnter(jLiveValueTextField_bothWays(dm_fieldLiveValue('cmd)), r go)),
|
13 | btnGo = jbutton("Go", r go)),
|
14 | withRightMargin(jrightAlignedLine(withLabel("Method:", jLiveValueComboBox(ll("Stefan's method", "Apache Commons Exec"), dm_fieldLiveValue('method)))))),
|
15 | super.visualize()); |
16 | } |
17 | |
18 | void go() {
|
19 | pcall-short {
|
20 | temp enter(); |
21 | temp tempDisableButton(btnGo); |
22 | clearPrintLog(); |
23 | S cmd = this.cmd; |
24 | print("Running command with " + method + ": " + cmd + "\n");
|
25 | |
26 | int exitValue; |
27 | if (eq(method, "Apache Commons Exec")) {
|
28 | OutputStream stream1 = printOutputStreamWithIndent(" ");
|
29 | OutputStream stream2 = printOutputStreamWithIndent(" ");
|
30 | |
31 | exitValue = apacheCommonsExec_backtickToStreams(cmd, stream1, stream2); |
32 | |
33 | // print empty lines & flush stdout & stderr |
34 | stream1.write(toUtf8("\n"));
|
35 | stream2.write(toUtf8("\n"));
|
36 | } else {
|
37 | LineBuffer buf = lineBuffer_printWithIndent(" ");
|
38 | backtickToReceiver(cmd, vfAppendToLineBuffer(buf)); |
39 | exitValue = backtick_exitValue; |
40 | print(); |
41 | } |
42 | |
43 | print("Exit value: " + exitValue);
|
44 | } |
45 | } |
46 | } |
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1016732 |
| Snippet name: | Backtick - run system command [Dyn Module] |
| Eternal ID of this version: | #1016732/12 |
| Text MD5: | ae02b80452bd2cbb9b361c52b4acebb1 |
| Transpilation MD5: | 462e599f22cd07a35363343c283072e2 |
| Author: | stefan |
| Category: | javax / stefan's os |
| Type: | JavaX source code (Dynamic Module) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2018-06-30 17:15:23 |
| Source code size: | 1504 bytes / 46 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 785 / 1172 |
| Version history: | 11 change(s) |
| Referenced in: | [show references] |