Merge pull request #2206 from mc-server/APIDumpTimeStamp
APIDump time stamp
This commit is contained in:
commit
519fd1d36d
@ -24,6 +24,7 @@ if(DEFINED ENV{TRAVIS_BUILD_WITH_COVERAGE})
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(DEFINED ENV{MCSERVER_BUILD_ID})
|
if(DEFINED ENV{MCSERVER_BUILD_ID})
|
||||||
|
# The build info is defined by the build system (Travis / Jenkins)
|
||||||
set(BUILD_ID $ENV{MCSERVER_BUILD_ID})
|
set(BUILD_ID $ENV{MCSERVER_BUILD_ID})
|
||||||
set(BUILD_SERIES_NAME $ENV{MCSERVER_BUILD_SERIES_NAME})
|
set(BUILD_SERIES_NAME $ENV{MCSERVER_BUILD_SERIES_NAME})
|
||||||
set(BUILD_DATETIME $ENV{MCSERVER_BUILD_DATETIME})
|
set(BUILD_DATETIME $ENV{MCSERVER_BUILD_DATETIME})
|
||||||
@ -34,12 +35,41 @@ if(DEFINED ENV{MCSERVER_BUILD_ID})
|
|||||||
execute_process(
|
execute_process(
|
||||||
COMMAND git rev-parse HEAD
|
COMMAND git rev-parse HEAD
|
||||||
RESULT_VARIABLE GIT_EXECUTED
|
RESULT_VARIABLE GIT_EXECUTED
|
||||||
OUTPUT_VARIABLE BUILD_COMMIT_ID)
|
OUTPUT_VARIABLE BUILD_COMMIT_ID
|
||||||
|
)
|
||||||
string(STRIP ${BUILD_COMMIT_ID} BUILD_COMMIT_ID)
|
string(STRIP ${BUILD_COMMIT_ID} BUILD_COMMIT_ID)
|
||||||
if (NOT (GIT_EXECUTED EQUAL 0))
|
if (NOT (GIT_EXECUTED EQUAL 0))
|
||||||
message(FATAL_ERROR "Could not identifiy git commit id")
|
message(FATAL_ERROR "Could not identifiy git commit id")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
else()
|
||||||
|
# This is a local build, stuff in some basic info:
|
||||||
|
set(BUILD_ID "Unknown")
|
||||||
|
set(BUILD_SERIES_NAME "local build")
|
||||||
|
execute_process(
|
||||||
|
COMMAND git rev-parse HEAD
|
||||||
|
RESULT_VARIABLE GIT_EXECUTED
|
||||||
|
OUTPUT_VARIABLE BUILD_COMMIT_ID
|
||||||
|
)
|
||||||
|
if (NOT(GIT_EXECUTED EQUAL 0))
|
||||||
|
set(BUILD_COMMIT_ID "Unknown")
|
||||||
|
endif()
|
||||||
|
string(STRIP ${BUILD_COMMIT_ID} BUILD_COMMIT_ID)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git log -1 --date=iso --pretty=format:%ai
|
||||||
|
RESULT_VARIABLE GIT_EXECUTED
|
||||||
|
OUTPUT_VARIABLE BUILD_DATETIME
|
||||||
|
)
|
||||||
|
if (NOT(GIT_EXECUTED EQUAL 0))
|
||||||
|
set(BUILD_DATETIME "Unknown")
|
||||||
|
endif()
|
||||||
|
string(STRIP ${BUILD_DATETIME} BUILD_DATETIME)
|
||||||
|
|
||||||
|
# The BUILD_COMMIT_ID and BUILD_DATETIME aren't updated on each repo pull
|
||||||
|
# They are only updated when cmake re-configures the project
|
||||||
|
# Therefore mark them as "approx: "
|
||||||
|
set(BUILD_COMMIT_ID "approx: ${BUILD_COMMIT_ID}")
|
||||||
|
set(BUILD_DATETIME "approx: ${BUILD_DATETIME}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# We need C++11 features, Visual Studio has those from VS2012, but it needs a new platform toolset for those; VS2013 supports them natively:
|
# We need C++11 features, Visual Studio has those from VS2012, but it needs a new platform toolset for those; VS2013 supports them natively:
|
||||||
|
@ -2038,7 +2038,7 @@ a_Player:OpenWindow(Window);
|
|||||||
BroadcastChat =
|
BroadcastChat =
|
||||||
{
|
{
|
||||||
{ Params = "MessageText, MessageType", Return = "", Notes = "Broadcasts a message to all players, with its message type set to MessageType (default: mtCustom)." },
|
{ Params = "MessageText, MessageType", Return = "", Notes = "Broadcasts a message to all players, with its message type set to MessageType (default: mtCustom)." },
|
||||||
{ Params = "{{cCompositeChat|CompositeChat}}", Return = "", Notes = "Broadcasts a {{cCompositeChat|composite chat message} to all players." },
|
{ Params = "{{cCompositeChat|CompositeChat}}", Return = "", Notes = "Broadcasts a {{cCompositeChat|composite chat message}} to all players." },
|
||||||
},
|
},
|
||||||
BroadcastChatDeath = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtDeath. Use for when a player has died." },
|
BroadcastChatDeath = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtDeath. Use for when a player has died." },
|
||||||
BroadcastChatFailure = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtFailure. Use for a command that failed to run because of insufficient permissions, etc." },
|
BroadcastChatFailure = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtFailure. Use for a command that failed to run because of insufficient permissions, etc." },
|
||||||
@ -2048,12 +2048,16 @@ a_Player:OpenWindow(Window);
|
|||||||
BroadcastChatLeave = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtLeave. Use for players leaving the server." },
|
BroadcastChatLeave = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtLeave. Use for players leaving the server." },
|
||||||
BroadcastChatSuccess = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtSuccess. Use for success messages." },
|
BroadcastChatSuccess = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtSuccess. Use for success messages." },
|
||||||
BroadcastChatWarning = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtWarning. Use for concerning events, such as plugin reload etc." },
|
BroadcastChatWarning = { Params = "MessageText", Return = "", Notes = "Broadcasts the specified message to all players, with its message type set to mtWarning. Use for concerning events, such as plugin reload etc." },
|
||||||
CreateAndInitializeWorld = { Params = "WorldName", Return = "{{cWorld|cWorld}}", Notes = "Creates a new world and initializes it. If there is a world whith the same name it returns nil.<br><br><b>NOTE</b>This function is currently unsafe, do not use!" },
|
CreateAndInitializeWorld = { Params = "WorldName", Return = "{{cWorld|cWorld}}", Notes = "Creates a new world and initializes it. If there is a world whith the same name it returns nil.<br><br><b>NOTE:</b> This function is currently unsafe, do not use!" },
|
||||||
FindAndDoWithPlayer = { Params = "PlayerName, CallbackFunction", Return = "bool", Notes = "Calls the given callback function for the player with the name best matching the name string provided.<br>This function is case-insensitive and will match partial names.<br>Returns false if player not found or there is ambiguity, true otherwise. The CallbackFunction has the following signature: <pre class=\"prettyprint lang-lua\">function Callback({{cPlayer|Player}})</pre>" },
|
FindAndDoWithPlayer = { Params = "PlayerName, CallbackFunction", Return = "bool", Notes = "Calls the given callback function for the player with the name best matching the name string provided.<br>This function is case-insensitive and will match partial names.<br>Returns false if player not found or there is ambiguity, true otherwise. The CallbackFunction has the following signature: <pre class=\"prettyprint lang-lua\">function Callback({{cPlayer|Player}})</pre>" },
|
||||||
DoWithPlayerByUUID = { Params = "PlayerUUID, CallbackFunction", Return = "bool", Notes = "If there is the player with the uuid, calls the CallbackFunction with the {{cPlayer}} parameter representing the player. The CallbackFunction has the following signature: <pre class=\"prettyprint lang-lua\">function Callback({{cPlayer|Player}})</pre> The function returns false if the player was not found, or whatever bool value the callback returned if the player was found." },
|
DoWithPlayerByUUID = { Params = "PlayerUUID, CallbackFunction", Return = "bool", Notes = "If there is the player with the uuid, calls the CallbackFunction with the {{cPlayer}} parameter representing the player. The CallbackFunction has the following signature: <pre class=\"prettyprint lang-lua\">function Callback({{cPlayer|Player}})</pre> The function returns false if the player was not found, or whatever bool value the callback returned if the player was found." },
|
||||||
ForEachPlayer = { Params = "CallbackFunction", Return = "", Notes = "Calls the given callback function for each player. The callback function has the following signature: <pre class=\"prettyprint lang-lua\">function Callback({{cPlayer|cPlayer}})</pre>" },
|
ForEachPlayer = { Params = "CallbackFunction", Return = "", Notes = "Calls the given callback function for each player. The callback function has the following signature: <pre class=\"prettyprint lang-lua\">function Callback({{cPlayer|cPlayer}})</pre>" },
|
||||||
ForEachWorld = { Params = "CallbackFunction", Return = "", Notes = "Calls the given callback function for each world. The callback function has the following signature: <pre class=\"prettyprint lang-lua\">function Callback({{cWorld|cWorld}})</pre>" },
|
ForEachWorld = { Params = "CallbackFunction", Return = "", Notes = "Calls the given callback function for each world. The callback function has the following signature: <pre class=\"prettyprint lang-lua\">function Callback({{cWorld|cWorld}})</pre>" },
|
||||||
Get = { Params = "", Return = "Root object", Notes = "(STATIC)This function returns the cRoot object." },
|
Get = { Params = "", Return = "Root object", Notes = "(STATIC) This function returns the cRoot object." },
|
||||||
|
GetBuildCommitID = { Params = "", Return = "string", Notes = "(STATIC) For official builds (Travis CI / Jenkins) it returns the exact commit hash used for the build. For unofficial local builds, returns the approximate commit hash (since the true one cannot be determined), formatted as \"approx: <CommitHash>\"." },
|
||||||
|
GetBuildDateTime = { Params = "", Return = "string", Notes = "(STATIC) For official builds (Travic CI / Jenkins) it returns the date and time of the build. For unofficial local builds, returns the approximate datetime of the commit (since the true one cannot be determined), formatted as \"approx: <DateTime-iso8601>\"." },
|
||||||
|
GetBuildID = { Params = "", Return = "string", Notes = "(STATIC) For official builds (Travis CI / Jenkins) it returns the unique ID of the build, as recognized by the build system. For unofficial local builds, returns the string \"Unknown\"." },
|
||||||
|
GetBuildSeriesName = { Params = "", Return = "string", Notes = "(STATIC) For official builds (Travis CI / Jenkins) it returns the series name of the build (for example \"MCServer Windows x64 Master\"). For unofficial local builds, returns the string \"local build\"." },
|
||||||
GetCraftingRecipes = { Params = "", Return = "{{cCraftingRecipe|cCraftingRecipe}}", Notes = "Returns the CraftingRecipes object" },
|
GetCraftingRecipes = { Params = "", Return = "{{cCraftingRecipe|cCraftingRecipe}}", Notes = "Returns the CraftingRecipes object" },
|
||||||
GetDefaultWorld = { Params = "", Return = "{{cWorld|cWorld}}", Notes = "Returns the world object from the default world." },
|
GetDefaultWorld = { Params = "", Return = "{{cWorld|cWorld}}", Notes = "Returns the world object from the default world." },
|
||||||
GetFurnaceFuelBurnTime = { Params = "{{cItem|Fuel}}", Return = "number", Notes = "(STATIC) Returns the number of ticks for how long the item would fuel a furnace. Returns zero if not a fuel." },
|
GetFurnaceFuelBurnTime = { Params = "{{cItem|Fuel}}", Return = "number", Notes = "(STATIC) Returns the number of ticks for how long the item would fuel a furnace. Returns zero if not a fuel." },
|
||||||
|
@ -61,7 +61,7 @@ footer
|
|||||||
font-family: Segoe UI Light, Helvetica;
|
font-family: Segoe UI Light, Helvetica;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content
|
#content, #timestamp
|
||||||
{
|
{
|
||||||
padding: 0px 25px 25px 25px;
|
padding: 0px 25px 25px 25px;
|
||||||
}
|
}
|
||||||
|
@ -153,6 +153,19 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--- Returns the timestamp in HTML format
|
||||||
|
-- The timestamp will be inserted to all generated HTML files
|
||||||
|
local function GetHtmlTimestamp()
|
||||||
|
return string.format("<div id='timestamp'>Generated on %s, Build ID %s, Commit %s</div>",
|
||||||
|
os.date("%Y-%m-%d %H:%M:%S"),
|
||||||
|
cRoot:GetBuildID(), cRoot:GetBuildCommitID()
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local function WriteArticles(f)
|
local function WriteArticles(f)
|
||||||
f:write([[
|
f:write([[
|
||||||
<a name="articles"><h2>Articles</h2></a>
|
<a name="articles"><h2>Articles</h2></a>
|
||||||
@ -296,7 +309,9 @@ local function WriteHtmlHook(a_Hook, a_HookNav)
|
|||||||
f:write("<p>", (example.Desc or "<i>missing Desc</i>"), "</p>\n");
|
f:write("<p>", (example.Desc or "<i>missing Desc</i>"), "</p>\n");
|
||||||
f:write("<pre class=\"prettyprint lang-lua\">", (example.Code or "<i>missing Code</i>"), "\n</pre>\n\n");
|
f:write("<pre class=\"prettyprint lang-lua\">", (example.Code or "<i>missing Code</i>"), "\n</pre>\n\n");
|
||||||
end
|
end
|
||||||
f:write([[</td></tr></table></div><script>prettyPrint();</script></body></html>]]);
|
f:write([[</td></tr></table></div><script>prettyPrint();</script>]])
|
||||||
|
f:write(GetHtmlTimestamp())
|
||||||
|
f:write([[</body></html>]])
|
||||||
f:close();
|
f:close();
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -941,8 +956,10 @@ local function WriteHtmlClass(a_ClassAPI, a_ClassMenu)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
cf:write([[</td></tr></table></div><script>prettyPrint();</script></body></html>]]);
|
cf:write([[</td></tr></table></div><script>prettyPrint();</script>]])
|
||||||
cf:close();
|
cf:write(GetHtmlTimestamp())
|
||||||
|
cf:write([[</body></html>]])
|
||||||
|
cf:close()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -1320,11 +1337,10 @@ local function DumpAPIHtml(a_API)
|
|||||||
|
|
||||||
WriteStats(f);
|
WriteStats(f);
|
||||||
|
|
||||||
f:write([[ </ul>
|
f:write([[</ul></div>]])
|
||||||
</div>
|
f:write(GetHtmlTimestamp())
|
||||||
</body>
|
f:write([[</body></html>]])
|
||||||
</html>]]);
|
f:close()
|
||||||
f:close();
|
|
||||||
|
|
||||||
LOG("API subfolder written");
|
LOG("API subfolder written");
|
||||||
end
|
end
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "../CompositeChat.h"
|
#include "../CompositeChat.h"
|
||||||
#include "../StringCompression.h"
|
#include "../StringCompression.h"
|
||||||
#include "../CommandOutput.h"
|
#include "../CommandOutput.h"
|
||||||
|
#include "../BuildInfo.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -2079,6 +2080,50 @@ static int tolua_cLineBlockTracer_Trace(lua_State * tolua_S)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static int tolua_cRoot_GetBuildCommitID(lua_State * tolua_S)
|
||||||
|
{
|
||||||
|
cLuaState L(tolua_S);
|
||||||
|
L.Push(BUILD_COMMIT_ID);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static int tolua_cRoot_GetBuildDateTime(lua_State * tolua_S)
|
||||||
|
{
|
||||||
|
cLuaState L(tolua_S);
|
||||||
|
L.Push(BUILD_DATETIME);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static int tolua_cRoot_GetBuildID(lua_State * tolua_S)
|
||||||
|
{
|
||||||
|
cLuaState L(tolua_S);
|
||||||
|
L.Push(BUILD_ID);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static int tolua_cRoot_GetBuildSeriesName(lua_State * tolua_S)
|
||||||
|
{
|
||||||
|
cLuaState L(tolua_S);
|
||||||
|
L.Push(BUILD_SERIES_NAME);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int tolua_cRoot_GetFurnaceRecipe(lua_State * tolua_S)
|
static int tolua_cRoot_GetFurnaceRecipe(lua_State * tolua_S)
|
||||||
{
|
{
|
||||||
cLuaState L(tolua_S);
|
cLuaState L(tolua_S);
|
||||||
@ -2092,7 +2137,8 @@ static int tolua_cRoot_GetFurnaceRecipe(lua_State * tolua_S)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check the input param:
|
// Check the input param:
|
||||||
cItem * Input = (cItem *)tolua_tousertype(L, 2, nullptr);
|
cItem * Input = nullptr;
|
||||||
|
L.GetStackValue(2, Input);
|
||||||
if (Input == nullptr)
|
if (Input == nullptr)
|
||||||
{
|
{
|
||||||
LOGWARNING("cRoot:GetFurnaceRecipe: the Input parameter is nil or missing.");
|
LOGWARNING("cRoot:GetFurnaceRecipe: the Input parameter is nil or missing.");
|
||||||
@ -2109,9 +2155,9 @@ static int tolua_cRoot_GetFurnaceRecipe(lua_State * tolua_S)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Push the output, number of ticks and input as the three return values:
|
// Push the output, number of ticks and input as the three return values:
|
||||||
tolua_pushusertype(L, Recipe->Out, "const cItem");
|
L.Push(Recipe->Out);
|
||||||
tolua_pushnumber (L, (lua_Number)(Recipe->CookTime));
|
L.Push(Recipe->CookTime);
|
||||||
tolua_pushusertype(L, Recipe->In, "const cItem");
|
L.Push(Recipe->In);
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2868,6 +2914,10 @@ void cManualBindings::Bind(lua_State * tolua_S)
|
|||||||
tolua_function(tolua_S, "DoWithPlayerByUUID", DoWith <cRoot, cPlayer, &cRoot::DoWithPlayerByUUID>);
|
tolua_function(tolua_S, "DoWithPlayerByUUID", DoWith <cRoot, cPlayer, &cRoot::DoWithPlayerByUUID>);
|
||||||
tolua_function(tolua_S, "ForEachPlayer", ForEach<cRoot, cPlayer, &cRoot::ForEachPlayer>);
|
tolua_function(tolua_S, "ForEachPlayer", ForEach<cRoot, cPlayer, &cRoot::ForEachPlayer>);
|
||||||
tolua_function(tolua_S, "ForEachWorld", ForEach<cRoot, cWorld, &cRoot::ForEachWorld>);
|
tolua_function(tolua_S, "ForEachWorld", ForEach<cRoot, cWorld, &cRoot::ForEachWorld>);
|
||||||
|
tolua_function(tolua_S, "GetBuildCommitID", tolua_cRoot_GetBuildCommitID);
|
||||||
|
tolua_function(tolua_S, "GetBuildDateTime", tolua_cRoot_GetBuildDateTime);
|
||||||
|
tolua_function(tolua_S, "GetBuildID", tolua_cRoot_GetBuildID);
|
||||||
|
tolua_function(tolua_S, "GetBuildSeriesName", tolua_cRoot_GetBuildSeriesName);
|
||||||
tolua_function(tolua_S, "GetFurnaceRecipe", tolua_cRoot_GetFurnaceRecipe);
|
tolua_function(tolua_S, "GetFurnaceRecipe", tolua_cRoot_GetFurnaceRecipe);
|
||||||
tolua_endmodule(tolua_S);
|
tolua_endmodule(tolua_S);
|
||||||
|
|
||||||
|
@ -83,6 +83,7 @@ SET (HDRS
|
|||||||
BlockTracer.h
|
BlockTracer.h
|
||||||
Broadcaster.h
|
Broadcaster.h
|
||||||
BoundingBox.h
|
BoundingBox.h
|
||||||
|
BuildInfo.h
|
||||||
BuildInfo.h.cmake
|
BuildInfo.h.cmake
|
||||||
ByteBuffer.h
|
ByteBuffer.h
|
||||||
ChatColor.h
|
ChatColor.h
|
||||||
|
Loading…
Reference in New Issue
Block a user