Opened 11 years ago

Closed 11 years ago

#12991 closed defect (fixed)

The build does not seem to be pulling in the full dependency list

Reported by: Ed Chatelain Owned by: Rawld Gill
Priority: high Milestone: 1.7
Component: BuildSystem Version: 1.6.1
Keywords: Cc:
Blocked By: Blocking:


I had added this to ticket/12673, but last night they said we should start opening individual tickets.

The build does not seem to be pulling in the full dependency list for things which have been converted to the new amd format. An easy way to see this problem is to update demos/castle/src.js to include: dojo.require("dojox.color"); After the build the build-report.txt will show that demos/castle/src: includes dojox/color, but it does not include dojox/color/_base or dojo/color which are required by dojox/color. And when it is run those files are still pulled in individually. I am having the same problem with dojo.require("dojox.mvc"); dojo.require("");

I am testing on mac, using the cmd below (from util/buildscripts) to build: ./ action=release profile=demos-all version=1.7.0

Thanks, Ed Chatelain

Change History (5)

comment:1 Changed 11 years ago by Chris Mitchell

Milestone: tbd1.7
Owner: set to Rawld Gill

comment:2 Changed 11 years ago by zhangyp

Similar case applies on the build of mobile-all profile. In the profile, one dependency is But it does not pull in specified in the define statement of dojox/mobile.js.

Here is the command line I tried to build mobile-all on Ubuntu 10.10. ./ profile=mobile-all action=clean,release releaseDir=buildDir

Right now, if I need to merge all of the required js modules into one file, I have to specify all of them one by one in the dependency array of the profile.

comment:3 Changed 11 years ago by bill

Component: GeneralBuildSystem

comment:4 Changed 11 years ago by Rawld Gill

Status: newassigned

Verified problem. Regular expression non-magic is not working correctly processing AMD modules that are not explicitly marked as pure AMD modules. Modules may be marked as pure AMD modules by including the pragma


or by tagging the module as AMD with a build tag. For example, the dojo package tags modules as follows:

	"test": [".*/dojo/tests.*", ".*dojo/robot.*"],
	"amd": "return /\\.js$/.test(name) && !/\\/nls\\//.test(name) && !/_base\\/config.+/.test(name) && !/OpenAjax\\.js$/.test(name) && !/resources\\/_modules\\.js/.test(name);"

This is found in dojo/package.json.

TODO: add a dojox/package.json.

TODO: improve regular expression in util/build/transforms/depsScan

comment:5 Changed 11 years ago by Rawld Gill

Resolution: fixed
Status: assignedclosed

(In [25172]) improve dependency scan of non-pure AMD modules; fixes #12991; !strict

Note: See TracTickets for help on using tickets.