js.syncbase: Remove the -builtin_vdlroot flag.
The vdl tool needs access to its standard packages when compiling
and generating code. It can either find the packages under
VDLROOT/JIRI_ROOT, or it can use the packages built-in to the
tool itself.
The previous behavior was that if -builtin_vdlroot=false (the
default), we'd always look under VDLROOT or JIRI_ROOT. The new
behavior gets rid of the flag, and changes the behavior as if it
were set to true. If VDLROOT or JIRI_ROOT are set, we always use
that value, otherwise we extract the built-in vdlroot to a
temporary directory.
The previous behavior was to write out the data as a
base64/gzipped/tarball with line breaks. The new behavior writes
out a gzipped/tarball as raw binary data, without line breaks.
This is simpler; there's no need for the base64 encoding.
The previous behavior only included *.vdl files in the tarball;
we also need to include vdl.config files, since they affect code
generation for dependant packages.
Added an explicit test to make sure the builtin vdlroot data
contains exactly what we expect; the net result is similar to the
go-generate test (which reminds us when we've forgotten to run
go-generate), but is a bit more localized.
MultiPart: 5/6
Change-Id: I55a35656f643f70e55175a6804c9e5dd3e224801
diff --git a/src/gen-vdl/v.io/v23/security/index.js b/src/gen-vdl/v.io/v23/security/index.js
index 1268fed..ed390d1 100644
--- a/src/gen-vdl/v.io/v23/security/index.js
+++ b/src/gen-vdl/v.io/v23/security/index.js
@@ -263,7 +263,7 @@
module.exports.AllPrincipals = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeBlessingPattern))("...", true), _typeBlessingPattern);
- module.exports.ChainSeparator = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("/", true), vdl.types.STRING);
+ module.exports.ChainSeparator = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))(":", true), vdl.types.STRING);
module.exports.SHA1Hash = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeHash))("SHA1", true), _typeHash);
@@ -329,7 +329,7 @@
module.exports.ExpiryCaveatValidationError = makeError('v.io/v23/security.ExpiryCaveatValidation', actions.NO_RETRY, {
- 'en': '{1:}{2:} now({4}) is after expiry({3})',
+ 'en': '{1:}{2:} now({3}) is after expiry({4})',
}, [
new time.Time()._type,
new time.Time()._type,
diff --git a/src/gen-vdl/v.io/v23/services/syncbase/index.js b/src/gen-vdl/v.io/v23/services/syncbase/index.js
index 580d040..dded181 100644
--- a/src/gen-vdl/v.io/v23/services/syncbase/index.js
+++ b/src/gen-vdl/v.io/v23/services/syncbase/index.js
@@ -12,6 +12,7 @@
+var time = require('./../../vdlroot/time');
var access = require('./../../security/access');
var permissions = require('./../permissions');
@@ -20,6 +21,12 @@
// Types:
+var _typeDebugUpdateClockOpts = new vdl.Type();
+_typeDebugUpdateClockOpts.kind = vdl.kind.STRUCT;
+_typeDebugUpdateClockOpts.name = "v.io/v23/services/syncbase.DebugUpdateClockOpts";
+_typeDebugUpdateClockOpts.fields = [{name: "NtpHost", type: vdl.types.STRING}, {name: "Now", type: new time.Time()._type}, {name: "ElapsedTime", type: new time.Duration()._type}, {name: "DoNtpUpdate", type: vdl.types.BOOL}, {name: "DoLocalUpdate", type: vdl.types.BOOL}, {name: "StartClockD", type: vdl.types.BOOL}];
+_typeDebugUpdateClockOpts.freeze();
+module.exports.DebugUpdateClockOpts = (vdl.registry.lookupOrCreateConstructor(_typeDebugUpdateClockOpts));
@@ -48,6 +55,16 @@
+Service.prototype.debugUpdateClock = function(ctx, serverCall, uco) {
+ throw new Error('Method DebugUpdateClock not implemented');
+};
+
+
+Service.prototype.debugNow = function(ctx, serverCall) {
+ throw new Error('Method DebugNow not implemented');
+};
+
+
Service.prototype.setPermissions = function(ctx, serverCall, perms, version) {
throw new Error('Method SetPermissions not implemented');
};
@@ -73,6 +90,38 @@
{
+ name: 'DebugUpdateClock',
+ doc: "// DebugUpdateClock updates various bits of Syncbase virtual clock and clock\n// daemon state based on the specified options.\n// Requires --debug flag to be set (in addition to Admin check).\n// Users of this function typically specify --debug-do-not-start-clockd when\n// starting Syncbase so that they can configure the virtual clock before the\n// daemon starts mucking with it.",
+ inArgs: [{
+ name: 'uco',
+ doc: "",
+ type: _typeDebugUpdateClockOpts
+ },
+ ],
+ outArgs: [],
+ inStream: null,
+ outStream: null,
+ tags: [canonicalize.reduce(new access.Tag("Admin", true), new access.Tag()._type), ]
+ },
+
+
+ {
+ name: 'DebugNow',
+ doc: "// DebugNow returns the current time per the Syncbase clock.\n// Requires --debug flag to be set (in addition to Admin check).",
+ inArgs: [],
+ outArgs: [{
+ name: '',
+ doc: "",
+ type: new time.Time()._type
+ },
+ ],
+ inStream: null,
+ outStream: null,
+ tags: [canonicalize.reduce(new access.Tag("Admin", true), new access.Tag()._type), ]
+ },
+
+
+ {
name: 'SetPermissions',
doc: "// SetPermissions replaces the current Permissions for an object. version\n// allows for optional, optimistic concurrency control. If non-empty,\n// version's value must come from GetPermissions. If any client has\n// successfully called SetPermissions in the meantime, the version will be\n// stale and SetPermissions will fail. If empty, SetPermissions performs an\n// unconditional update.\n//\n// Permissions objects are expected to be small. It is up to the\n// implementation to define the exact limit, though it should probably be\n// around 100KB. Large lists of principals can be represented concisely using\n// blessings.\n//\n// There is some ambiguity when calling SetPermissions on a mount point.\n// Does it affect the mount itself or does it affect the service endpoint\n// that the mount points to? The chosen behavior is that it affects the\n// service endpoint. To modify the mount point's Permissions, use\n// ResolveToMountTable to get an endpoint and call SetPermissions on that.\n// This means that clients must know when a name refers to a mount point to\n// change its Permissions.",
inArgs: [{
@@ -250,6 +299,8 @@
};
+
+
diff --git a/src/gen-vdl/v.io/v23/services/syncbase/nosql/index.js b/src/gen-vdl/v.io/v23/services/syncbase/nosql/index.js
index e69a4de..9fab3d3 100644
--- a/src/gen-vdl/v.io/v23/services/syncbase/nosql/index.js
+++ b/src/gen-vdl/v.io/v23/services/syncbase/nosql/index.js
@@ -148,7 +148,7 @@
_typeStoreChange.fields = [{name: "Value", type: _type4}, {name: "FromSync", type: vdl.types.BOOL}];
_typeSyncgroupMemberInfo.kind = vdl.kind.STRUCT;
_typeSyncgroupMemberInfo.name = "v.io/v23/services/syncbase/nosql.SyncgroupMemberInfo";
-_typeSyncgroupMemberInfo.fields = [{name: "SyncPriority", type: vdl.types.BYTE}];
+_typeSyncgroupMemberInfo.fields = [{name: "SyncPriority", type: vdl.types.BYTE}, {name: "IsServer", type: vdl.types.BOOL}];
_typeSyncgroupSpec.kind = vdl.kind.STRUCT;
_typeSyncgroupSpec.name = "v.io/v23/services/syncbase/nosql.SyncgroupSpec";
_typeSyncgroupSpec.fields = [{name: "Description", type: vdl.types.STRING}, {name: "Perms", type: new access.Permissions()._type}, {name: "Prefixes", type: _type2}, {name: "MountTables", type: _type1}, {name: "IsPrivate", type: vdl.types.BOOL}];