TBR Makefile + updated imports

Change-Id: Iae91d651784ea2f591d611266bf832809eaa5538
diff --git a/.gitignore b/.gitignore
index 84e64f6..360baf2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,4 @@
 .jiri
+.idea/
+*.iml
+gen/
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..85651b2
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,10 @@
+PWD := $(shell pwd)
+V23_GO_FILES := $(shell find $(JIRI_ROOT) -name "*.go")
+
+include ../shared/mojo.mk
+
+# Flags for V23Proxy mojo service.
+V23_MOJO_FLAGS := --v=0
+
+build:
+	$(call MOGO_BUILD,v.io/x/mojo/proxy,$@)
diff --git a/go/src/v.io/mojo/client/client.go b/go/src/v.io/x/mojo/client/client.go
similarity index 96%
rename from go/src/v.io/mojo/client/client.go
rename to go/src/v.io/x/mojo/client/client.go
index e05fd7b..5eb61eb 100644
--- a/go/src/v.io/mojo/client/client.go
+++ b/go/src/v.io/x/mojo/client/client.go
@@ -1,4 +1,4 @@
-package v23
+package client
 
 import (
 	"mojo/public/go/application"
diff --git a/go/src/v.io/mojo/proxy/fake_service.go b/go/src/v.io/x/mojo/proxy/fake_service.go
similarity index 96%
rename from go/src/v.io/mojo/proxy/fake_service.go
rename to go/src/v.io/x/mojo/proxy/fake_service.go
index a289776..8865d1b 100644
--- a/go/src/v.io/mojo/proxy/fake_service.go
+++ b/go/src/v.io/x/mojo/proxy/fake_service.go
@@ -10,11 +10,11 @@
 
 	"mojo/public/go/application"
 	"mojo/public/go/bindings"
-	"mojo/public/go/mojovdl"
 	"mojo/public/go/system"
 
 	"v.io/v23/vdl"
 	"v.io/v23/vdlroot/signature"
+	"v.io/x/mojo/transcoder"
 
 	"mojo/public/interfaces/bindings/mojom_types"
 	"mojo/public/interfaces/bindings/service_describer"
@@ -255,7 +255,7 @@
 	}
 
 	// Now produce the *bindings.Message that we will send to the other side.
-	inType := mojovdl.MojomStructToVDLType(mm.Parameters, desc)
+	inType := transcoder.MojomStructToVDLType(mm.Parameters, desc)
 	message, err := encodeMessageFromVom(header, argptrs, inType)
 	if err != nil {
 		return nil, err
@@ -276,10 +276,10 @@
 	}
 
 	// Decode the *vdl.Value from the mojom bytes and mojom type.
-	outType := mojovdl.MojomStructToVDLType(*mm.ResponseParams, desc)
-	outVdlValue, err := mojovdl.DecodeValue(outMessage.Payload, outType)
+	outType := transcoder.MojomStructToVDLType(*mm.ResponseParams, desc)
+	outVdlValue, err := transcoder.DecodeValue(outMessage.Payload, outType)
 	if err != nil {
-		return nil, fmt.Errorf("mojovdl.DecodeValue failed: %v", err)
+		return nil, fmt.Errorf("transcoder.DecodeValue failed: %v", err)
 	}
 
 	// Then split the *vdl.Value (struct) into []*vdl.Value
diff --git a/go/src/v.io/mojo/proxy/misc.go b/go/src/v.io/x/mojo/proxy/misc.go
similarity index 95%
rename from go/src/v.io/mojo/proxy/misc.go
rename to go/src/v.io/x/mojo/proxy/misc.go
index d156b7f..27d5e78 100644
--- a/go/src/v.io/mojo/proxy/misc.go
+++ b/go/src/v.io/x/mojo/proxy/misc.go
@@ -5,8 +5,8 @@
 	"fmt"
 
 	"mojo/public/go/bindings"
-	"mojo/public/go/mojovdl"
 
+	"v.io/x/mojo/transcoder"
 	"v.io/v23/vdl"
 )
 
@@ -49,7 +49,7 @@
 		return nil, err
 	} else {
 		// Encode here.
-		moreBytes, err := mojovdl.Encode(vdlValue)
+		moreBytes, err := transcoder.Encode(vdlValue)
 		if err != nil {
 			return nil, fmt.Errorf("mojovdl.Encode failed: %v", err)
 		}
diff --git a/go/src/v.io/mojo/proxy/proxy.go b/go/src/v.io/x/mojo/proxy/proxy.go
similarity index 94%
rename from go/src/v.io/mojo/proxy/proxy.go
rename to go/src/v.io/x/mojo/proxy/proxy.go
index 26a9f64..5a5e3e5 100644
--- a/go/src/v.io/mojo/proxy/proxy.go
+++ b/go/src/v.io/x/mojo/proxy/proxy.go
@@ -13,11 +13,11 @@
 
 	"mojo/public/go/application"
 	"mojo/public/go/bindings"
-	"mojo/public/go/mojovdl"
 	"mojo/public/go/system"
 	"mojo/public/interfaces/bindings/mojom_types"
 	"mojo/public/interfaces/bindings/v23proxy"
 
+	"v.io/x/mojo/transcoder"
 	_ "v.io/x/ref/runtime/factories/static"
 )
 
@@ -123,16 +123,16 @@
 func (s *genericStub) Call(name, method string, value []byte, inParamsType mojom_types.MojomStruct, outParamsType *mojom_types.MojomStruct) ([]byte, error) {
 	log.Printf("server: %s.%s: %#v", name, method, inParamsType)
 
-	inVType := mojovdl.MojomStructToVDLType(inParamsType, s.header.desc)
+	inVType := transcoder.MojomStructToVDLType(inParamsType, s.header.desc)
 	var outVType *vdl.Type
 	if outParamsType != nil {
-		outVType = mojovdl.MojomStructToVDLType(*outParamsType, s.header.desc)
+		outVType = transcoder.MojomStructToVDLType(*outParamsType, s.header.desc)
 	}
 
 	// Decode the vdl.Value from the mojom bytes and mojom type.
-	inVdlValue, err := mojovdl.DecodeValue(value, inVType)
+	inVdlValue, err := transcoder.DecodeValue(value, inVType)
 	if err != nil {
-		return nil, fmt.Errorf("mojovdl.DecodeValue failed: %v", err)
+		return nil, fmt.Errorf("transcoder.DecodeValue failed: %v", err)
 	}
 
 	// inVdlValue is a struct, but we need to send []interface.
@@ -160,9 +160,9 @@
 	outVdlValue := combineVdlValueByMojomType(outargs, outVType)
 
 	// Finally, encode this *vdl.Value (struct) into mojom bytes and send the response.
-	result, err := mojovdl.Encode(outVdlValue)
+	result, err := transcoder.Encode(outVdlValue)
 	if err != nil {
-		return nil, fmt.Errorf("mojovdl.Encode failed: %v", err)
+		return nil, fmt.Errorf("transcoder.Encode failed: %v", err)
 	}
 	return result, nil
 }
diff --git a/go/src/v.io/mojo/transcoder/allocation_size.go b/go/src/v.io/x/mojo/transcoder/allocation_size.go
similarity index 97%
rename from go/src/v.io/mojo/transcoder/allocation_size.go
rename to go/src/v.io/x/mojo/transcoder/allocation_size.go
index ff70e88..ea58708 100644
--- a/go/src/v.io/mojo/transcoder/allocation_size.go
+++ b/go/src/v.io/x/mojo/transcoder/allocation_size.go
@@ -1,4 +1,4 @@
-package mojovdl
+package transcoder
 
 import "v.io/v23/vdl"
 
diff --git a/go/src/v.io/mojo/transcoder/allocator.go b/go/src/v.io/x/mojo/transcoder/allocator.go
similarity index 98%
rename from go/src/v.io/mojo/transcoder/allocator.go
rename to go/src/v.io/x/mojo/transcoder/allocator.go
index 0f3be60..e3bdfb9 100644
--- a/go/src/v.io/mojo/transcoder/allocator.go
+++ b/go/src/v.io/x/mojo/transcoder/allocator.go
@@ -1,4 +1,4 @@
-package mojovdl
+package transcoder
 
 import "encoding/binary"
 
diff --git a/go/src/v.io/mojo/transcoder/decode.go b/go/src/v.io/x/mojo/transcoder/decode.go
similarity index 99%
rename from go/src/v.io/mojo/transcoder/decode.go
rename to go/src/v.io/x/mojo/transcoder/decode.go
index b5b7142..432aa14 100644
--- a/go/src/v.io/mojo/transcoder/decode.go
+++ b/go/src/v.io/x/mojo/transcoder/decode.go
@@ -1,4 +1,4 @@
-package mojovdl
+package transcoder
 
 import (
 	"fmt"
diff --git a/go/src/v.io/mojo/transcoder/encode.go b/go/src/v.io/x/mojo/transcoder/encode.go
similarity index 98%
rename from go/src/v.io/mojo/transcoder/encode.go
rename to go/src/v.io/x/mojo/transcoder/encode.go
index b778e0e..2625ffb 100644
--- a/go/src/v.io/mojo/transcoder/encode.go
+++ b/go/src/v.io/x/mojo/transcoder/encode.go
@@ -1,4 +1,4 @@
-package mojovdl
+package transcoder
 
 import (
 	"reflect"
diff --git a/go/src/v.io/mojo/transcoder/ref.go b/go/src/v.io/x/mojo/transcoder/ref.go
similarity index 97%
rename from go/src/v.io/mojo/transcoder/ref.go
rename to go/src/v.io/x/mojo/transcoder/ref.go
index 9d53c75..dc8ec2d 100644
--- a/go/src/v.io/mojo/transcoder/ref.go
+++ b/go/src/v.io/x/mojo/transcoder/ref.go
@@ -1,4 +1,4 @@
-package mojovdl
+package transcoder
 
 type bytesRef struct {
 	allocator            *allocator
diff --git a/go/src/v.io/mojo/transcoder/struct_offset.go b/go/src/v.io/x/mojo/transcoder/struct_offset.go
similarity index 99%
rename from go/src/v.io/mojo/transcoder/struct_offset.go
rename to go/src/v.io/x/mojo/transcoder/struct_offset.go
index 317a45b..3180844 100644
--- a/go/src/v.io/mojo/transcoder/struct_offset.go
+++ b/go/src/v.io/x/mojo/transcoder/struct_offset.go
@@ -1,4 +1,4 @@
-package mojovdl
+package transcoder
 
 import (
 	"fmt"
diff --git a/go/src/v.io/mojo/transcoder/target.go b/go/src/v.io/x/mojo/transcoder/target.go
similarity index 99%
rename from go/src/v.io/mojo/transcoder/target.go
rename to go/src/v.io/x/mojo/transcoder/target.go
index cfb26f5..74aedf2 100644
--- a/go/src/v.io/mojo/transcoder/target.go
+++ b/go/src/v.io/x/mojo/transcoder/target.go
@@ -1,4 +1,4 @@
-package mojovdl
+package transcoder
 
 import (
 	"encoding/binary"
diff --git a/go/src/v.io/mojo/transcoder/type.go b/go/src/v.io/x/mojo/transcoder/type.go
similarity index 99%
rename from go/src/v.io/mojo/transcoder/type.go
rename to go/src/v.io/x/mojo/transcoder/type.go
index 3fc7c35..544e0ae 100644
--- a/go/src/v.io/mojo/transcoder/type.go
+++ b/go/src/v.io/x/mojo/transcoder/type.go
@@ -1,4 +1,4 @@
-package mojovdl
+package transcoder
 
 import (
 	"fmt"
diff --git a/go/src/v.io/mojo/transcoder/typed_targets.go b/go/src/v.io/x/mojo/transcoder/typed_targets.go
similarity index 99%
rename from go/src/v.io/mojo/transcoder/typed_targets.go
rename to go/src/v.io/x/mojo/transcoder/typed_targets.go
index d09160e..3941bdc 100644
--- a/go/src/v.io/mojo/transcoder/typed_targets.go
+++ b/go/src/v.io/x/mojo/transcoder/typed_targets.go
@@ -1,4 +1,4 @@
-package mojovdl
+package transcoder
 
 import (
 	"encoding/binary"