| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 43535f5 commit e9b4d24
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -170,8 +170,10 @@ class NodeTraceStateObserver : | |||
| 170 | 170 | TRACE_EVENT_METADATA1("__metadata", "process_name", | |
| 171 | 171 | "name", TRACE_STR_COPY(name_buffer)); | |
| 172 | 172 | } | |
| 173 | - TRACE_EVENT_METADATA1("__metadata", "version", | ||
| 174 | - "node", NODE_VERSION_STRING); | ||
| 173 | + TRACE_EVENT_METADATA1("__metadata", | ||
| 174 | + "version", | ||
| 175 | + "node", | ||
| 176 | + per_process::metadata.versions.node.c_str()); | ||
| 175 | 177 | TRACE_EVENT_METADATA1("__metadata", "thread_name", | |
| 176 | 178 | "name", "JavaScriptMainThread"); | |
| 177 | 179 | ||
@@ -186,13 +188,15 @@ class NodeTraceStateObserver : | |||
| 186 | 188 | ||
| 187 | 189 | trace_process->EndDictionary(); | |
| 188 | 190 | ||
| 189 | - trace_process->SetString("arch", NODE_ARCH); | ||
| 190 | - trace_process->SetString("platform", NODE_PLATFORM); | ||
| 191 | + trace_process->SetString("arch", per_process::metadata.arch.c_str()); | ||
| 192 | + trace_process->SetString("platform", | ||
| 193 | + per_process::metadata.platform.c_str()); | ||
| 191 | 194 | ||
| 192 | 195 | trace_process->BeginDictionary("release"); | |
| 193 | - trace_process->SetString("name", NODE_RELEASE); | ||
| 196 | + trace_process->SetString("name", | ||
| 197 | + per_process::metadata.release.name.c_str()); | ||
| 194 | 198 | #if NODE_VERSION_IS_LTS | |
| 195 | - trace_process->SetString("lts", NODE_VERSION_LTS_CODENAME); | ||
| 199 | + trace_process->SetString("lts", per_process::metadata.release.lts.c_str()); | ||
| 196 | 200 | #endif | |
| 197 | 201 | trace_process->EndDictionary(); | |
| 198 | 202 | TRACE_EVENT_METADATA1("__metadata", "node", | |
@@ -888,54 +892,29 @@ void SetupProcessObject(Environment* env, | |||
| 888 | 892 | #undef V | |
| 889 | 893 | ||
| 890 | 894 | // process.arch | |
| 891 | - READONLY_PROPERTY(process, "arch", OneByteString(env->isolate(), NODE_ARCH)); | ||
| 895 | + READONLY_STRING_PROPERTY(process, "arch", per_process::metadata.arch); | ||
| 892 | 896 | ||
| 893 | 897 | // process.platform | |
| 894 | - READONLY_PROPERTY(process, | ||
| 895 | - "platform", | ||
| 896 | - OneByteString(env->isolate(), NODE_PLATFORM)); | ||
| 898 | + READONLY_STRING_PROPERTY(process, "platform", per_process::metadata.platform); | ||
| 897 | 899 | ||
| 898 | 900 | // process.release | |
| 899 | 901 | Local<Object> release = Object::New(env->isolate()); | |
| 900 | 902 | READONLY_PROPERTY(process, "release", release); | |
| 901 | - READONLY_PROPERTY(release, "name", | ||
| 902 | - OneByteString(env->isolate(), NODE_RELEASE)); | ||
| 903 | - | ||
| 903 | + READONLY_STRING_PROPERTY(release, "name", per_process::metadata.release.name); | ||
| 904 | 904 | #if NODE_VERSION_IS_LTS | |
| 905 | - READONLY_PROPERTY(release, "lts", | ||
| 906 | - OneByteString(env->isolate(), NODE_VERSION_LTS_CODENAME)); | ||
| 907 | - #endif | ||
| 908 | - | ||
| 909 | - // if this is a release build and no explicit base has been set | ||
| 910 | - // substitute the standard release download URL | ||
| 911 | - #ifndef NODE_RELEASE_URLBASE | ||
| 912 | - # if NODE_VERSION_IS_RELEASE | ||
| 913 | - # define NODE_RELEASE_URLBASE "https://nodejs.org/download/release/" | ||
| 914 | - # endif | ||
| 915 | - #endif | ||
| 916 | - | ||
| 917 | - #if defined(NODE_RELEASE_URLBASE) | ||
| 918 | - # define NODE_RELEASE_URLPFX NODE_RELEASE_URLBASE "v" NODE_VERSION_STRING "/" | ||
| 919 | - # define NODE_RELEASE_URLFPFX NODE_RELEASE_URLPFX "node-v" NODE_VERSION_STRING | ||
| 920 | - | ||
| 921 | - READONLY_PROPERTY(release, | ||
| 922 | - "sourceUrl", | ||
| 923 | - OneByteString(env->isolate(), | ||
| 924 | - NODE_RELEASE_URLFPFX ".tar.gz")); | ||
| 925 | - READONLY_PROPERTY(release, | ||
| 926 | - "headersUrl", | ||
| 927 | - OneByteString(env->isolate(), | ||
| 928 | - NODE_RELEASE_URLFPFX "-headers.tar.gz")); | ||
| 929 | - # ifdef _WIN32 | ||
| 930 | - READONLY_PROPERTY(release, | ||
| 931 | - "libUrl", | ||
| 932 | - OneByteString(env->isolate(), | ||
| 933 | - strcmp(NODE_ARCH, "ia32") ? NODE_RELEASE_URLPFX "win-" | ||
| 934 | - NODE_ARCH "/node.lib" | ||
| 935 | - : NODE_RELEASE_URLPFX | ||
| 936 | - "win-x86/node.lib")); | ||
| 937 | - # endif | ||
| 938 | - #endif | ||
| 905 | + READONLY_STRING_PROPERTY(release, "lts", per_process::metadata.release.lts); | ||
| 906 | + #endif // NODE_VERSION_IS_LTS | ||
| 907 | + | ||
| 908 | + #ifdef NODE_HAS_RELEASE_URLS | ||
| 909 | + READONLY_STRING_PROPERTY( | ||
| 910 | + release, "sourceUrl", per_process::metadata.release.source_url); | ||
| 911 | + READONLY_STRING_PROPERTY( | ||
| 912 | + release, "headersUrl", per_process::metadata.release.headers_url); | ||
| 913 | + #ifdef _WIN32 | ||
| 914 | + READONLY_STRING_PROPERTY( | ||
| 915 | + release, "libUrl", per_process::metadata.release.lib_url); | ||
| 916 | + #endif // _WIN32 | ||
| 917 | + #endif // NODE_HAS_RELEASE_URLS | ||
| 939 | 918 | ||
| 940 | 919 | // process.argv | |
| 941 | 920 | process->Set(env->context(), | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -90,4 +90,26 @@ Metadata::Versions::Versions() { | |||
| 90 | 90 | #endif // NODE_HAVE_I18N_SUPPORT | |
| 91 | 91 | } | |
| 92 | 92 | ||
| 93 | + Metadata::Release::Release() : name(NODE_RELEASE) { | ||
| 94 | + #if NODE_VERSION_IS_LTS | ||
| 95 | + lts = NODE_VERSION_LTS_CODENAME; | ||
| 96 | + #endif // NODE_VERSION_IS_LTS | ||
| 97 | + | ||
| 98 | + #ifdef NODE_HAS_RELEASE_URLS | ||
| 99 | + #define NODE_RELEASE_URLPFX NODE_RELEASE_URLBASE "v" NODE_VERSION_STRING "/" | ||
| 100 | + #define NODE_RELEASE_URLFPFX NODE_RELEASE_URLPFX "node-v" NODE_VERSION_STRING | ||
| 101 | + | ||
| 102 | + source_url = NODE_RELEASE_URLFPFX ".tar.gz"; | ||
| 103 | + headers_url = NODE_RELEASE_URLFPFX "-headers.tar.gz"; | ||
| 104 | + #ifdef _WIN32 | ||
| 105 | + lib_url = strcmp(NODE_ARCH, "ia32") ? NODE_RELEASE_URLPFX "win-" NODE_ARCH | ||
| 106 | + "/node.lib" | ||
| 107 | + : NODE_RELEASE_URLPFX "win-x86/node.lib"; | ||
| 108 | + #endif // _WIN32 | ||
| 109 | + | ||
| 110 | + #endif // NODE_HAS_RELEASE_URLS | ||
| 111 | + } | ||
| 112 | + | ||
| 113 | + Metadata::Metadata() : arch(NODE_ARCH), platform(NODE_PLATFORM) {} | ||
| 114 | + | ||
| 93 | 115 | } // namespace node | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4,9 +4,22 @@ | |||
| 4 | 4 | #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS | |
| 5 | 5 | ||
| 6 | 6 | #include <string> | |
| 7 | + #include "node_version.h" | ||
| 7 | 8 | ||
| 8 | 9 | namespace node { | |
| 9 | 10 | ||
| 11 | + // if this is a release build and no explicit base has been set | ||
| 12 | + // substitute the standard release download URL | ||
| 13 | + #ifndef NODE_RELEASE_URLBASE | ||
| 14 | + #if NODE_VERSION_IS_RELEASE | ||
| 15 | + #define NODE_RELEASE_URLBASE "https://nodejs.org/download/release/" | ||
| 16 | + #endif // NODE_VERSION_IS_RELEASE | ||
| 17 | + #endif // NODE_RELEASE_URLBASE | ||
| 18 | + | ||
| 19 | + #if defined(NODE_RELEASE_URLBASE) | ||
| 20 | + #define NODE_HAS_RELEASE_URLS | ||
| 21 | + #endif | ||
| 22 | + | ||
| 10 | 23 | #define NODE_VERSIONS_KEYS_BASE(V) \ | |
| 11 | 24 | V(node) \ | |
| 12 | 25 | V(v8) \ | |
@@ -43,7 +56,7 @@ namespace node { | |||
| 43 | 56 | ||
| 44 | 57 | class Metadata { | |
| 45 | 58 | public: | |
| 46 | - Metadata() = default; | ||
| 59 | + Metadata(); | ||
| 47 | 60 | Metadata(Metadata&) = delete; | |
| 48 | 61 | Metadata(Metadata&&) = delete; | |
| 49 | 62 | Metadata operator=(Metadata&) = delete; | |
@@ -63,7 +76,27 @@ class Metadata { | |||
| 63 | 76 | #undef V | |
| 64 | 77 | }; | |
| 65 | 78 | ||
| 79 | + struct Release { | ||
| 80 | + Release(); | ||
| 81 | + | ||
| 82 | + std::string name; | ||
| 83 | + #if NODE_VERSION_IS_LTS | ||
| 84 | + std::string lts; | ||
| 85 | + #endif // NODE_VERSION_IS_LTS | ||
| 86 | + | ||
| 87 | + #ifdef NODE_HAS_RELEASE_URLS | ||
| 88 | + std::string source_url; | ||
| 89 | + std::string headers_url; | ||
| 90 | + #ifdef _WIN32 | ||
| 91 | + std::string lib_url; | ||
| 92 | + #endif // _WIN32 | ||
| 93 | + #endif // NODE_HAS_RELEASE_URLS | ||
| 94 | + }; | ||
| 95 | + | ||
| 66 | 96 | Versions versions; | |
| 97 | + const Release release; | ||
| 98 | + const std::string arch; | ||
| 99 | + const std::string platform; | ||
| 67 | 100 | }; | |
| 68 | 101 | ||
| 69 | 102 | // Per-process global | |
| Back | FazBrowse Home | New Git URL |
0 commit comments