refactor: add 'npm run bootstrap', 'npm run build' (#14034)
* docs: update package.json and build docs * fix build release * address feedback from review * whoops forgot one * fix build script * address feedback from review
This commit is contained in:
parent
b785f45852
commit
c0959bd534
4 changed files with 61 additions and 18 deletions
|
@ -12,7 +12,7 @@ Follow the guidelines below for building Electron on Linux.
|
||||||
For a quick test, run the following script:
|
For a quick test, run the following script:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ python ./script/tls.py
|
$ npm run check-tls
|
||||||
```
|
```
|
||||||
|
|
||||||
If the script returns that your configuration is using an outdated security
|
If the script returns that your configuration is using an outdated security
|
||||||
|
@ -71,9 +71,18 @@ the build project files. You must have Python 2.7.x for the script to succeed.
|
||||||
Downloading certain files can take a long time. Notice that we are using
|
Downloading certain files can take a long time. Notice that we are using
|
||||||
`ninja` to build Electron so there is no `Makefile` generated.
|
`ninja` to build Electron so there is no `Makefile` generated.
|
||||||
|
|
||||||
|
To bootstrap for a static, non-developer build, run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd electron
|
$ cd electron
|
||||||
$ ./script/bootstrap.py --verbose
|
$ npm run bootstrap
|
||||||
|
```
|
||||||
|
|
||||||
|
Or to bootstrap for a development session that builds faster by not statically linking:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cd electron
|
||||||
|
$ npm run bootstrap:dev
|
||||||
```
|
```
|
||||||
|
|
||||||
If you are using editor supports [JSON compilation database](http://clang.llvm.org/docs/JSONCompilationDatabase.html) based
|
If you are using editor supports [JSON compilation database](http://clang.llvm.org/docs/JSONCompilationDatabase.html) based
|
||||||
|
@ -112,7 +121,7 @@ $ ./script/bootstrap.py -v --target_arch=arm
|
||||||
If you would like to build both `Release` and `Debug` targets:
|
If you would like to build both `Release` and `Debug` targets:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ ./script/build.py
|
$ npm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
This script will cause a very large Electron executable to be placed in
|
This script will cause a very large Electron executable to be placed in
|
||||||
|
@ -128,10 +137,14 @@ This will put a working distribution with much smaller file sizes in
|
||||||
the `dist` directory. After running the `create-dist.py` script, you
|
the `dist` directory. After running the `create-dist.py` script, you
|
||||||
may want to remove the 1.3+ gigabyte binary which is still in `out/R`.
|
may want to remove the 1.3+ gigabyte binary which is still in `out/R`.
|
||||||
|
|
||||||
You can also build the `Debug` target only:
|
You can also build either the `Debug` or `Release` target on its own:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ ./script/build.py -c D
|
$ npm run build:dev
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ npm run build:release
|
||||||
```
|
```
|
||||||
|
|
||||||
After building is done, you can find the `electron` debug binary under `out/D`.
|
After building is done, you can find the `electron` debug binary under `out/D`.
|
||||||
|
|
|
@ -15,7 +15,7 @@ Please also ensure that your system and Python version support at least TLS 1.2.
|
||||||
This depends on both your version of macOS and Python. For a quick test, run:
|
This depends on both your version of macOS and Python. For a quick test, run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ python ./script/tls.py
|
$ npm run check-tls
|
||||||
```
|
```
|
||||||
|
|
||||||
If the script returns that your configuration is using an outdated security
|
If the script returns that your configuration is using an outdated security
|
||||||
|
@ -69,9 +69,18 @@ The bootstrap script will download all necessary build dependencies and create
|
||||||
the build project files. Notice that we're using [ninja](https://ninja-build.org/)
|
the build project files. Notice that we're using [ninja](https://ninja-build.org/)
|
||||||
to build Electron so there is no Xcode project generated.
|
to build Electron so there is no Xcode project generated.
|
||||||
|
|
||||||
|
To bootstrap for a static, non-developer build, run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd electron
|
$ cd electron
|
||||||
$ ./script/bootstrap.py -v
|
$ npm run bootstrap
|
||||||
|
```
|
||||||
|
|
||||||
|
Or to bootstrap for a development session that builds faster by not statically linking:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cd electron
|
||||||
|
$ npm run bootstrap:dev
|
||||||
```
|
```
|
||||||
|
|
||||||
If you are using editor supports [JSON compilation database](http://clang.llvm.org/docs/JSONCompilationDatabase.html) based
|
If you are using editor supports [JSON compilation database](http://clang.llvm.org/docs/JSONCompilationDatabase.html) based
|
||||||
|
@ -83,16 +92,20 @@ $ ./script/build.py --compdb
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
Build both `Release` and `Debug` targets:
|
To build both `Release` and `Debug` targets:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ ./script/build.py
|
$ npm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also only build the `Debug` target:
|
You can also build either the `Debug` or `Release` target on its own:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ ./script/build.py -c D
|
$ npm run build:dev
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ npm run build:release
|
||||||
```
|
```
|
||||||
|
|
||||||
After building is done, you can find `Electron.app` under `out/D`.
|
After building is done, you can find `Electron.app` under `out/D`.
|
||||||
|
|
|
@ -37,23 +37,36 @@ The bootstrap script will download all necessary build dependencies and create
|
||||||
the build project files. Notice that we're using `ninja` to build Electron so
|
the build project files. Notice that we're using `ninja` to build Electron so
|
||||||
there is no Visual Studio project generated.
|
there is no Visual Studio project generated.
|
||||||
|
|
||||||
|
To bootstrap for a static, non-developer build, run:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
$ cd electron
|
$ cd electron
|
||||||
$ python script\bootstrap.py -v
|
$ npm run bootstrap
|
||||||
|
```
|
||||||
|
|
||||||
|
Or to bootstrap for a development session that builds faster by not statically linking:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
$ cd electron
|
||||||
|
$ npm run bootstrap:dev
|
||||||
```
|
```
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
Build both Release and Debug targets:
|
Build both `Release` and `Debug` targets:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
$ python script\build.py
|
$ npm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also only build the Debug target:
|
You can also build either the `Debug` or `Release` target on its own:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
$ python script\build.py -c D
|
$ npm run build:dev
|
||||||
|
```
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
$ npm run build:release
|
||||||
```
|
```
|
||||||
|
|
||||||
After building is done, you can find `electron.exe` under `out\D` (debug
|
After building is done, you can find `electron.exe` under `out\D` (debug
|
||||||
|
|
|
@ -45,11 +45,15 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"asar": "asar",
|
"asar": "asar",
|
||||||
"bootstrap": "python ./script/bootstrap.py",
|
"bootstrap:dev": "python ./script/bootstrap.py -d -v",
|
||||||
|
"bootstrap": "python ./script/bootstrap.py -v",
|
||||||
"browserify": "browserify",
|
"browserify": "browserify",
|
||||||
"bump-version": "./script/bump-version.py",
|
"bump-version": "./script/bump-version.py",
|
||||||
"build": "python ./script/build.py -c D",
|
"build": "python ./script/build.py",
|
||||||
|
"build:dev": "python ./script/build.py -c D",
|
||||||
|
"build:release": "python ./script/build.py -c R",
|
||||||
"rebuild-test-modules": "python ./script/rebuild-test-modules.py",
|
"rebuild-test-modules": "python ./script/rebuild-test-modules.py",
|
||||||
|
"check-tls": "python ./script/tls.py",
|
||||||
"clean": "python ./script/clean.py",
|
"clean": "python ./script/clean.py",
|
||||||
"clean-build": "python ./script/clean.py --build",
|
"clean-build": "python ./script/clean.py --build",
|
||||||
"clang-format": "find atom/ brightray/ chromium_src/ -iname *.h -o -iname *.cc -o -iname *.mm | xargs clang-format -i",
|
"clang-format": "find atom/ brightray/ chromium_src/ -iname *.h -o -iname *.cc -o -iname *.mm | xargs clang-format -i",
|
||||||
|
|
Loading…
Reference in a new issue