[Dojo-interest] Build.sh again

dojonewb martingaleh at yahoo.com
Sun Mar 7 20:12:27 EST 2010

I DID IT!! Thanks you Mr. Elliot.  I was browsing the jQuery stuff because it
was so temptingly easy, but that last post solved it.  I was going to post a Q&A
for newbies because to my utter embarrassment, my trail of ignorance shows up as
#6 and #10 on google for zend dojo build.sh, which isn't that esoteric a search,
but then my answers proved even more embarrassing.  Instead, here are the areas
I had the hardest time that other newbies might find helpful.

1. You can't tell the computer where dojo, dijit etc. is.  It's not in the
prefix section of the profile.  Instead figure out where the computer thinks it
is and make a symbolic link to trick it.  By the way, on my computer, the errors
are relative to the buildscript directory, not the dojo directory:
release: Copying: ../dojo to: /home/scrap/public_html/lib/dojo/release/dojo/dojo
release: ******** Not Copied: ../dojo
means the computer is looking for a dojo subdirectory in the util directory. 
This took a day to figure out.

2. Copy the profile right into your dojo directory.  Using different directories
for compartmentalization is for experts that upgrade more than once a year.

2. corollary: Wherever you specify releaseDir, the location that maximizes
success is to copy the resulting files into the original dojo directory.  You'll
have to overwrite the original dojo.js, but oh well.  If you don't, the computer
will never find example_en_us.js, whatever that is. 

3. I don't know what build.sh profile= does, but profileFile=absolute
path/example.profile.js tells the computer the name of the profile.  And use
absolute paths.

4. You still have to put a reference to the css into your html.  There's all
this coolness about the computer putting everything into one layer, but css
isn't part of it even if you write cssOptimize=comments.

5.  If you use zend, you have to make a build script and a profile.  In the
profile, it will show layerName=null.  Change it to a name that you want to use
for the final product.  I'm not sure why there's a layerName and a name or why
some people use build scripts and some don't.  It may vaguely be useful because
of benefits such as
but that post relies on a firm understanding of the prior four points,
compartmentalization and dojo.mixin.

If you're somewhat knowledgeable, I'm sure this post was almost as dim as
"What's the dojo namespace?" which happened because my dojo directory was a
child of a dojo directory making two dojo directories... Well, I'll never live
it down.  If you're new, I hope this was helpful.  It was three weeks of self
flagellation just to get this little body of knowledge.  But, my gallery and
editor loads quickly so it was worth it.

More information about the Dojo-interest mailing list