Working examples for using Google's Open Source tools and deploying to the cloud.
- Google's open source libraries and tools, integrated together
- Easy Cloud setup and deployment
- Ready-to-run examples of Android and iOS native apps and Angular web apps.
Compared to example repos (e.g https://github.com/googlesamples), which typically have a very specific example, usually for one tool or technology, this repo shows how to integrate multiple technologies together. Often, when trying to use several tools, you run into dependency issues, integration issues, or just wonder what's the best practice for working with them together.
StartupOS can help you with working examples and best-practices that "just work" across multiple tools and technologies.
You can:
- Clone this repo, and then adapt it to your needs.
- Use it as a reference and copy-paste parts of it to your own repo.
- Use parts of it from your own repo. For an example of that, see https://github.com/hasadna/hasadna (look for
@startup_os
in BUILD files)
- Install Bazel
- Run
npm install
(temporarily needed)
Now you can build any target you want. To build all targets and run all tests:
bazel query //... | grep -v ^\/\/third_party | grep -v *node_modules | xargs bazel test
Working examples of:
- ✓ Bazel
- ✓ Protocol Buffers: See examples.
- ✓ gRPC: Example server.
- ✓ Dagger: See examples.
- ✓ Flogger: See examples.
- ✓ Firebase integration with Protocol Buffers, e.g Java client for REST API.
Working examples of:
- ✓ Bazel building Docker containers: See here
- ✓ Continuous Integration: Using CircleCI, see config.
- ✓ Error Prone: Error Prone is actually already integrated into Bazel.
- ✓ Google Java Formatter: Integrated into the CI.
- ABC (Angular Bazel Closure)
- j2objc
- Kubernetes
- Dagger on Android
- More goodies...
Here are some other repos with examples of Bazel, gRPC and other related technologies:
- Go, C++, Java: https://github.com/lucperkins/colossus
- Go: https://github.com/Staffjoy/v2
- Java and also some C++ and Python: https://github.com/apache/incubator-heron
If you're interested in StartupOS, please let us know! You can fill in this form: https://goo.gl/forms/jfAH0wLgedE8GoWg2