Reputation: 3261
How to import local packages in Golang + GAE?
I wanna something like this:
app/
-app.yaml
-/my_app
--my_app.go
--/package1
---package1.go
Listing of my_app.go:
package my_app
import (
"http"
"./package1"
)
func init() {
http.HandleFunc("/", package1.index)
}
Listing of package1.go:
package package1
import (
"http"
"fmt"
)
func index (w http.ResponseWriter, r * http.Request) {
fmt.Fprint(w, "I'm index page =) ")
}
I this case I have an error like:
/path/to/project/my_app/my_app.go:5: can't find import: ./package1
2011/11/03 10:50:51 go-app-builder: Failed building app: failed running 6g: exit status 1
Thanks for help.
Upvotes: 5
Views: 8727
Reputation: 34031
As noted in the comments to dupoxy's answer, the way to import a local package in the given situation is to import as "my_app/package1"
:
import (
"http"
"my_app/package1"
)
Upvotes: 6
Reputation: 34
You either need to link or copy the packages to your application directory. The path relative to the root of the application directory should match the import path. To use package1, you should configure your app directory to look like this:
app.yaml
yourapp/yourapp.go
package1/package1.go
from https://groups.google.com/d/msg/golang-nuts/coEvrWIJGTs/75GzcefKVcIJ
Upvotes: 1