Opened 8 years ago

Closed 8 years ago

#14039 closed defect (duplicate)

gfx: build-report.txt errors from 1.7.0b6

Reported by: Adam Peller Owned by: Patrick Ruzand
Priority: high Milestone: 1.7
Component: DojoX GFX Version: 1.6.1
Keywords: Cc: cjolif, Patrick Ruzand, tissandier, chrism1, Rawld Gill, ben hockey
Blocked By: Blocking:

Description

error(311) Missing dependency. module: dojox/gfx; dependency: ./gfx/renderer! error(311) Missing dependency. module: dojox/gfx/silverlight_attach; dependency: ./base

Change History (14)

comment:1 Changed 8 years ago by Adam Peller

Summary: build-report.txt errors from 1.7.0b6gfx: build-report.txt errors from 1.7.0b6

comment:2 Changed 8 years ago by Patrick Ruzand

In [26789]:

fix amd dependency, refs #14039

comment:3 Changed 8 years ago by Patrick Ruzand

fixed silverlight_attach missing dep.

For gfx/renderer! error, from what I see, it seems an amd plugin must have a corresponding module in build/plugins/ and list it in buildControlDefault.js. Can someone confirm this ? Where can we find more info on build/plugins module ?

comment:4 Changed 8 years ago by Adam Peller

Cc: Rawld Gill ben hockey added

comment:5 Changed 8 years ago by ben hockey

i just checked using r26794 and i don't see any more errors. just 2 warnings about dojo/has not being able to resolve during build time (which look to be safe to ignore).

comment:6 Changed 8 years ago by ben hockey

oh... and to answer the plugin question - you don't have to have a corresponding plugin for build. it's just an option for if you need to have specific plugin code during the build. rawld is working on docs at http://livedocs.dojotoolkit.org/developer/design/builder but they are definitely a work in progress as i'm seeing significant updates to them on a daily basis at the moment.

comment:7 Changed 8 years ago by ben hockey

btw, the build plugins (as you have already found) are currently located at util/build/plugins and util/build/buildControlDefault.js has the list of plugins to be used during the build. i would imagine that if gfx did need a build time plugin the usage might be similar to the dojo/selector/_loader plugin where the user is able to provide a config option to say which selector engine (or for gfx, a renderer) to include in the build if they want. my first guess would be to look at the querySelector build plugin as a model for what you might want to achieve if you need to provide this functionality for gfx during the build.

comment:8 Changed 8 years ago by ben hockey

ignore me... i was just doing a base build - the errors still exist

comment:9 Changed 8 years ago by Patrick Ruzand

Thanks for the clarifications. From my understanding, I don't think gfx needs a build plugins, as the renderer to use is determined at runtime depending on the browser, so all renderers should be included in a build .

Also, since you confirmed an amd plugin does not have to have a corresponding build plugin, what could explaind this error msg ? Is it a false msg that we can ignore, or is there a build/amd bug behind it ?

comment:10 Changed 8 years ago by ben hockey

during the build, the plugin will still get called so it's likely that there is an error in the logic of the plugin that causes an error to be thrown because the plugin is not expecting to be used in a non-browser environment or something like that.

taking a quick look, i'll bet that it's related to your dependency on dojo/_base/win. there is an unguarded reference to window in that file which needs to be fixed for the sake of #12451 (see my comment towards the end about dojo/_base/connect) and #13957. i would imagine that we could change window to this in that file and update dojo.body() to deal with a null dojo.doc and everything might work.

comment:11 Changed 8 years ago by ben hockey

ok - i'm sorry to have misled you, it appears that plugins do need to be listed in buildControlDefault.js in order to stop the error. they also need to implement a start function to be used during the build.

to test, i added a start function to the return value of the renderer module (i had start return an empty object) and added an entry for dojox/gfx/renderer to point to itself in buildControlDefault.js and the error goes away. i had not expected that it would be an error to not have provided a build version of a plugin so i guess we need rawld's help here to figure out what to do next - whether the behavior of the build tool should change or if a build time plugin needs to be implemented for renderer.

also it seems i'd lose my bet about the unguarded reference to window in dojo/_base/window but that's a separate issue that still needs to be addressed (tracking it in #12451).

comment:12 Changed 8 years ago by Chris Mitchell

Owner: changed from Eugene Lazutkin to Patrick Ruzand

reassigning to patrick to investigate

comment:13 Changed 8 years ago by Chris Mitchell

i think this may have been fixed by rawld's pragma checkin earlier today...

comment:14 Changed 8 years ago by Chris Mitchell

Resolution: duplicate
Status: newclosed

dup #13466

Note: See TracTickets for help on using tickets.