From c85a33e792e69294780d173d892b918a86542059 Mon Sep 17 00:00:00 2001 From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com> Date: Thu, 5 Dec 2024 20:20:35 -0500 Subject: [PATCH 1/2] remove inline js script in ScriptConfig/edit-config.jelly --- .../ScriptConfig/edit-config-codemirror.js | 28 +++++++++++++++++ .../ScriptConfig/edit-config.jelly | 30 +------------------ 2 files changed, 29 insertions(+), 29 deletions(-) create mode 100644 src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js diff --git a/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js new file mode 100644 index 0000000..c0ded3f --- /dev/null +++ b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js @@ -0,0 +1,28 @@ +document.onreadystatechange = function(){ + // editor.on seems to require newer codemirror version + // var pending; + // editor.on("change", function() { + // clearTimeout(pending); + // pending = setTimeout(update, 400); + // }); + console.log("SHLOMO"); + function looksLike(code) { + var firstline = code.split('\n')[0]; + if(firstline.indexOf('#!') == 0){ + var shellpattern = /bin\/[\w]{0,2}sh/; + var shellpatternwin = /[\w]{0,2}sh\.exe/; + if(firstline.indexOf('python') > -1){ + return "python"; + // perl requires stapler-adjunct-codemirror > 1.3 + }else if(firstline.indexOf('perl') > -1){ + return "perl"; + }else if(shellpattern.exec(firstline) || shellpatternwin.exec(firstline)){ + return "shell"; + } + } + } + function update() { + editor.setOption("mode", looksLike(editor.getValue())); + } + update(); +}; \ No newline at end of file diff --git a/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config.jelly b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config.jelly index 9590573..480bb51 100644 --- a/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config.jelly +++ b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config.jelly @@ -55,34 +55,6 @@ THE SOFTWARE. org.kohsuke.stapler.codemirror.mode.shell.shell, org.kohsuke.stapler.codemirror.mode.perl.perl, "/> - + \ No newline at end of file From 11ea3ee5d94a5dca25fbaf0236571953963ac91a Mon Sep 17 00:00:00 2001 From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com> Date: Thu, 5 Dec 2024 20:24:32 -0500 Subject: [PATCH 2/2] remove inline js script in ScriptConfig/edit-config.jelly --- .../managedscripts/ScriptConfig/edit-config-codemirror.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js index c0ded3f..8e664a3 100644 --- a/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js +++ b/src/main/resources/org/jenkinsci/plugins/managedscripts/ScriptConfig/edit-config-codemirror.js @@ -5,7 +5,6 @@ document.onreadystatechange = function(){ // clearTimeout(pending); // pending = setTimeout(update, 400); // }); - console.log("SHLOMO"); function looksLike(code) { var firstline = code.split('\n')[0]; if(firstline.indexOf('#!') == 0){ @@ -25,4 +24,4 @@ document.onreadystatechange = function(){ editor.setOption("mode", looksLike(editor.getValue())); } update(); -}; \ No newline at end of file +};