mirror of https://github.com/grpc/grpc-node.git
Merge branch 'master' into script_licenses
This commit is contained in:
commit
80f8c4b3dc
10
gulpfile.js
10
gulpfile.js
|
|
@ -31,6 +31,9 @@ const root = __dirname;
|
||||||
gulp.task('install.all', 'Install dependencies for all subdirectory packages',
|
gulp.task('install.all', 'Install dependencies for all subdirectory packages',
|
||||||
['js.core.install', 'native.core.install', 'health-check.install']);
|
['js.core.install', 'native.core.install', 'health-check.install']);
|
||||||
|
|
||||||
|
gulp.task('install.all.windows', 'Install dependencies for all subdirectory packages for MS Windows',
|
||||||
|
['js.core.install', 'native.core.install.windows', 'health-check.install']);
|
||||||
|
|
||||||
gulp.task('lint', 'Emit linting errors in source and test files',
|
gulp.task('lint', 'Emit linting errors in source and test files',
|
||||||
['js.core.lint', 'native.core.lint']);
|
['js.core.lint', 'native.core.lint']);
|
||||||
|
|
||||||
|
|
@ -47,7 +50,12 @@ gulp.task('link', 'Link local packages together after building',
|
||||||
gulp.start('link.only');
|
gulp.start('link.only');
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('setup', 'One-time setup for a clean repository', ['install.all', 'link']);
|
gulp.task('setup', 'One-time setup for a clean repository', ['install.all'], () => {
|
||||||
|
gulp.start('link');
|
||||||
|
});
|
||||||
|
gulp.task('setup.windows', 'One-time setup for a clean repository for MS Windows', ['install.all.windows'], () => {
|
||||||
|
gulp.start('link');
|
||||||
|
});
|
||||||
|
|
||||||
gulp.task('clean', 'Delete generated files', ['js.core.clean', 'native.core.clean']);
|
gulp.task('clean', 'Delete generated files', ['js.core.clean', 'native.core.clean']);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# Copyright 2017 gRPC authors.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# We're going to store nvm-windows in the .\nvm directory.
|
||||||
|
$env:NVM_HOME = (Get-Item -Path ".\" -Verbose).FullName + "\nvm"
|
||||||
|
|
||||||
|
# Downloading and unpacking nvm-windows
|
||||||
|
Invoke-WebRequest -Uri https://github.com/coreybutler/nvm-windows/releases/download/1.1.5/nvm-noinstall.zip -OutFile nvm-noinstall.zip
|
||||||
|
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
||||||
|
[System.IO.Compression.ZipFile]::ExtractToDirectory("nvm-noinstall.zip", "nvm")
|
||||||
|
|
||||||
|
$env:Path = $env:NVM_HOME + ";" + $env:Path
|
||||||
|
Out-File -Encoding "OEM" nvm\settings.txt
|
||||||
|
nvm root $env:NVM_HOME
|
||||||
|
"%*" | Out-File -Encoding "OEM" nvm\elevate.cmd
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
@rem Copyright 2017 gRPC authors.
|
||||||
|
@rem
|
||||||
|
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
@rem you may not use this file except in compliance with the License.
|
||||||
|
@rem You may obtain a copy of the License at
|
||||||
|
@rem
|
||||||
|
@rem http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
@rem
|
||||||
|
@rem Unless required by applicable law or agreed to in writing, software
|
||||||
|
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@rem See the License for the specific language governing permissions and
|
||||||
|
@rem limitations under the License.
|
||||||
|
|
||||||
|
@echo "Starting Windows test"
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
git submodule update --init
|
||||||
|
git submodule foreach --recursive git submodule update --init
|
||||||
|
|
||||||
|
.\run-tests.bat
|
||||||
|
|
@ -47,7 +47,16 @@ gulp.task('native.core.install', 'Install native core dependencies', () => {
|
||||||
{cwd: nativeCoreDir, stdio: 'inherit'});
|
{cwd: nativeCoreDir, stdio: 'inherit'});
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('native.core.link.create', 'Create npm link', ['native.core.install'], () => {
|
gulp.task('native.core.install.windows', 'Install native core dependencies for MS Windows', () => {
|
||||||
|
return execa('npm', ['install', '--build-from-source'],
|
||||||
|
{cwd: nativeCoreDir, stdio: 'inherit'}).catch(() =>
|
||||||
|
del(path.resolve(process.env.USERPROFILE, '.node-gyp', process.versions.node, 'include/node/openssl'), { force: true }).then(() =>
|
||||||
|
execa('npm', ['install', '--build-from-source'],
|
||||||
|
{cwd: nativeCoreDir, stdio: 'inherit'})
|
||||||
|
))
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('native.core.link.create', 'Create npm link', () => {
|
||||||
return execa('npm', ['link'], {cwd: nativeCoreDir, stdio: 'inherit'});
|
return execa('npm', ['link'], {cwd: nativeCoreDir, stdio: 'inherit'});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -58,7 +67,7 @@ gulp.task('native.core.lint', 'Emits linting errors', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('native.core.build', 'Build native package', () => {
|
gulp.task('native.core.build', 'Build native package', () => {
|
||||||
return execa('node-pre-gyp', ['build'], {cwd: nativeCoreDir, stdio: 'inherit'});
|
return execa('npm', ['run', 'build'], {cwd: nativeCoreDir, stdio: 'inherit'});
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('native.core.test', 'Run all tests', ['native.core.build'], () => {
|
gulp.task('native.core.test', 'Run all tests', ['native.core.build'], () => {
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "node ./node_modules/jshint/bin/jshint src test index.js --exclude-path=.jshintignore",
|
"lint": "node ./node_modules/jshint/bin/jshint src test index.js --exclude-path=.jshintignore",
|
||||||
"test": "./node_modules/.bin/mocha test && npm run-script lint",
|
"test": "./node_modules/.bin/mocha test && npm run-script lint",
|
||||||
|
"build": "./node_modules/.bin/node-pre-gyp build",
|
||||||
"electron-build": "./node_modules/.bin/node-pre-gyp configure build --runtime=electron --disturl=https://atom.io/download/atom-shell",
|
"electron-build": "./node_modules/.bin/node-pre-gyp configure build --runtime=electron --disturl=https://atom.io/download/atom-shell",
|
||||||
"gen_docs": "./node_modules/.bin/jsdoc -c jsdoc_conf.json",
|
"gen_docs": "./node_modules/.bin/jsdoc -c jsdoc_conf.json",
|
||||||
"coverage": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha test",
|
"coverage": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha test",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
@rem Copyright 2017 gRPC authors.
|
||||||
|
@rem
|
||||||
|
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
@rem you may not use this file except in compliance with the License.
|
||||||
|
@rem You may obtain a copy of the License at
|
||||||
|
@rem
|
||||||
|
@rem http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
@rem
|
||||||
|
@rem Unless required by applicable law or agreed to in writing, software
|
||||||
|
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@rem See the License for the specific language governing permissions and
|
||||||
|
@rem limitations under the License.
|
||||||
|
|
||||||
|
SET ROOT=%~dp0
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
PowerShell -Command .\install-nvm-windows.ps1
|
||||||
|
|
||||||
|
SET NVM_HOME=%ROOT%nvm
|
||||||
|
SET NVM_SYMLINK=%ROOT%nvm\nodejs
|
||||||
|
SET PATH=%NVM_HOME%;%NVM_SYMLINK%;%PATH%
|
||||||
|
|
||||||
|
nvm version
|
||||||
|
|
||||||
|
nvm install 8.5.0
|
||||||
|
nvm use 8.5.0
|
||||||
|
|
||||||
|
call npm install || goto :error
|
||||||
|
|
||||||
|
for %%v in (4.8.4 6.11.3 7.9.0 8.5.0) do (
|
||||||
|
nvm install %%v
|
||||||
|
nvm use %%v
|
||||||
|
node -e "console.log(process.versions)"
|
||||||
|
|
||||||
|
call .\node_modules\.bin\gulp clean.all || goto :error
|
||||||
|
call .\node_modules\.bin\gulp setup.windows || goto :error
|
||||||
|
call .\node_modules\.bin\gulp native.test || goto :error
|
||||||
|
)
|
||||||
|
|
||||||
|
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||||
|
|
||||||
|
goto :EOF
|
||||||
|
|
||||||
|
:error
|
||||||
|
exit /b 1
|
||||||
|
|
@ -36,7 +36,6 @@ nvm use lts/*
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
npm install --unsafe-perm
|
npm install --unsafe-perm
|
||||||
./node_modules/.bin/gulp setup
|
|
||||||
|
|
||||||
mkdir -p reports
|
mkdir -p reports
|
||||||
|
|
||||||
|
|
@ -55,7 +54,7 @@ do
|
||||||
|
|
||||||
# Install dependencies and link packages together.
|
# Install dependencies and link packages together.
|
||||||
./node_modules/.bin/gulp clean.all
|
./node_modules/.bin/gulp clean.all
|
||||||
./node_modules/.bin/gulp link
|
./node_modules/.bin/gulp setup
|
||||||
|
|
||||||
# Rebuild libraries and run tests.
|
# Rebuild libraries and run tests.
|
||||||
JUNIT_REPORT_PATH="reports/node$version/" JUNIT_REPORT_STACK=1 ./node_modules/.bin/gulp native.test || FAILED="true"
|
JUNIT_REPORT_PATH="reports/node$version/" JUNIT_REPORT_STACK=1 ./node_modules/.bin/gulp native.test || FAILED="true"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Copyright 2017 gRPC authors.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# Config file for Kokoro (in protobuf text format)
|
||||||
|
|
||||||
|
# Location of the continuous shell script in repository.
|
||||||
|
build_file: "grpc-node/kokoro.bat"
|
||||||
|
timeout_mins: 60
|
||||||
Loading…
Reference in New Issue