This folder contains a Dart based backend for Cocoon.
To update the JSON serialization generated code, run:
$ pub run build_runner build
Any updates should be checked into source control.
To update the Protocol Buffer generated code:
Download and install the protocol buffer compiler (protoc). Once installed, update your PATH to include the path to the protoc binary.
Install the protoc_plugin Dart package. Once installed, update your PATH to include the path to the protoc_plugin/bin directory (or $HOME/.pub-cache/bin if you used pub global activate protoc_plugin).
Run the following command:
$ protoc \ --plugin=/path/to/protoc_plugin/bin/ \ --dart_out=. \ lib/src/path/to/file.proto
Remove the unused generated files:
$ find -E . -regex '.*\.(pbenum|pbjson|pbserver)\.dart' -delete
To update the indexes in the App Engine project, run:
$ gcloud datastore indexes create index.yaml
To update the cron tasks in the App Engine project, run:
$ gcloud app deploy cron.yaml
$ docker exec -it <container name> /bin/bash
Once you've installed Docker and have the docker command-line tool in your path, then you you can use the following commands to build, run, stop, and kill a local development instance.
# Build the docker image $ docker build -t local . # Start the local container, clearing the console buffer and tailing the logs $ container_id="$(docker run -d -p 8080:8080 local)" && \ clear && \ printf '\e[3J' && \ docker logs $container_id -f # Stop the local Docker container $ docker container ls|grep local|tr -s ' '|cut -d' ' -f1|xargs docker container stop # Remove the local Docker image $ docker images|grep local|tr -s ' '|cut -d' ' -f3|xargs docker rmi -f
Let PROJECT_ID be the Google Cloud Proejct Id and VERSION be the version you're deploying to App Engine. Visit https://console.cloud.google.com/appengine/versions?project=flutter-dashboard for the list of current versions.
$ dart dev/deploy.dart --project PROJECT_ID --version VERSION
The deploy script will build the Flutter project and copy it over for deployment. Then it will use the Google Cloud CLI to deploy the project to AppEngine.