mirror of https://gitee.com/bigwinds/arangodb
Setup and teardown of foxx apps and foxx dev apps should now print their errors properly
This commit is contained in:
parent
59d406dc62
commit
e23b81779d
|
@ -171,8 +171,8 @@ function checkManifest (filename, mf) {
|
||||||
|
|
||||||
if (failed) {
|
if (failed) {
|
||||||
throw new ArangoError({
|
throw new ArangoError({
|
||||||
errorNum: errors.MANIFEST_FILE_ATTRIBUTE_MISSING.code,
|
errorNum: errors.ERROR_MANIFEST_FILE_ATTRIBUTE_MISSING.code,
|
||||||
errorMessage: errors.MANIFEST_FILE_ATTRIBUTE_MISSING.message
|
errorMessage: errors.ERROR_MANIFEST_FILE_ATTRIBUTE_MISSING.message
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1596,80 +1596,55 @@ exports.developmentRoutes = function () {
|
||||||
|
|
||||||
for (j = 0; j < files.length; ++j) {
|
for (j = 0; j < files.length; ++j) {
|
||||||
m = fs.join(root, files[j], "manifest.json");
|
m = fs.join(root, files[j], "manifest.json");
|
||||||
|
mf = validateManifestFile(m);
|
||||||
|
if (mf !== undefined) {
|
||||||
|
|
||||||
if (fs.exists(m)) {
|
|
||||||
try {
|
|
||||||
mf = JSON.parse(fs.read(m));
|
|
||||||
} catch (err) {
|
|
||||||
console.errorLines(
|
|
||||||
"Cannot parse app manifest '%s': %s", m, String(err));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
checkManifest(m, mf);
|
|
||||||
} catch (err) {
|
|
||||||
console.errorLines(
|
|
||||||
"Manifest file '%s' invalid: %s", m, String(err));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
appId = "dev:" + mf.name + ":" + files[j];
|
appId = "dev:" + mf.name + ":" + files[j];
|
||||||
mount = "/dev/" + files[j];
|
mount = "/dev/" + files[j];
|
||||||
options = {
|
options = {
|
||||||
collectionPrefix : prefixFromMount(mount)
|
collectionPrefix : prefixFromMount(mount)
|
||||||
};
|
};
|
||||||
|
app = createApp(appId, options, mf.name, m);
|
||||||
|
if (app !== undefined) {
|
||||||
|
try {
|
||||||
|
setupApp(app, mount, options.collectionPrefix);
|
||||||
|
} catch (err) {
|
||||||
|
console.errorLines(
|
||||||
|
"Setup of App '%s' with manifest '%s' failed: %s", mf.name, m, String(err));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
app = module.createApp(appId, options);
|
r = routingAalApp(app, mount, options);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.errorLines(
|
console.errorLines(
|
||||||
"Failed to create App '%s' with manifest '%s': %s", mf.name, m, String(err));
|
"Unable to properly route the App '%s': %s", mf.name, String(err.stack || err)
|
||||||
continue;
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (r === null) {
|
||||||
|
console.errorLines("Cannot compute the routing table for Foxx application '%s'" , app._id);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
routes.push(r);
|
||||||
|
var desc = {
|
||||||
|
_id: "dev/" + app._id,
|
||||||
|
_key: app._id,
|
||||||
|
type: "mount",
|
||||||
|
app: app._id,
|
||||||
|
name: app._name,
|
||||||
|
description: app._manifest.description,
|
||||||
|
repository: app._manifest.repository,
|
||||||
|
license: app._manifest.license,
|
||||||
|
author: app._manifest.author,
|
||||||
|
mount: mount,
|
||||||
|
active: true,
|
||||||
|
collectionPrefix: options.collectionPrefix,
|
||||||
|
isSystem: app._manifest.isSystem || false,
|
||||||
|
options: options
|
||||||
|
};
|
||||||
|
mounts.push(desc);
|
||||||
}
|
}
|
||||||
if (app === null) {
|
|
||||||
console.errorLines(
|
|
||||||
"Cannot find application '%s'", appId);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
// TODO check
|
|
||||||
setupApp(app, mount, options.collectionPrefix);
|
|
||||||
} catch (err) {
|
|
||||||
console.errorLines(
|
|
||||||
"Setup of App '%s' with manifest '%s' failed: %s", m, String(err));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
r = routingAalApp(app, mount, options);
|
|
||||||
} catch (err) {
|
|
||||||
console.errorLines(
|
|
||||||
"Unable to properly route the App '%s': %s", mf.name, String(err.stack || err)
|
|
||||||
);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (r === null) {
|
|
||||||
console.errorLines("Cannot compute the routing table for Foxx application '%s'" , app._id);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
routes.push(r);
|
|
||||||
var desc = {
|
|
||||||
_id: "dev/" + app._id,
|
|
||||||
_key: app._id,
|
|
||||||
type: "mount",
|
|
||||||
app: app._id,
|
|
||||||
name: app._name,
|
|
||||||
description: app._manifest.description,
|
|
||||||
repository: app._manifest.repository,
|
|
||||||
license: app._manifest.license,
|
|
||||||
author: app._manifest.author,
|
|
||||||
mount: mount,
|
|
||||||
active: true,
|
|
||||||
collectionPrefix: options.collectionPrefix,
|
|
||||||
isSystem: app._manifest.isSystem || false,
|
|
||||||
options: options
|
|
||||||
};
|
|
||||||
mounts.push(desc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -348,9 +348,10 @@ SIMPLE_CLIENT_COULD_NOT_READ,2003,"could not read from server","Will be raised w
|
||||||
## Foxx Manager
|
## Foxx Manager
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
MALFORMED_MANIFEST_FILE,3000,"malformed manifest file","The Manifest file is malformed. It is not in a valid JSON format."
|
ERROR_MALFORMED_MANIFEST_FILE,3000,"malformed manifest file","The manifest file is malformed. It is not in a valid JSON format."
|
||||||
MANIFEST_FILE_ATTRIBUTE_MISSING,3001,"missing manifest attribute","The Manifest file is incomplete. A required attribute is missing."
|
ERROR_INVALID_APPLICATION_MANIFEST,3001,"manifest file is invalid","The manifest file of this application is invalid."
|
||||||
|
ERROR_MANIFEST_FILE_ATTRIBUTE_MISSING,3002,"missing manifest attribute","The manifest file is incomplete. A required attribute is missing."
|
||||||
|
ERROR_CANNOT_EXTRACT_APPLICATION_ROOT,3003,"unable to extract app root path","The root path of the application could not be found."
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
## results, which are not errors
|
## results, which are not errors
|
||||||
|
|
Loading…
Reference in New Issue