Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
92214cf
test: remove obsolete harmony flags
chrisdickinson May 5, 2015
dc94349
deps: update v8 to 4.3.61.21
chrisdickinson May 5, 2015
cba302f
doc: update v8 flags in man page
targos May 14, 2015
263b454
Revert "dns: remove AI_V4MAPPED hint flag on FreeBSD"
cjihrig Apr 29, 2015
d6a97eb
net: do not set V4MAPPED on FreeBSD
Mar 2, 2015
2a97fc8
deps: backport 7b24219346 from v8 upstream
rvagg May 27, 2015
804f3a0
buffer: allow ARGS_THIS to accept a name
trevnorris May 26, 2015
d6e8e37
buffer: implement Uint8Array backed Buffer
trevnorris May 26, 2015
f6d74da
buffer: finish implementing FreeCallback
trevnorris Jun 1, 2015
833377c
buffer: switch to using Maybe<T> API
trevnorris Jun 2, 2015
f41282f
buffer: switch API to return MaybeLocal<T>
trevnorris Jun 2, 2015
194f63e
buffer: make additional changes to native API
trevnorris Jun 2, 2015
c0d46a1
crypto: remove kMaxLength on randomBytes()
trevnorris Jun 2, 2015
450ba88
vm: fix property descriptors of sandbox properties
domenic May 22, 2015
5ca9579
vm: remove unnecessary access checks
domenic May 23, 2015
7767b9d
vm: fix symbol access
domenic Jun 1, 2015
5537c01
dgram: make send cb act as "error" event handler
chrisdickinson Jun 5, 2014
cb80141
dgram: make send cb act as "error" event handler
mcollina May 26, 2015
9f3946a
http_server: `prefinish` vs `finish`
indutny Apr 13, 2015
72b7f9d
buffer: fix case of one buffer passed to concat
thefourtheye Jun 10, 2015
093eae3
cluster: do not unconditionally set --debug-port
cjihrig Jun 11, 2015
271b706
buffer: fix usage of kMaxLength
trevnorris Jun 17, 2015
1baca79
buffer: minor cleanup from rebase
trevnorris Jun 17, 2015
d57350c
buffer: allow ArrayBuffer as Buffer argument
trevnorris Jun 17, 2015
d11d40f
deps: update v8 to 4.4.63.9
bnoordhuis Jun 19, 2015
84cef46
test: don't use arguments.callee
bnoordhuis Jun 19, 2015
b1570c5
test: remove two obsolete pummel tests
bnoordhuis Jun 19, 2015
2e53e03
buffer: rename internal/buffer_new.js to buffer.js
bnoordhuis Jun 19, 2015
31faa1b
node-gyp: make aware of nightly, next-nightly & rc
rvagg Jun 26, 2015
27cf131
node-gyp: download header tarball for compile
rvagg Jun 26, 2015
8f65dbb
Working on v3.0.0
rvagg Jun 30, 2015
bd51bc7
deps: upgrade v8 to 4.4.63.12
bnoordhuis Jul 1, 2015
35c7938
src: increment NODE_MODULE_VERSION to 45
rvagg Jul 2, 2015
df9cdd8
node: do not override `message`/`stack` of error
indutny Jul 5, 2015
fa5b871
http: use official IANA Status Codes
jomo Jul 11, 2015
b096278
src: introduce process.release object
rvagg Jan 18, 2015
6c97138
node-gyp: detect RC build with x.y.z-rc.n format
rvagg Jul 13, 2015
8d13222
buffer: fix not return on error
trevnorris Jul 22, 2015
be68537
build: first set of updates to enable PPC support
mhdawson Jul 7, 2015
606fdfa
build: add 'x86' option back in to configure
rvagg Jul 24, 2015
2f54e45
buffer: fix missing null/undefined check
trevnorris Jul 16, 2015
050ab42
node: remove redundant --use-old-buffer
rvagg Jul 30, 2015
c04c190
build: prepare Windows installer for i18n support
fhemberger Jul 25, 2015
fd8da09
readline: allow tabs in input
Trott May 21, 2015
d390a6f
http: fix agent.getName() and add tests
brendanashworth May 5, 2015
181c3bc
deps: update V8 to 4.4.63.26
targos Jul 27, 2015
fe22685
src: disable vector ICs on arm
targos Jul 30, 2015
40a9cae
doc: document repl persistent history changes
Fishrock123 Aug 4, 2015
8e5eae9
test: add tests for persistent repl history
Fishrock123 Aug 2, 2015
17c4108
repl: default persistence to ~/.node_repl_history
Fishrock123 Aug 4, 2015
f00e11b
repl: persist history in plain text
Fishrock123 Aug 3, 2015
966c977
2015-08-01 io.js v3.0.0 Release
rvagg Aug 1, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
src: introduce process.release object
PR-URL: #2154
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
  • Loading branch information
rvagg committed Aug 4, 2015
commit b096278cfb17f8b960076315c356aea488695ab1
32 changes: 23 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ test-timers-clean:

apidoc_sources = $(wildcard doc/api/*.markdown)
apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html)) \
$(addprefix out/,$(apidoc_sources:.markdown=.json))
$(addprefix out/,$(apidoc_sources:.markdown=.json))

apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets

Expand Down Expand Up @@ -269,7 +269,7 @@ release-only:
@if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \
exit 0 ; \
else \
echo "" >&2 ; \
echo "" >&2 ; \
echo "The git repository is not clean." >&2 ; \
echo "Please commit changes before building release tarball." >&2 ; \
echo "" >&2 ; \
Expand All @@ -280,17 +280,21 @@ release-only:
@if [ "$(DISTTYPE)" != "release" -o "$(RELEASE)" = "1" ]; then \
exit 0; \
else \
echo "" >&2 ; \
echo "" >&2 ; \
echo "#NODE_VERSION_IS_RELEASE is set to $(RELEASE)." >&2 ; \
echo "Did you remember to update src/node_version.h?" >&2 ; \
echo "" >&2 ; \
echo "Did you remember to update src/node_version.h?" >&2 ; \
echo "" >&2 ; \
exit 1 ; \
fi

$(PKG): release-only
rm -rf $(PKGDIR)
rm -rf out/deps out/Release
$(PYTHON) ./configure --dest-cpu=x64 --tag=$(TAG)
$(PYTHON) ./configure \
--dest-cpu=x64 \
--tag=$(TAG) \
--release-urlbase=$(RELEASE_URLBASE) \
$(CONFIG_FLAGS)
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)
SIGN="$(CODESIGN_CERT)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
cat tools/osx-pkg.pmdoc/index.xml.tmpl \
Expand Down Expand Up @@ -346,7 +350,12 @@ doc-upload: tar
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/doc.done"

$(TARBALL)-headers: config.gypi release-only
$(PYTHON) ./configure --prefix=/ --dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS)
$(PYTHON) ./configure \
--prefix=/ \
--dest-cpu=$(DESTCPU) \
--tag=$(TAG) \
--release-urlbase=$(RELEASE_URLBASE) \
$(CONFIG_FLAGS)
HEADERS_ONLY=1 $(PYTHON) tools/install.py install '$(TARNAME)' '/'
find $(TARNAME)/ -type l | xargs rm # annoying on windows
tar -cf $(TARNAME)-headers.tar $(TARNAME)
Expand All @@ -371,7 +380,12 @@ endif
$(BINARYTAR): release-only
rm -rf $(BINARYNAME)
rm -rf out/deps out/Release
$(PYTHON) ./configure --prefix=/ --dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS)
$(PYTHON) ./configure \
--prefix=/ \
--dest-cpu=$(DESTCPU) \
--tag=$(TAG) \
--release-urlbase=$(RELEASE_URLBASE) \
$(CONFIG_FLAGS)
$(MAKE) install DESTDIR=$(BINARYNAME) V=$(V) PORTABLE=1
cp README.md $(BINARYNAME)
cp LICENSE $(BINARYNAME)
Expand Down Expand Up @@ -438,7 +452,7 @@ bench-all: bench bench-misc bench-array bench-buffer bench-url bench-events
bench: bench-net bench-http bench-fs bench-tls

bench-http-simple:
benchmark/http_simple_bench.sh
benchmark/http_simple_bench.sh

bench-idle:
$(NODE) benchmark/idle_server.js &
Expand Down
9 changes: 9 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,13 @@ parser.add_option('--tag',
dest='tag',
help='custom build tag')

parser.add_option('--release-urlbase',
action='store',
dest='release_urlbase',
help='Provide a custom URL prefix for the `process.release` properties '
'`sourceUrl` and `headersUrl`. When compiling a release build, this '
'will default to https://iojs.org/download/release/')

parser.add_option('--v8-options',
action='store',
dest='v8_options',
Expand Down Expand Up @@ -675,6 +682,8 @@ def configure_node(o):
else:
o['variables']['node_tag'] = ''

o['variables']['node_release_urlbase'] = options.release_urlbase or ''

if options.v8_options:
o['variables']['node_v8_options'] = options.v8_options.replace('"', '\\"')

Expand Down
30 changes: 30 additions & 0 deletions doc/api/process.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -672,6 +672,36 @@ An example of the possible output looks like:
target_arch: 'x64',
v8_use_snapshot: 'true' } }

## process.release

An Object containing metadata related to the current release, including URLs
for the source tarball and headers-only tarball.

`process.release` contains the following properties:

* `name`: a string with a value that will always be `"io.js"` for io.js.
* `sourceUrl`: a complete URL pointing to a _.tar.gz_ file containing the
source of the current release.
* `headersUrl`: a complete URL pointing to a _.tar.gz_ file containing only
the header files for the current release. This file is significantly smaller
than the full source file and can be used for compiling add-ons against
io.js.
* `libUrl`: a complete URL pointing to an _iojs.lib_ file matching the
architecture and version of the current release. This file is used for
compiling add-ons against io.js. _This property is only present on Windows
builds of io.js and will be missing on all other platforms._

e.g.

{ name: 'io.js',
sourceUrl: 'https://iojs.org/download/release/v2.3.5/iojs-v2.3.5.tar.gz',
headersUrl: 'https://iojs.org/download/release/v2.3.5/iojs-v2.3.5-headers.tar.gz',
libUrl: 'https://iojs.org/download/release/v2.3.5/win-x64/iojs.lib' }

In custom builds from non-release versions of the source tree, only the
`name` property may be present. The additional properties should not be
relied upon to exist.

## process.kill(pid[, signal])

Send a signal to a process. `pid` is the process id and `signal` is the
Expand Down
5 changes: 5 additions & 0 deletions node.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,11 @@
'src/node_main.cc',
],
}],
[ 'node_release_urlbase!=""', {
'defines': [
'NODE_RELEASE_URLBASE="<(node_release_urlbase)"',
]
}],
[ 'v8_enable_i18n_support==1', {
'defines': [ 'NODE_HAVE_I18N_SUPPORT=1' ],
'dependencies': [
Expand Down
33 changes: 33 additions & 0 deletions src/node.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2760,6 +2760,39 @@ void SetupProcessObject(Environment* env,
"platform",
OneByteString(env->isolate(), NODE_PLATFORM));

// process.release
Local<Object> release = Object::New(env->isolate());
READONLY_PROPERTY(process, "release", release);
READONLY_PROPERTY(release, "name", OneByteString(env->isolate(), "io.js"));

// if this is a release build and no explicit base has been set
// substitute the standard release download URL
#ifndef NODE_RELEASE_URLBASE
# if NODE_VERSION_IS_RELEASE
# define NODE_RELEASE_URLBASE "https://iojs.org/download/release/"
# endif
#endif

#if defined(NODE_RELEASE_URLBASE)
# define _RELEASE_URLPFX NODE_RELEASE_URLBASE "v" NODE_VERSION_STRING "/"
# define _RELEASE_URLFPFX _RELEASE_URLPFX "iojs-v" NODE_VERSION_STRING

READONLY_PROPERTY(release,
"sourceUrl",
OneByteString(env->isolate(),
_RELEASE_URLFPFX ".tar.gz"));
READONLY_PROPERTY(release,
"headersUrl",
OneByteString(env->isolate(),
_RELEASE_URLFPFX "-headers.tar.gz"));
# ifdef _WIN32
READONLY_PROPERTY(release,
"libUrl",
OneByteString(env->isolate(),
_RELEASE_URLPFX "win-" NODE_ARCH "/iojs.lib"));
# endif
#endif

// process.argv
Local<Array> arguments = Array::New(env->isolate(), argc);
for (int i = 0; i < argc; ++i) {
Expand Down
2 changes: 2 additions & 0 deletions vcbuild.bat
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ set noperfctr_arg=
set noperfctr_msi_arg=
set i18n_arg=
set download_arg=
set release_urls_arg=

:next-arg
if "%1"=="" goto args-done
Expand Down Expand Up @@ -79,6 +80,7 @@ if "%config%"=="Debug" set debug_arg=--debug
if defined nosnapshot set snapshot_arg=--without-snapshot
if defined noetw set noetw_arg=--without-etw& set noetw_msi_arg=/p:NoETW=1
if defined noperfctr set noperfctr_arg=--without-perfctr& set noperfctr_msi_arg=/p:NoPerfCtr=1
if defined RELEASE_URLBASE set release_urlbase_arg=--release-urlbase=%RELEASE_URLBASE%

if "%i18n_arg%"=="full-icu" set i18n_arg=--with-intl=full-icu
if "%i18n_arg%"=="small-icu" set i18n_arg=--with-intl=small-icu
Expand Down