Opened 8 years ago

Closed 8 years ago

#13804 closed defect (worksforme)

Beta 5: Inline stylesheets in build fail

Reported by: iCanDo Owned by: Rawld Gill
Priority: high Milestone: 1.7
Component: BuildSystem Version: 1.7.0b1
Keywords: Cc: Colin Snover
Blocked By: Blocking:

Description

Inline stylesheets in build fail for "user" css files. It works in 1.7b1.

Attachments (2)

my.zip (830 bytes) - added by Rawld Gill 8 years ago.
example of attempted repro
test_case.zip (1.3 KB) - added by iCanDo 8 years ago.

Download all attachments as: .zip

Change History (13)

comment:1 Changed 8 years ago by Rawld Gill

Status: newassigned

can you give me a reproducible case

comment:2 in reply to:  1 ; Changed 8 years ago by iCanDo

Replying to rcgill:

can you give me a reproducible case

style.css

@import url('../../dijit/themes/claro/ProgressBar.css');

/* ... */

dir structure:

dojo/
dijit/
my/css/style.css

@import works in the same folder, example:

@import url('my_list.css');

comment:3 Changed 8 years ago by ben hockey

Cc: Colin Snover added

@rawld is it possible that this might be related to the copyOnly flag in the profile? csnover was mentioning a similar problem where dojo/resources/dojo.css was not inlined during a build in this file https://github.com/rmurphey/dojo-boilerplate/blob/f0ca4d9d38f11be8bafd69ff32623d195669749e/src/js/app/resources/app.css and is planning to see if it can be fixed via a change to dojo.profile.js

comment:4 in reply to:  2 Changed 8 years ago by Rawld Gill

Replying to iCanDo:

Replying to rcgill:

can you give me a reproducible case

[snip]

Could not duplicate. I've attached a tree I used to attempt to duplicate (install it as a sibling of dojo just as you've indicated above. Run it with the command line:

./build.sh profileFile=../../my/my.profile.js

from the util/buildscripts directory

If you still believe there is an error, please attach a reduced but complete reproducible case.

Changed 8 years ago by Rawld Gill

Attachment: my.zip added

example of attempted repro

comment:5 Changed 8 years ago by Rawld Gill

Resolution: worksforme
Status: assignedclosed

Changed 8 years ago by iCanDo

Attachment: test_case.zip added

comment:6 Changed 8 years ago by iCanDo

Resolution: worksforme
Status: closedreopened

Sorry, dir structure was incorrect.

Dir structure:

dojo-src/dojo/
dojo-src/dijit/
my/

If i move the "my" dir one level up, the buildscript fails with:

exception: TypeError?: Cannot call method "split" of undefined

If "my" is sibling of dojo, it works.

please attach a reduced but complete reproducible case.

Example attached.

comment:7 in reply to:  6 Changed 8 years ago by Rawld Gill

Resolution: worksforme
Status: reopenedclosed

Replying to iCanDo:

Sorry, dir structure was incorrect.

Dir structure:

dojo-src/dojo/
dojo-src/dijit/
my/

If i move the "my" dir one level up, the buildscript fails with:

exception: TypeError?: Cannot call method "split" of undefined

If "my" is sibling of dojo, it works.

please attach a reduced but complete reproducible case.

Example attached.

Please reopen when you can attach a zip file with a couple of files to demo the problem. It should be easy to do and it is enormously time consuming for me to guess at what is going on.

comment:8 Changed 8 years ago by iCanDo

Resolution: worksforme
Status: closedreopened

Please reopen when you can attach a zip file with a couple of files to demo the problem.

See attached file test_case.zip, move the "my" folder as a sibling of dojo-src dir, copy the my.profile.js to the profiles dir and do a build (see build_cmd.txt).

comment:9 in reply to:  8 Changed 8 years ago by Rawld Gill

Resolution: invalid
Status: reopenedclosed

Replying to iCanDo:

Please reopen when you can attach a zip file with a couple of files to demo the problem.

See attached file test_case.zip, move the "my" folder as a sibling of dojo-src dir, copy the my.profile.js to the profiles dir and do a build (see build_cmd.txt).

The example doesn't make sense to me. The CSS at my/css/core.css includes the css import "../../dijit/themes/claro/ProgressBar.css". If my is installed as a sibling of the dojo source tree (that is, a sibling of of the parent of the dojo directory, let's call this dir "dtk"), then the import points to my/css/../../dijit/themes/claro/ProgressBase.css, which does not exist. If I change the import to ../../dtk/dijit/themes/claro/ProgressBase.css, then it works.

I assumed you intended for my to be a sibling of dtk as indicated above since the profile gives the prefix of ['my', '../../my'], which makes my a sibling of the parent of the dojo dir.

But let's assume that's a mistake. If I change the prefix to ["my", "../my"] and move the my directory to a sibling of dojo. This is works as given.

I do see an error in the way the layer name property is being handled in the current builder. That resolution is being tracked in #14010.

comment:10 Changed 8 years ago by iCanDo

Resolution: invalid
Status: closedreopened

The example doesn't make sense to me.

The example was constructed for simplicity.

The prefixes includes the following:

prefixes : [['my', 'c:/home/projects/main/web/home/www/inc/lib']]

The dojo-src folder exists under:

c:/data/lib/dojo-src

The old build system, creates from the profile the following release dir structure:

dojo/dojo/
dojo/dijit/
dojo/my/

comment:11 Changed 8 years ago by Rawld Gill

Resolution: worksforme
Status: reopenedclosed
  1. Did you pull a recent trunk?
  2. If so, and it's still not working for you, then you've got some path problems in your example.
  3. I was able to get your code to consume the css.
  4. I attached an example showing that.
  5. Please stop reopening this ticket unless you attach a simple, reduced case...not 'c:/home/projects/main/web/home/www/inc/lib'
Note: See TracTickets for help on using tickets.