-
Notifications
You must be signed in to change notification settings - Fork 51
Add support for python appengine #10
Comments
In an attempt to use bazel to run the hello_world application provided by Google, I receive the following error while using 'bazel run :main': google.appengine.ext.builtins.InvalidBuiltinName: default is not the name of a valid builtin. It appears there is an issue when parsing the builtins. None were provided in the app.yaml file but the dev_appserver is trying to add a 'default' builtin. |
Adding @maximermilov, since commit ffe8c3f says that it's adding support for Python AppEngine. |
I can't reproduce this. |
Are the python app engine bazel rules supposed to work at this point? Do you have a working example for me to follow? I am on the Kubernetes project and attempting to migrate to bazel how we build/deploy our gubernator app, which provides us with our PR dashboard as well as test results viewer. However as best as I can tell these rules are either incomplete or else do not work with bazel 0.5.3 Any suggestions? |
yes (appengine classic only).
Can you share branch with your build rules for gubernator app? |
Nice! Yes gubernator is a classic app (which as opposed to flex I assume?) I will get you a branch with a python appengine app later tonight/tomorrow. I would prefer to start with a simpler, toy app rather than my full-blown app (what I want is a functional example). In the mean time. our gubernator code is here (same link as before). Unfortunately there are no BUILD rules right now (I deleted my experimentation with creating them when the app engine rules didn't work). The only docs, examples and tutorials I could find all assume I want to use java. PS: I do not understand how this |
Here you go: https://github.com/fejta/test-infra/tree/gae/experiment/toy_app
Repro:
|
instead should be Also:
|
Thanks! FYI, I removed the application/version tags from the app.yaml because this is what the cloud-sdk requires. So the program now runs, woo! It appears to hang starting the admin server:
Any further suggestions? |
Oh got it, I need |
yes. |
I feel like I'm doing something very obviously wrong but cannot figure it out. I haven't changed any of the appengine files (app.yaml, main.py) but now it won't even build using the http_archive rule. |
Is anyone actively working on this? I'm working on a change to restructure the paths and filenames used to make things more consistent between the java and python implementations. That should make it easier to add other languages. Eg. #50 It's not going to be a non-backwards compatible change unless it's required. Eg. I've renamed appengine/appengine.bzl to appengine/java_appengine.bzl to match py_appengine.bzl. I'm also moving the files under test and examples into test/java and examples/java respectively. One of the other style differences is how the appengine_*.sh files are generated. For java, they are external files while python has them inline in the .bzl file. I've moved them to appengine/{java,py}/appengine_*.sh.template. It's my personal preference to have them external because it keeps the .bzl file shorter and cleaner. Anyone have any thoughts before I commit and send a PR? |
While I am not against restructuring, I am not clear what the gain is to rename to java_appengine.bzl versus the pain of the non-backwards compatible change. Perhaps consider moving the content of the file, but keeping a backwards compatible appengine.bzl which forwards you to java_appengine.bzl? Moving the test/examples: seems fine External vs. inline is likely hidden from the user and also backwards compatible. You can send PRs to me. |
See bazelbuild/bazel#1067
The text was updated successfully, but these errors were encountered: