diff --git a/meshconsole/MeshConsole.vcxproj b/meshconsole/MeshConsole.vcxproj index c998e09..281f81f 100644 --- a/meshconsole/MeshConsole.vcxproj +++ b/meshconsole/MeshConsole.vcxproj @@ -110,6 +110,7 @@ + @@ -343,6 +344,11 @@ /ignore:4099 %(AdditionalOptions) $(OutDir)$(TargetName)$(TargetExt) + + git log -1 > nul 2>&1 +IF %ERRORLEVEL% NEQ 0 exit 0 +git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + @@ -358,6 +364,13 @@ /ignore:4099 %(AdditionalOptions) $(OutDir)$(TargetName)$(TargetExt) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + @@ -373,6 +386,13 @@ /ignore:4099 %(AdditionalOptions) $(OutDir)$(TargetName)$(TargetExt) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + @@ -388,6 +408,13 @@ /ignore:4099 %(AdditionalOptions) $(OutDir)$(TargetName)$(TargetExt) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js @@ -406,6 +433,13 @@ /ignore:4099 %(AdditionalOptions) $(OutDir)$(TargetName)$(TargetExt) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js @@ -424,6 +458,13 @@ /ignore:4099 %(AdditionalOptions) $(OutDir)$(TargetName)$(TargetExt) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js @@ -442,6 +483,13 @@ $(OutDir)$(TargetName)$(TargetExt) /ignore:4099 %(AdditionalOptions) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + @@ -457,6 +505,13 @@ $(OutDir)$(TargetName)$(TargetExt) /ignore:4099 %(AdditionalOptions) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + @@ -472,6 +527,13 @@ $(OutDir)$(TargetName)$(TargetExt) /ignore:4099 %(AdditionalOptions) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + @@ -487,6 +549,13 @@ $(OutDir)$(TargetName)$(TargetExt) /ignore:4099 %(AdditionalOptions) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js @@ -505,6 +574,13 @@ $(OutDir)$(TargetName)$(TargetExt) /ignore:4099 %(AdditionalOptions) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js @@ -523,6 +599,13 @@ $(OutDir)$(TargetName)$(TargetExt) /ignore:4099 %(AdditionalOptions) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js diff --git a/meshconsole/MeshConsole.vcxproj.filters b/meshconsole/MeshConsole.vcxproj.filters index 9485eaf..0d07e9b 100644 --- a/meshconsole/MeshConsole.vcxproj.filters +++ b/meshconsole/MeshConsole.vcxproj.filters @@ -148,6 +148,9 @@ Meshcore + + Microscript + diff --git a/meshservice/MeshService.vcxproj b/meshservice/MeshService.vcxproj index ddafbec..8d7a51a 100644 --- a/meshservice/MeshService.vcxproj +++ b/meshservice/MeshService.vcxproj @@ -220,6 +220,13 @@ /ignore:4099 %(AdditionalOptions) $(OutDir)$(TargetName)$(TargetExt) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + signtool.exe sign /sha1 fd5940d8fd585545614fea6da455f25d224b00c9 /d "MeshService" /du "http://opentools.homeip.net" "$(TargetPath)" @@ -256,6 +263,13 @@ /ignore:4099 %(AdditionalOptions) $(OutDir)$(TargetName)$(TargetExt) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + signtool.exe sign /sha1 fd5940d8fd585545614fea6da455f25d224b00c9 /d "MeshService" /du "http://opentools.homeip.net" "$(TargetPath)" @@ -290,6 +304,13 @@ $(OutDir)$(TargetName)$(TargetExt) $(OutDir)$(TargetName).pdb + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + signtool.exe sign /sha1 fd5940d8fd585545614fea6da455f25d224b00c9 /d "MeshService" /du "http://opentools.homeip.net" "$(TargetPath)" @@ -324,6 +345,13 @@ $(OutDir)$(TargetName)$(TargetExt) $(OutDir)$(TargetName).pdb + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + signtool.exe sign /sha1 fd5940d8fd585545614fea6da455f25d224b00c9 /d "MeshService" /du "http://opentools.homeip.net" "$(TargetPath)" @@ -357,6 +385,13 @@ MachineX86 /ignore:4099 %(AdditionalOptions) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + REM signtool.exe sign /sha1 fd5940d8fd585545614fea6da455f25d224b00c9 /d "MeshService" /du "http://opentools.homeip.net" /t http://timestamp.comodoca.com/authenticode "$(TargetPath)" "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js @@ -391,6 +426,13 @@ MachineX86 /ignore:4099 %(AdditionalOptions) + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + REM signtool.exe sign /sha1 fd5940d8fd585545614fea6da455f25d224b00c9 /d "MeshService" /du "http://opentools.homeip.net" /t http://timestamp.comodoca.com/authenticode "$(TargetPath)" "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js @@ -427,6 +469,13 @@ $(OutDir)$(TargetName)$(TargetExt) $(OutDir)$(TargetName).pdb + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + REM signtool.exe sign /sha1 fd5940d8fd585545614fea6da455f25d224b00c9 /d "MeshService" /du "http://opentools.homeip.net" /t http://timestamp.comodoca.com/authenticode "$(TargetPath)" "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js @@ -463,6 +512,13 @@ $(OutDir)$(TargetName)$(TargetExt) $(OutDir)$(TargetName).pdb + + + git log -1 > nul 2>&1 + IF %ERRORLEVEL% NEQ 0 exit 0 + git log -1 2>nul | FINDSTR /C:"Date:" | FOR /F "tokens=3,4,5,6,7" %%F in ('findstr "."') do @echo #define SOURCE_COMMIT_DATE "%%I-%%F-%%G %%H%%J" > $(ProjectDir)..\microscript\ILibDuktape_Commit.h + + REM signtool.exe sign /sha1 fd5940d8fd585545614fea6da455f25d224b00c9 /d "MeshService" /du "http://opentools.homeip.net" /t http://timestamp.comodoca.com/authenticode "$(TargetPath)" "$(OutputPath)$(TargetFileName)" ..\modules\PostBuild.js @@ -545,6 +601,7 @@ + diff --git a/meshservice/MeshService.vcxproj.filters b/meshservice/MeshService.vcxproj.filters index a619213..b5f3766 100644 --- a/meshservice/MeshService.vcxproj.filters +++ b/meshservice/MeshService.vcxproj.filters @@ -304,5 +304,8 @@ Meshcore + + Microscript + \ No newline at end of file diff --git a/microscript/ILibDuktape_Commit.h b/microscript/ILibDuktape_Commit.h new file mode 100644 index 0000000..60d275f --- /dev/null +++ b/microscript/ILibDuktape_Commit.h @@ -0,0 +1 @@ +#define SOURCE_COMMIT_DATE NULL diff --git a/microscript/ILibDuktape_ScriptContainer.c b/microscript/ILibDuktape_ScriptContainer.c index c894bf1..9d83ded 100644 --- a/microscript/ILibDuktape_ScriptContainer.c +++ b/microscript/ILibDuktape_ScriptContainer.c @@ -66,6 +66,7 @@ limitations under the License. #include "ILibDuktape_ChildProcess.h" #include "ILibDuktape_HECI.h" #include "ILibDuktape_Debugger.h" +#include "ILibDuktape_Commit.h" #ifdef _POSIX extern char **environ; @@ -934,6 +935,9 @@ void ILibDuktape_ScriptContainer_Process_Init(duk_context *ctx, char **argList) { int i = 0; ILibDuktape_EventEmitter *emitter; + char *sslv = (char*)SSLeay_version(SSLEAY_VERSION); + char *sslvS = strstr(sslv, " ") + 1; + duk_push_global_object(ctx); // [g] duk_push_object(ctx); // [g][process] @@ -942,6 +946,59 @@ void ILibDuktape_ScriptContainer_Process_Init(duk_context *ctx, char **argList) ILibDuktape_CreateInstanceMethod(ctx, "cwd", ILibDuktape_Process_cwd, 0); ILibDuktape_CreateInstanceMethod(ctx, "setenv", ILibDuktape_Process_setenv, 2); + duk_push_object(ctx); + if (sslvS != ((char*)NULL + 1)) + { + char *tmp = strstr(sslvS, " "); + if (tmp != NULL) + { + duk_push_lstring(ctx, sslvS, (duk_size_t)(tmp - sslvS)); + duk_put_prop_string(ctx, -2, "openssl"); + } + } + duk_push_string(ctx, DUK_GIT_DESCRIBE); duk_put_prop_string(ctx, -2, "duktape"); + if (SOURCE_COMMIT_DATE != NULL) + { + duk_eval_string(ctx, + "(function translateDate(COMMIT_DATE)\ + {\ + var MONTH_TRANSLATE =\ + {\ + 'Jan' : '01',\ + 'Feb' : '02',\ + 'Mar' : '03',\ + 'Apr' : '04',\ + 'May' : '05',\ + 'Jun' : '06',\ + 'Jul' : '07',\ + 'Aug' : '08',\ + 'Sep' : '09',\ + 'Oct' : '10',\ + 'Nov' : '11',\ + 'Dec' : '12'\ + };\ + var tz = COMMIT_DATE.substring(COMMIT_DATE.length-2);\ + COMMIT_DATE = COMMIT_DATE.substring(0, COMMIT_DATE.length-2) + ':' + tz;\ + var tmp = COMMIT_DATE.split('-');\ + tmp[1] = MONTH_TRANSLATE[tmp[1]];\ + var day = tmp[2];\ + var day2 = day.split(' ');\ + day2[0] = day2[0].padStart(2, '0');\ + tmp[2] = day2.join(' ');\ + return (new Date(tmp.join('-')));\ + })"); // [func] + duk_push_string(ctx, SOURCE_COMMIT_DATE); // [func][date] + if (duk_pcall(ctx, 1) == 0) + { + duk_put_prop_string(ctx, -2, "meshAgent"); + } + else + { + duk_pop(ctx); + } + } + ILibDuktape_CreateReadonlyProperty(ctx, "versions"); + #if defined(WIN32) // [g][process][platform] duk_push_string(ctx, "win32"); #elif defined(__APPLE__)