@@ -6,6 +6,7 @@ const io = require("@actions/io");
66
77const fs = require ( "fs" ) ;
88const path = require ( "path" ) ;
9+ const os = require ( "os" ) ;
910
1011var PERL ;
1112
@@ -19,7 +20,8 @@ async function install_cpm_location() {
1920 } ,
2021 } ;
2122
22- const p = core . getInput ( "path" ) ;
23+ var p = core . getInput ( "path" ) ;
24+ p . replace ( "\\" , "\\\\" ) ;
2325 await exec . exec ( PERL , [ "-MConfig" , "-e" , `print "${ p } "` ] , options ) ;
2426
2527 return path . resolve ( out ) ;
@@ -37,13 +39,19 @@ async function install_cpm(install_to) {
3739
3840 console . log ( `install_to ${ install_to } ` ) ;
3941
40- // need to run it as sudo
41- await do_exec ( [
42- PERL ,
43- "-MFile::Copy=cp" ,
44- "-e" ,
45- `cp("${ cpmScript } ", "${ install_to } "); chmod(0755, "${ install_to } ")` ,
46- ] ) ;
42+ const platform = os . platform ( ) ;
43+ //console.log(`OS: :${platform}:`);
44+
45+ if ( platform == "win32" ) {
46+ await io . cp ( cpmScript , install_to ) ;
47+ } else {
48+ await do_exec ( [
49+ PERL ,
50+ "-MFile::Copy=cp" ,
51+ "-e" ,
52+ `cp("${ cpmScript } ", "${ install_to } "); chmod(0755, "${ install_to } ")` ,
53+ ] ) ;
54+ }
4755 //await io.cp(cpmScript, install_to); /* need to run with sudo */
4856 //await ioUtil.chmod(install_to, '0755')
4957
@@ -72,7 +80,8 @@ function is_false(b) {
7280
7381async function do_exec ( cmd ) {
7482 const sudo = is_true ( core . getInput ( "sudo" ) ) ;
75- const bin = sudo ? "sudo" : cmd . shift ( ) ;
83+ const platform = os . platform ( ) ;
84+ const bin = sudo && platform != "win32" ? "sudo" : cmd . shift ( ) ;
7685
7786 console . log ( `do_exec: ${ bin } ` ) ;
7887
0 commit comments