To get the code:
.gclient file in an empty directory with the following contents, replacing <your_name_here> with your GitHub account name:solutions = [
{
"managed": False,
"name": "src",
"url": "git@github.com:<your_name_here>/sky_engine.git",
"custom_deps": {},
"deps_file": "DEPS",
"safesync_url": "",
},
]
target_os = ["android"]
gclient synccd srcgit remote add upstream git@github.com:domokit/sky_engine.gitCurrently we support building on Linux only, for an Android target and for a headless Linux target. Building on MacOS for Android, iOS, and a head-less MacOS target is coming soon.
./tools/android/download_android_tools.pysudo ./build/install-build-deps-android.shbrew install ant../sky/tools/gn --androidninja -C out/android_Debug./sky/tools/shelldb start out/android_Debug/ examples/hello_world/lib/main.dartsudo ./build/install-build-deps.sh./sky/tools/gnninja -C out/Debug./sky/tools/run_tests --debug runs the tests on the host machine using out/Debug../out/Debug/sky_shell --package-root=sky/unit/packages sky/unit/test/harness/trivial_test.dart./sky/tools/run_tests --debug test/harness/trivial_test.dartNote: The tests are headless, you won't see any UI. You can use print to generate console output or you can interact with the DartVM via observatory at http://localhost:8181/.
To add a test, simply create a file whose name ends with _test.dart in the sky/unit/test directory. The test should have a main function and use package:test.
$ export PATH=$PATH:`pwd`/third_party/dart-sdk/dart-sdk/binexamples directory, for example examples/stocks.pub get from the example folder of your choice to make sure that you have all of the Dart dependencies.$ ./packages/sky/sky_tool --local-build start--local-build parameter attempts to determine the location of your local build directory. You can override it by specifying the --sky-src-path and --android-debug-build-path parameters. These parameters should not normally be needed, though. Run $ ./packages/sky/sky_tool -h to see details about the parameters.lib/main.dart file. For example, to run the tabs.dart example in the examples/widgets directory on a connected Android device, from that directory you would run:$ ./packages/sky/sky_tool --local-build start tabs.dartexamples directory, any changes you make to the example code, as well as any changes to Dart code in the sky directory and subdirectories will automatically be picked when you relaunch the app. You can do the same for your own code by mimicking the pubspec.yaml files in the examples subdirectories.$ ./packages/sky/sky_tool --local-build listen in the various example directories (or your own Sky apps) to listen for changes you are making to the app and automatically update the running SkyShell instance on your Android device. iOS device and simulator support are coming soon.--local-build in any of the above commands with --release if you have made release builds and want to test with them. E.g., $ ./packages/sky/sky_tool --release start will attempt to use your release build of the Android SkyShell.apk.$ ./packages/sky/sky_tool --local-build install.The Sky engine repository gladly accepts contributions via GitHub pull requests.
To start working on a patch:
git fetch upstreamgit checkout upstream/master -b name_of_your_branchgit commit -agit push origin name_of_your_branchTo send us a pull request:
git pull-request (if you are using Hub) or go to https://github.com/<your_name_here>/sky_engine and click the “Compare & pull request” buttonPlease make sure all your checkins have detailed commit messages explaining the patch. If you made multiple commits for a single pull request, either make sure each one has a detailed message explaining that specific commit, or squash your commits into one single checkin with a detailed message before sending the pull request.
You must complete the Contributor License Agreement. You can do this online, and it only takes a minute. If you‘ve never submitted code before, you must add your (or your organization’s) name and contact info to the AUTHORS file.