Browse Source

bootstrap: generate windows scripts

pull/3/head
Matt Campbell 13 years ago
committed by Tuncer Ayaz
parent
commit
8c01734e98
3 changed files with 22 additions and 5 deletions
  1. +2
    -0
      .gitignore
  2. +20
    -1
      bootstrap
  3. +0
    -4
      rebar.bat

+ 2
- 0
.gitignore View File

@ -6,3 +6,5 @@ rebar
rt.work
.hgignore
.eunit
rebar.cmd
rebar.ps1

+ 20
- 1
bootstrap View File

@ -79,11 +79,15 @@ main(Args) ->
halt(1)
end,
%% Finally, update executable perms for our script
%% Finally, update executable perms for our script on *nix,
%% or write out script files on win32.
case os:type() of
{unix,_} ->
[] = os:cmd("chmod u+x rebar"),
ok;
{win32,_} ->
write_windows_scripts(),
ok;
_ ->
ok
end,
@ -126,3 +130,18 @@ vcs_info([{Id, Dir, Cmd} | Rest]) ->
false ->
vcs_info(Rest)
end.
write_windows_scripts() ->
PowershellScript=
"$basedir = Split-Path -Parent $MyInvocation.MyCommand.Path\r\n"
"$rebar = Join-Path $basedir \"rebar\"\r\n"
"escript.exe $rebar $args\r\n",
CmdScript=
"@echo off\r\n"
"setlocal\r\n"
"set rebarscript=%~f0\r\n"
"escript.exe \"%rebarscript:.bat=%i\" %*\r\n",
file:write_file("rebar.cmd", CmdScript),
UTF16BE = {utf16, big},
file:write_file("rebar.ps1", [unicode:encoding_to_bom(UTF16BE),
unicode:characters_to_binary(PowershellScript, utf8, UTF16BE)]).

+ 0
- 4
rebar.bat View File

@ -1,4 +0,0 @@
@echo off
setlocal
set rebarscript=%~f0
escript.exe "%rebarscript:.bat=%" %*

Loading…
Cancel
Save