Related
I've recorded a series of 13 sample utterances in chatbots section
of botium box and saved the test cases .But it says job
queued for execution and is nearly waiting for long time to execute
2019-06-17T12:14:43.199Z: Job queued for execution
2019-06-17T12:14:44.144Z: 2019-06-17T12:14:43.038Z
botium-box-worker-runtestcases Started processing, JobId #2122.
2019-06-17T12:14:44.273Z: 2019-06-17T12:14:43.053Z botium-BotDriver
Loaded Botium configuration file ./botium.json
2019-06-17T12:14:44.491Z: 2019-06-17T12:14:43.061Z botium-BotDriver
BuildCompiler: Capabilites: { PROJECTNAME: 'Test Project - vMMVv -
Test Session', TEMPDIR: 'botiumwork', CLEANUPTEMPDIR: true,
WAITFORBOTTIMEOUT: 10000, SIMULATE_WRITING_SPEED: false,
DOCKERCOMPOSEPATH: 'docker-compose', DOCKERMACHINEPATH:
'docker-machine', DOCKERMACHINE: false, DOCKERIMAGE: 'node:boron',
DOCKERUNIQUECONTAINERNAMES: false, DOCKERSYSLOGPORT_RANGE:
'47100-47299', BOT_HEALTH_STATUS: 200, SLACK_PUBLISHPORT_RANGE:
'46100-46299', FACEBOOK_PUBLISHPORT_RANGE: '46300-46499',
FACEBOOK_SEND_DELIVERY_CONFIRMATION: true,
BOTFRAMEWORK_PUBLISHPORT_RANGE: '46500-46699',
BOTFRAMEWORK_WEBHOOK_PORT: 3978, BOTFRAMEWORK_WEBHOOK_PATH:
'api/messages', BOTFRAMEWORK_CHANNEL_ID: 'facebook',
SIMPLEREST_PING_RETRIES: 6, SIMPLEREST_PING_TIMEOUT: 10000,
SIMPLEREST_PING_VERB: 'GET', SIMPLEREST_METHOD: 'GET',
WEBSPEECH_SERVER_PORT: 46050, WEBSPEECH_LANGUAGE: 'en-US',
WEBSPEECH_CLOSEBROWSER: true, SCRIPTING_TXT_EOL: '\n',
SCRIPTING_XLSX_EOL_SPLIT: '\r', SCRIPTING_XLSX_EOL_WRITE: '\r\n',
SCRIPTING_XLSX_STARTROW: 2, SCRIPTING_XLSX_STARTCOL: 1,
SCRIPTING_NORMALIZE_TEXT: true, SCRIPTING_ENABLE_MEMORY: true,
SCRIPTING_MATCHING_MODE: 'includeLowerCase',
SCRIPTING_UTTEXPANSION_MODE: 'all',
SCRIPTING_UTTEXPANSION_RANDOM_COUNT: 1,
SCRIPTING_MEMORYEXPANSION_KEEP_ORIG: false,
RETRY_USERSAYS_ONERROR_REGEXP: [], RETRY_USERSAYS_NUMRETRIES: 1,
RETRY_USERSAYS_FACTOR: 1, RETRY_USERSAYS_MINTIMEOUT: 1000,
ASSERTERS: [ { ref: 'HASLINK',
src: 'botium-asserter-basiclink',
global: false,
args: {} } ], LOGIC_HOOKS: [], USER_INPUTS: [], ALEXA_SMAPI_API: 'simulation', ALEXA_SMAPI_SKILLID:
'adminamzn1.ask.skill.4bf0188a-4dda-4810-b754-a3181193fbff',
ALEXA_SMAPI_LOCALE: 'en-US', ALEXA_SMAPI_REFRESHTOKEN:
'Atzr|IwEBIEvgZitZhPSHNy3v7aEQ1OSZAW4iNAjaoHh2zH316H83ZjDZP0q-TFziI8TtVZDZDr-YW7dR7UQlulJ-Vx0aGkqtaSBaduYVVofaRqrQfJBcvA-4xBmbcfcFAD4pUORxqlx880Cr9-q_xup_9p5KHDhARFNlb7VIpxOc6l0XJkSb4_MtIdjZSH7JEHbBEjkYD9KOs6EzP8BYKHWiujrlmblXSe2e-DlFuTVlDJsH0nbKWAhVD8jha-Lbvhg8MNjcF5Ns1i-motmfPxNGPKyMCJcA6uXdduk2OSDUIJItMrJ6tbxB8_cMU1_0KJokGACvJcYptshW8r41DZrmVph1OUUmMGUlqSDRI54Z7Vx2Lqkx4ot1xJiR_FgAcWbt6TLYKpZtkVJf_Z5K21OZ5dPMUV41lR_EfHGhJnObQDWEUGswqAt4AYOfamXAqXfIktqHgdNMSOaU4DaHpu_Sr2PjrW8y7himvRrMIuhxDvJ4guezplhR1v5LZgr8cnoaaRg38prvDeAZ4FYgkUHFs866UsBGqaLXnslxjTyxPFg6zAxsCNc7LhhnzMdNBbilmqwYKUzysGL0MRi-6T5n6MGJag6TwOYZyszmxBRQQWrM_8oJL7WPo-3DRaPs8gjZLwLwodqrjP3GzBtyYQL6k97ka3Z8yD-U3wv_esGzcXCsoJy9lg',
ALEXA_SMAPI_ENDPOINTREGION: '', CONTAINERMODE: 'alexa-smapi',
FBPAGERECEIVER_REDISURL: { port: '6379', host: 'redis', db: 0,
options: {} } }
2019-06-17T12:14:44.869Z: 2019-06-17T12:14:43.860Z
botium-ScriptingProvider Using matching mode: includeLowerCase
2019-06-17T12:14:44.999Z: 2019-06-17T12:14:43.861Z
botium-asserterUtils Loaded Default asserter - [ 'BUTTONS', 'MEDIA',
'PAUSE_ASSERTER', 'ENTITIES', 'ENTITY_VALUES', 'INTENT',
'INTENT_CONFIDENCE' ]
2019-06-17T12:14:45.108Z: 2019-06-17T12:14:43.861Z
botium-asserterUtils Loaded Default logic hook - [ 'PAUSE',
'WAITFORBOT', 'SET_SCRIPTING_MEMORY', 'CLEAR_SCRIPTING_MEMORY',
'INCLUDE' ]
2019-06-17T12:14:45.519Z: 2019-06-17T12:14:43.862Z
botium-asserterUtils Loaded Default user input - [ 'BUTTON', 'MEDIA',
'FORM' ]
2019-06-17T12:14:45.628Z: 2019-06-17T12:14:43.863Z
botium-asserterUtils Trying to load HASLINK asserter from
botium-asserter-basiclink
2019-06-17T12:14:45.756Z: 2019-06-17T12:14:44.089Z
botium-asserterUtils Loaded HASLINK SUCCESSFULLY
2019-06-17T12:14:45.884Z: 2019-06-17T12:14:44.116Z
botium-box-worker-runtestcases expanding convos ...
2019-06-17T12:14:46.002Z: 2019-06-17T12:14:44.116Z
botium-ScriptingProvider ExpandConvos - Using utterances expansion
mode: all
2019-06-17T12:14:46.117Z: 2019-06-17T12:14:44.119Z
botium-box-worker-runtestcases found 1 convos ...
2019-06-17T12:14:46.247Z: 2019-06-17T12:14:44.120Z
botium-box-worker-runtestcases batchNum: 1 batchCount: 1
convosPerBatch: 1 batchStart: 0 batchEnd: 0 batchLength: 1
2019-06-17T12:14:46.361Z: 2019-06-17T12:14:44.122Z botium-BotDriver
Build - Botium Core Version: 1.4.13
2019-06-17T12:14:46.567Z: 2019-06-17T12:14:44.122Z botium-BotDriver
Build - Capabilites: { PROJECTNAME: 'Test Project - vMMVv - Test
Session', TEMPDIR: 'botiumwork', CLEANUPTEMPDIR: true,
WAITFORBOTTIMEOUT: 10000, SIMULATE_WRITING_SPEED: false,
DOCKERCOMPOSEPATH: 'docker-compose', DOCKERMACHINEPATH:
'docker-machine', DOCKERMACHINE: false, DOCKERIMAGE: 'node:boron',
DOCKERUNIQUECONTAINERNAMES: false, DOCKERSYSLOGPORT_RANGE:
'47100-47299', BOT_HEALTH_STATUS: 200, SLACK_PUBLISHPORT_RANGE:
'46100-46299', FACEBOOK_PUBLISHPORT_RANGE: '46300-46499',
FACEBOOK_SEND_DELIVERY_CONFIRMATION: true,
BOTFRAMEWORK_PUBLISHPORT_RANGE: '46500-46699',
BOTFRAMEWORK_WEBHOOK_PORT: 3978, BOTFRAMEWORK_WEBHOOK_PATH:
'api/messages', BOTFRAMEWORK_CHANNEL_ID: 'facebook',
SIMPLEREST_PING_RETRIES: 6, SIMPLEREST_PING_TIMEOUT: 10000,
SIMPLEREST_PING_VERB: 'GET', SIMPLEREST_METHOD: 'GET',
WEBSPEECH_SERVER_PORT: 46050, WEBSPEECH_LANGUAGE: 'en-US',
WEBSPEECH_CLOSEBROWSER: true, SCRIPTING_TXT_EOL: '\n',
SCRIPTING_XLSX_EOL_SPLIT: '\r', SCRIPTING_XLSX_EOL_WRITE: '\r\n',
SCRIPTING_XLSX_STARTROW: 2, SCRIPTING_XLSX_STARTCOL: 1,
SCRIPTING_NORMALIZE_TEXT: true, SCRIPTING_ENABLE_MEMORY: true,
SCRIPTING_MATCHING_MODE: 'includeLowerCase',
SCRIPTING_UTTEXPANSION_MODE: 'all',
SCRIPTING_UTTEXPANSION_RANDOM_COUNT: 1,
SCRIPTING_MEMORYEXPANSION_KEEP_ORIG: false,
RETRY_USERSAYS_ONERROR_REGEXP: [], RETRY_USERSAYS_NUMRETRIES: 1,
RETRY_USERSAYS_FACTOR: 1, RETRY_USERSAYS_MINTIMEOUT: 1000,
ASSERTERS: [ { ref: 'HASLINK',
src: 'botium-asserter-basiclink',
global: false,
args: {} } ], LOGIC_HOOKS: [], USER_INPUTS: [], ALEXA_SMAPI_API: 'simulation', ALEXA_SMAPI_SKILLID:
'adminamzn1.ask.skill.4bf0188a-4dda-4810-b754-a3181193fbff',
ALEXA_SMAPI_LOCALE: 'en-US', ALEXA_SMAPI_REFRESHTOKEN:
'Atzr|IwEBIEvgZitZhPSHNy3v7aEQ1OSZAW4iNAjaoHh2zH316H83ZjDZP0q-TFziI8TtVZDZDr-YW7dR7UQlulJ-Vx0aGkqtaSBaduYVVofaRqrQfJBcvA-4xBmbcfcFAD4pUORxqlx880Cr9-q_xup_9p5KHDhARFNlb7VIpxOc6l0XJkSb4_MtIdjZSH7JEHbBEjkYD9KOs6EzP8BYKHWiujrlmblXSe2e-DlFuTVlDJsH0nbKWAhVD8jha-Lbvhg8MNjcF5Ns1i-motmfPxNGPKyMCJcA6uXdduk2OSDUIJItMrJ6tbxB8_cMU1_0KJokGACvJcYptshW8r41DZrmVph1OUUmMGUlqSDRI54Z7Vx2Lqkx4ot1xJiR_FgAcWbt6TLYKpZtkVJf_Z5K21OZ5dPMUV41lR_EfHGhJnObQDWEUGswqAt4AYOfamXAqXfIktqHgdNMSOaU4DaHpu_Sr2PjrW8y7himvRrMIuhxDvJ4guezplhR1v5LZgr8cnoaaRg38prvDeAZ4FYgkUHFs866UsBGqaLXnslxjTyxPFg6zAxsCNc7LhhnzMdNBbilmqwYKUzysGL0MRi-6T5n6MGJag6TwOYZyszmxBRQQWrM_8oJL7WPo-3DRaPs8gjZLwLwodqrjP3GzBtyYQL6k97ka3Z8yD-U3wv_esGzcXCsoJy9lg',
ALEXA_SMAPI_ENDPOINTREGION: '', CONTAINERMODE: 'alexa-smapi',
FBPAGERECEIVER_REDISURL: { port: '6379', host: 'redis', db: 0,
options: {} } }
2019-06-17T12:14:46.763Z: 2019-06-17T12:14:44.123Z botium-BotDriver
Build - Sources : { LOCALPATH: '.', GITPATH: 'git', GITBRANCH:
'master', GITDIR: '.' }
2019-06-17T12:14:46.915Z: 2019-06-17T12:14:44.123Z botium-BotDriver
Build - Envs : { IS_BOTIUM_CONTAINER: true }
2019-06-17T12:14:48.284Z: 2019-06-17T12:14:48.206Z
botium-PluginConnectorContainer Botium plugin
botium-connector-alexa-smapi loaded
2019-06-17T12:14:48.374Z: 2019-06-17T12:14:48.207Z
botium-connector-alexa-smapi Validate called
2019-06-17T12:14:48.463Z: 2019-06-17T12:14:48.210Z
botium-connector-alexa-smapi Build called
2019-06-17T12:14:48.752Z: 2019-06-17T12:14:48.211Z
botium-connector-alexa-smapi Start called
2019-06-17T12:14:48.880Z: 2019-06-17T12:14:48.212Z
botium-box-worker-runtestcases Running Convo "Myplanfeatures_Alexa",
Index 0, 1 from 1
2019-06-17T12:14:49.020Z: 2019-06-17T12:14:48.232Z botium-Convo
Myplanfeatures_Alexa/Line 3: user says { "sender": "me",
"channel": null, "messageText": "bye", "stepTag": "Line 3",
"not": false, "asserters": [], "logicHooks": [], "userInputs":
[] }
2019-06-17T12:14:49.130Z: 2019-06-17T12:14:48.234Z
botium-connector-alexa-smapi UserSays called
You can see if the Botium Agent is online by switching to the Agents view, you should see a recent heartbeat there (agents are sending a "I'm online" heartbeat every few seconds):
If the agent is not online, you have find out why - best way is to have a look at the docker logs.
I could not find any standard rules for such indentation in arrays and objects. I need aliment by identificators ( ignoring brackets ). For our code style this approach is more convinient.
// default indent is 4 spaces
webix.ui({
view: "popup",
id: "group_name_edit",
position: "center",
body: {
padding: 20,
rows: [
input,
{ cols: [ // <-------- sample line
{},
{ view: "button",
label: "Ok",
width: 150,
},
]
}
]
},
});
You could combine the indent and object-curly-newline rules:
rules: {
"indent": ["error", 4, { "SwitchCase": 1 }],
"object-curly-newline": ["error", { "minProperties": 1 }]
},
I copied your sample and applied auto-fix and this is the result:
webix.ui({
view: "popup",
id: "group_name_edit",
position: "center",
body: {
padding: 20,
rows: [
input,
{
cols: [
{},
{
view: "button",
label: "Ok",
width: 150,
},
]
}
]
},
});
If you also want to enforce line breaks in arrays (which is not neccessary based on the given sample, as there already are line breaks), you could also add array-bracket-newline: ["error", "always"] to the rules.
Code for this:
settings: {
colHeaders:['Commodity', 'Packaging', 'Quantity', 'Unit Dimension', 'Unit Dimension Length', 'Unit Dimension Width', 'Unit Dimension Height', 'Volume'],
data: [{commodityName:"", packageName:"", quantity: "", dimensionUOM: "", length: "", width: "", height: "", volume: ""}],
columns: [
{ data:"commodityName"},
{ data:"packageName", type:'dropdown', source:["Pallet", "Box"] },
{ data:"quantity"},
{ data:"dimensionUOM", type:'dropdown', source:["millimeters", "centimeters"]},
{ data:"length"},
{ data:"width"},
{ data:"height"},
{ data:"volume"},
],
minSpareRows: 0,
contextMenu: true,
rowHeaders:true,
manualColumnResize: true,
columnSorting: true,
manualRowResize: true,
manualRowMove: true,
manualColumnMove: true,
colWidths: [110, 100, 100,120, 100, 100,100,100],
}
<div id="hot-app">
<HotTable root="hot" ref="hot" settings={this.state.settings}/>
</div>
I am using handsontable component,
I need to calculate the volume(length * breadth * height) and make volume column disable.
I have researched on component but I did not find any solution, I found afterChange event but unable to implement that.
Please, someone provide guidance on this.
I am trying to implement the general example illustrated in:
https://dojotoolkit.org/documentation/tutorials/1.10/modules_advanced/
where my directory structure does not match the "default".
/
index.html
js/
lib/
dojo/
dijit/
dojox/
my/
When I run against the development directories, everything works great! Using this config at runtime:
<script>
var dojoConfig = {
baseUrl: "/lib/_site/js/",
tlmSiblingsofDojo: false,
async: 1,
hasCache: {
// these are the values given above, not-built client code may test for these so they need to be available
"dojo-built": 1,
"dojo-loader": 1,
"dojo-undef-api": 0,
dom: 1,
"host-browser": 1,
// Disable deferred instrumentation by default in the built version.
"config-deferredInstrumentation": 0,
// Dojo loader has built-in "has" api. Since dojoConfig is used
// by Dojo loader, we can set the default here.
"dojo-has-api": 1,
// default
"config-selectorEngine": "lite",
"esri-featurelayer-webgl": 0,
"esri-promise-compatibility": 0,
"esri-promise-compatibility-deprecation-warnings": 1
},
packages: [
{
name: "dojo",
location: "lib/dojo"
},
{
name: "dijit",
location: "lib/dijit"
},
{
name: "dojox",
location: "lib/dojox"
},
{
name: "dstore",
location: "lib/dstore"
},
{
name: "dgrid",
location: "lib/dgrid"
},
{
name: "esri",
location: "lib/esri"
},
{
name: "moment",
location: "lib/moment",
main: "moment"
},
{
name: "my",
location: "my",
main: "app"
}
]
};
</script>
<script src="~/lib/_site/dist/js/lib/dojo/dojo.js"></script>
Dojo correctly locates "my" and the other "libs". But if I try to do an optimized custom build for production, everything works the same except the "my" directory is copied to the "lib" directory, but dojo is still looking for it where it should be?
The output directories look like:
/
index.html
js/
lib/
dojo/
dijit/
dojox/
my/
I am using this profile to build the optimized package..
*
* Based on the dojo-boilerplate
* https://github.com/csnover/dojo-boilerplate
* and https://github.com/tomwayson/esri-slurp-example
*
* Please refer to the Dojo Build tutorial for more details
* http://dojotoolkit.org/documentation/tutorials/1.10/build/
* Look to `util/build/buildControlDefault.js` for more information on available options and their default values.
*/
var profile = {
optimizeOptions: {
languageIn: "ECMASCRIPT6",
languageOut: "ECMASCRIPT5"
},
// `basePath` is relative to the directory containing this profile file; in this case, it is being set to the
// src/ directory, which is the same place as the `baseUrl` directory in the loader configuration.
basePath: "./js/",
tlmSiblings:false,
action: "release",
optimize: "closure", // requires Java 6 or later: http://code.google.com/p/closure-compiler/wiki/FAQ
layerOptimize: "closure",
useSourceMaps: false,
cssOptimize: "comments",
copyTests: false,
internStrings: true,
mini: true,
// The default selector engine is not included by default in a dojo.js build in order to make mobile builds
// smaller. We add it back here to avoid that extra HTTP request. There is also an "acme" selector available; if
// you use that, you will need to set the `selectorEngine` property in index.html, too.
selectorEngine: "lite",
// Strips all calls to console functions within the code. You can also set this to "warn" to strip everything
// but console.error, and any other truthy value to strip everything but console.warn and console.error.
// This defaults to "normal" (strip all but warn and error) if not provided.
stripConsole: "none",
// dojoBootText: "require.boot && require.apply(null, require.boot);",
insertAbsMids: 0,
// If present and truthy, instructs the loader to consume the cache of layer member modules
noref: true,
// A list of packages that will be built. The same packages defined in the loader should be defined here in the
// build profile.
packages: [
// "app" is a sample path for your application
// set this accordingly
{
name: "my",
location: "my"
},
{
name: "dojo",
location: "lib/dojo"
},
{
name: "dijit",
location: "lib/dijit"
},
{
name: "dojox",
location: "lib/dojox"
},
{
name: "dstore",
location: "lib/dstore"
},
{
name: "dgrid",
location: "lib/dgrid"
},
{
name: "esri",
location: "lib/esri"
},
{
name: "moment",
location: "lib/moment",
main: "moment",
trees: [
// don"t bother with .hidden, tests, min, src, and templates
[".", ".", /(\/\.)|(~$)|(test|txt|src|min|templates)/]
],
resourceTags: {
amd: function (filename, mid) {
return /\.js$/.test(filename);
}
}
}
],
// Any module in an application can be converted into a "layer" module, which consists of the original module +
// additional dependencies built into the same file. Using layers allows applications to reduce the number of HTTP
// requests by combining all JavaScript into a single file.
layers: {
// This is the main loader module. It is a little special because it is treated like an AMD module even though
// it is actually just plain JavaScript. There is some extra magic in the build system specifically for this
// module ID.
"dojo/dojo": {
// By default, the build system will try to include `dojo/main` in the built `dojo/dojo` layer, which adds
// a bunch of stuff we do not want or need. We want the initial script load to be as small and quick to
// load as possible, so we configure it as a custom, bootable base.
boot: true,
customBase: true,
include: [
"dojo/domReady",
/** enforce some modules loading */
/** not included because dom is -1 */
"dojo/_base/browser",
"esri/core/request/script",
// esri stuff for 3D maps
"esri/portal/support/layersCreator",
"esri/views/3d/layers/VectorTileLayerView3D"
]
// You can define the locale for your application if you like
// includeLocales: ["en-us"]
},
"esri/identity/IdentityManager": {
include: [
"esri/identity/IdentityManager"
]
},
"esri/views/MapView": {
include: [
"esri/views/MapView",
"esri/views/2d/layers/GraphicsLayerView2D",
"esri/views/2d/layers/FeatureLayerView2D",
"esri/views/2d/layers/TiledLayerView2D"
],
exclude: [
"esri/widgets/support/widget"
]
},
"esri/views/SceneView": {
include: [
"esri/views/SceneView",
"esri/layers/graphics/controllers/I3SOnDemandController",
"esri/layers/SceneLayer",
"esri/views/3d/layers/ElevationLayerView3D",
"esri/views/3d/layers/FeatureLayerView3D",
"esri/views/3d/layers/SceneLayerView3D",
"esri/views/3d/layers/TiledLayerView3D"
],
exclude: [
"esri/widgets/support/widget"
]
},
"esri/WebMap": {
include: [
"esri/WebMap"
]
},
"esri/WebScene": {
include: [
"esri/WebScene"
]
},
"esri/layers/VectorTileLayer": {
include: [
"esri/layers/VectorTileLayer"
]
},
"esri/views/2d/layers/VectorTileLayerView2D": {
include: [
"esri/views/2d/layers/VectorTileLayerView2D"
],
exclude: ["esri/views/MapView"]
},
"esri/views/2d/layers/support/FeatureLayerView2DWebGL": {
include: [
"esri/views/2d/layers/support/FeatureLayerView2DWebGL"
],
exclude: ["esri/views/MapView"]
},
"esri/core/workers/WorkerConnection": {
include: [
"esri/core/workers/WorkerConnection"
]
},
"esri/views/vectorTiles/WorkerTileHandler": {
include: [
"esri/views/vectorTiles/WorkerTileHandler"
]
},
"esri/widgets/support/widget": {
include: [
"esri/widgets/support/widget"
]
}
}
I just can't figure out why! I have tried 10thteen variations. I have not tried to copy the "my" directory back to its proper location, as I shouldn't have to!! If I can't figure it out and manual copying does work, I will just add a copy after the dojo build in the process. BTW-Using NPM and grunt.
Any ideas? Your time and expertise are greatly appreciated!!
Cheers!
BTW-Using NPM and grunt.
EDIT: Here is the grunt stuff used to run the custom build.
A quick note on the custom build. I was trying to "bake" a default
profile into the build by defining a "defaultConfig in the build
profile, as it didn't seem to be working. So I hardwired the
dojoConfig as illustrated above. See the Application Build Profile
section of:
https://dojotoolkit.org/documentation/tutorials/1.10/build/index.html
So the contents of my grunt file that matter:
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
clean: {
options: {
force: true
},
any: {
src: ''
}
},
dojo: {
dist: {
options: {
releaseDir: '../dist/js/lib',
}
},
options: {
profile: 'site.profile.js',
dojo: './js/lib/dojo/dojo.js',
load: 'build',
cwd: './',
basePath: './js/'
}
}
});
require('load-grunt-tasks')(grunt, { scope: 'devDependencies' });
require('time-grunt')(grunt);
grunt.registerTask('none', function () { });
grunt.registerTask('default', 'dist');
grunt.registerTask('my-dojo', function () {
grunt.config('clean.any.src', ['./dist/js/lib']);
grunt.task.run('clean:any');
grunt.task.run('dojo');
grunt.config('clean.any.src', ['./dist/js/lib/**/*.uncompressed.js']);
grunt.task.run('clean:any');
});
};
As mentioned it copies everything to the releaseDir, including "my", where it should end up in ./dist/js.
I am new to dojo and I am trying to learn how to build an application with the utilities giving in dojo version 1.11.2. I raed this tutorial Creating builds - Dojo Toolkit Tutorial and try it by myself.
I have this structure:
My app.profile.js looks like this:
var profile = (function(){
return {
basePath: "./src",
releaseDir: "../../app",
releaseName: "dev",
action: "release",
layerOptimize: "closure",
optimize: "closure",
cssOptimize: "comments",
mini: true,
stripConsole: "warn",
selectorEngine: "lite",
defaultConfig: {
hasCache:{
"dojo-built": 1,
"dojo-loader": 1,
"dom": 1,
"host-browser": 1,
"config-selectorEngine": "lite"
},
async: 1
},
staticHasFeatures: {
"config-deferredInstrumentation": 0,
"config-dojo-loader-catches": 0,
"config-tlmSiblingOfDojo": 0,
"dojo-amd-factory-scan": 0,
"dojo-combo-api": 0,
"dojo-config-api": 1,
"dojo-config-require": 0,
"dojo-debug-messages": 0,
"dojo-dom-ready-api": 1,
"dojo-firebug": 0,
"dojo-guarantee-console": 1,
"dojo-has-api": 1,
"dojo-inject-api": 1,
"dojo-loader": 1,
"dojo-log-api": 0,
"dojo-modulePaths": 0,
"dojo-moduleUrl": 0,
"dojo-publish-privates": 0,
"dojo-requirejs-api": 0,
"dojo-sniff": 1,
"dojo-sync-loader": 0,
"dojo-test-sniff": 0,
"dojo-timeout-api": 0,
"dojo-trace-api": 0,
"dojo-undef-api": 0,
"dojo-v1x-i18n-Api": 1,
"dom": 1,
"host-browser": 1,
"extend-dojo": 1
},
packages:[{
name: "dojo",
location: "dojo"
},{
name: "dijit",
location: "dijit"
},{
name: "dojox",
location: "dojox"
},{
name: "app",
location: "app"
}],
layers: {
"dojo/dojo": {
include: [ "dojo/dojo", "dojo/i18n", "dojo/domReady",
"app/main", "app/run" ],
customBase: true,
boot: true
},
"app/Dialog": {
include: [ "app/Dialog" ]
}
}
};
})();
My package.json has this content:
{
"name": "app",
"description": "carDealer",
"version": "1.0",
"keywords": ["JavaScript", "Dojo", "Toolkit", "DojoX"],
"maintainers": [{
"name": "XY"
}],
"contributors": [{
"name": "XY"
}],
"licenses": [{
"type": "AFLv2.1",
"url": "http://bugs.dojotoolkit.org/browser/dojox/trunk/LICENSE#L43"
},{
"type": "BSD",
"url": "http://bugs.dojotoolkit.org/browser/dojox/trunk/LICENSE#L13"
}],
"bugs": "https://github.com/example/issues",
"repositories": [{
"type": "git",
"url": "http://github.com/example.git",
"path": "packages/app"
}],
"dependencies": {
"dojo": "~1.10.4",
"dijit": "~1.10.4",
"dojox": "~1.10.4"
},
"main": "src",
"homepage": "http://not-set-yet.com/",
"dojoBuild": "app.profile.js"
}
Always I am trying to make a test build with the given build.bat in the Powershell of the windows OS, I get this failure messages and warnings:
Please if you have any advice, let me know. I hate this configuration things. Want to get started with hacking. Many thx in advance.
Best regards.
Your app.profile.js is located in carDealerBackend/src.
In the profile you define basePath: "./src".
So it searches in carDealerBackend/src/src.
Try to change basePath to ".".