Browse Source

ft: 格式化代码

master
SisMaker 4 years ago
parent
commit
fa8f013fd7
3 changed files with 16 additions and 8 deletions
  1. +9
    -2
      README.md
  2. +2
    -2
      src/sync/esSyncSrv.erl
  3. +5
    -4
      src/sync/esUtils.erl

+ 9
- 2
README.md View File

@ -1,17 +1,23 @@
# eSync # eSync
otp21.2+ otp21.2+
Erlang即时重新编译和重新加载! Erlang即时重新编译和重新加载!
## 基于 [fsnotify](https://github.com/fsnotify/fsnotify) 跨平台文件系统通知。 ## 基于 [fsnotify](https://github.com/fsnotify/fsnotify) 跨平台文件系统通知。
## 改造自 [sync](https://github.com/rustyio/sync) ## 改造自 [sync](https://github.com/rustyio/sync)
## 封装的监听文件项目[fileSync](https://github.com/SisMaker/fileSync) 如果要自己构建执行文件, 拉取监听文件项目, 然后 go build 复制执行文件到该工程的 priv 目录即可 ## 封装的监听文件项目[fileSync](https://github.com/SisMaker/fileSync) 如果要自己构建执行文件, 拉取监听文件项目, 然后 go build 复制执行文件到该工程的 priv 目录即可
# 特点 # 特点
本项目实现了自带编译与加载功能,另外支持额外的编译命令,但是执行额外的编译命令是通过os:cmd(),会阻塞VM不是很建议使用. 本项目实现了自带编译与加载功能,另外支持额外的编译命令,但是执行额外的编译命令是通过os:cmd(),会阻塞VM不是很建议使用.
启动后,eSync会收集监听目录下的源文件和编译选项等的信息。 启动后,eSync会收集监听目录下的源文件和编译选项等的信息。
不仅适用于开发模式,也可以在生产环境中运行。 不仅适用于开发模式,也可以在生产环境中运行。
注意:linux下拉取项目后 需要给priv目录下的执行文件添加执行权限 注意:linux下拉取项目后 需要给priv目录下的执行文件添加执行权限
# 使用 # 使用
启动自动编译与加载 启动自动编译与加载
eSync:run(). eSync:run().
暂停自动编译与加载 暂停自动编译与加载
@ -24,8 +30,9 @@
eSync:setLog(Val). eSync:setLog(Val).
设置加载后的钩子函数(支持匿名函数, {Mod, Fun}(Fun函数只有一个参数)格式, 以及他们的列表组合) 设置加载后的钩子函数(支持匿名函数, {Mod, Fun}(Fun函数只有一个参数)格式, 以及他们的列表组合)
eSync:setOnsync(FunOrFuns). eSync:setOnsync(FunOrFuns).
# 配置说明 # 配置说明
参见eSync.sample.config 参见eSync.sample.config
默认配置为 默认配置为
[ [

+ 2
- 2
src/sync/esSyncSrv.erl View File

@ -129,7 +129,7 @@ handleCast(miRescan, _, State) ->
handleCast(_Msg, _, _State) -> handleCast(_Msg, _, _State) ->
kpS_S. kpS_S.
handleInfo({Port, {data, Data}}, Status, #state{srcFiles = Srcs, hrlFiles = Hrls, configs = Configs, beams = Beams, onSyncFun = OnSyncFun, swSyncNode = SwSyncNode} = State) ->
handleInfo({Port, {data, Data}}, Status, #state{srcFiles = Srcs, hrlFiles = Hrls, configs = Configs, beams = Beams, onSyncFun = OnSyncFun, swSyncNode = SwSyncNode} = State) ->
case Status of case Status of
running -> running ->
FileList = binary:split(Data, <<"\r\n">>, [global]), FileList = binary:split(Data, <<"\r\n">>, [global]),
@ -143,7 +143,7 @@ handleInfo({Port, {data, Data}}, Status, #state{srcFiles = Srcs, hrlFiles = Hrls
esUtils:recompileChangeSrcFile(maps:iterator(NReSrcs), SwSyncNode), esUtils:recompileChangeSrcFile(maps:iterator(NReSrcs), SwSyncNode),
{kpS, State#state{srcFiles = NewSrcs, hrlFiles = NewHrls, configs = NewConfigs, beams = NewBeams}}; {kpS, State#state{srcFiles = NewSrcs, hrlFiles = NewHrls, configs = NewConfigs, beams = NewBeams}};
CmdStr -> CmdStr ->
case maps:size(CSrcs) > 0 orelse CHrls =/= [] of
case maps:size(CSrcs) > 0 orelse CHrls =/= [] of
true -> true ->
RetStr = os:cmd(CmdStr), RetStr = os:cmd(CmdStr),
RetList = string:split(RetStr, "\n", all), RetList = string:split(RetStr, "\n", all),

+ 5
- 4
src/sync/esUtils.erl View File

@ -192,7 +192,7 @@ getFileType(Source) ->
determineIncludeDir(IncludeDir, BeamDir, SrcDir) -> determineIncludeDir(IncludeDir, BeamDir, SrcDir) ->
IncludeBase = filename:basename(IncludeDir), IncludeBase = filename:basename(IncludeDir),
case determineIncludeDirFromBeamDir(IncludeBase, IncludeDir, BeamDir) of case determineIncludeDirFromBeamDir(IncludeBase, IncludeDir, BeamDir) of
{ok, _Dir} = RetD -> RetD;
{ok, _Dir} = RetD -> RetD;
undefined -> undefined ->
{ok, Cwd} = file:get_cwd(), {ok, Cwd} = file:get_cwd(),
% Cwd2 = normalizeCaseWindowsDir(Cwd), % Cwd2 = normalizeCaseWindowsDir(Cwd),
@ -222,7 +222,7 @@ determineIncludeDirFromBeamDir(IncludeBase, IncludeDir, BeamDir) ->
getRootSrcDirFromSrcDir(SrcDir) -> getRootSrcDirFromSrcDir(SrcDir) ->
NewDirName = filename:dirname(SrcDir), NewDirName = filename:dirname(SrcDir),
BaseName = filename:basename(SrcDir), BaseName = filename:basename(SrcDir),
case BaseName of
case BaseName of
?rootSrcDir -> ?rootSrcDir ->
NewDirName; NewDirName;
_ -> _ ->
@ -564,7 +564,8 @@ printResults(_Module, SrcFile, [], []) ->
Msg = io_lib:format("~s Recompiled", [SrcFile]), Msg = io_lib:format("~s Recompiled", [SrcFile]),
esUtils:logSuccess(lists:flatten(Msg)); esUtils:logSuccess(lists:flatten(Msg));
printResults(_Module, SrcFile, [], Warnings) -> printResults(_Module, SrcFile, [], Warnings) ->
formatErrors(fun esUtils:logWarnings/1, SrcFile, [], Warnings), io_lib:format("~s Recompiled with ~p warnings", [SrcFile, length(Warnings)]);
formatErrors(fun esUtils:logWarnings/1, SrcFile, [], Warnings),
io_lib:format("~s Recompiled with ~p warnings", [SrcFile, length(Warnings)]);
printResults(_Module, SrcFile, Errors, Warnings) -> printResults(_Module, SrcFile, Errors, Warnings) ->
formatErrors(fun esUtils:logErrors/1, SrcFile, Errors, Warnings). formatErrors(fun esUtils:logErrors/1, SrcFile, Errors, Warnings).
@ -977,5 +978,5 @@ dateTimeToSec(DateTime) ->
DateTime == 0 -> DateTime == 0 ->
0; 0;
true -> true ->
erlang:universaltime_to_posixtime(DateTime )
erlang:universaltime_to_posixtime(DateTime)
end. end.

Loading…
Cancel
Save