- Node.js v12.0 or later
- Flutter version in the
webf/pubspec.yaml
- CMake v3.10.0 or later
- Xcode (10.12) or later (Running on macOS or iOS)
- Android NDK version
22.1.7171670
(Running on Android) - Visual Studio 2019 or later (Running on Windows)
- Rust (For building Rust example apps.)
Additional configuration for Windows users
git config --global core.symlinks true
git config --global core.autocrlf false
Running the following commands to get the code:
git clone [email protected]:openwebf/webf.git
git submodule update --init --recursive
$ npm install
Windows, Linux, Android
The current C/C++ code build process has been integrated into Flutter's compilation and build pipeline for Windows, Linux, and Android.
Run the following script to generate C/C++ binding code using the code generator:
npm run generate_binding_code
iOS and macOS
The default build type is Debug. To create a release build, add
:release
to your command.Example: Execute
npm run build:bridge:macos:release
to build a release bridge for macOS.
$ npm run build:bridge:ios:release # iOS
$ npm run build:bridge:macos:release # macOS
$ cd webf/example
$ flutter run -d <platform>
cd integration_tests
npm run integration
To run specify groups of test specs:
SPEC_SCOPE=DOM npm run integration // match pattern is located in `spec_group.json`
Quicker start up if you changed the test specs only.
npm run integration -- --skip-build
Change the it
into fit
to running this test spec only.
fit('document.all', () => {
expect(document.all).not.toBeUndefined();
expect(document.all.length).toBeGreaterThan(0);
});