Opened on 06/22/2017 at 06:36:32 PM
Closed on 07/06/2017 at 10:30:35 AM
Last modified on 07/06/2017 at 11:00:51 AM
#5346 closed defect (duplicate)
Cannot map dependency resource to non-existent directory
Reported by: | greiner | Assignee: | |
---|---|---|---|
Priority: | Unknown | Milestone: | |
Module: | Automation | Keywords: | |
Cc: | sebastian, trev | Blocked By: | |
Blocking: | Platform: | Unknown / Cross platform | |
Ready: | no | Confidential: | no |
Tester: | Unknown | Verified working: | no |
Review URL(s): |
Description
Environment
Ubuntu 16.04
How to reproduce
- Replace i18n.js = adblockplusui/i18n.js in "adblockpluschrome/metadata.chrome" with foo/i18n.js = adblockplusui/i18n.js
- Run build.py -t chrome devenv
Observed behaviour
The "devenv.chrome" directory doesn't contain the directory "foo".
Expected behaviour
The "devenv.chrome" directory contains the directory "foo" which contains the file "i18n.js".
Attachments (0)
Change History (5)
comment:1 Changed on 06/23/2017 at 01:15:16 PM by sebastian
- Cc trev added
comment:2 Changed on 07/06/2017 at 10:29:30 AM by kzar
I'm pretty sure I opened a codereview to fix this some time ago, let me see if I can find it.
comment:3 Changed on 07/06/2017 at 10:30:35 AM by sebastian
- Resolution set to duplicate
- Status changed from new to closed
I'm not aware of any code review, but this seems to be a duplicate of #3967.
comment:4 Changed on 07/06/2017 at 10:41:36 AM by kzar
Looks like I forgot to add the codereview to that issue originally, I've found it and added it now.
comment:5 Changed on 07/06/2017 at 11:00:51 AM by trev
We use the whitelist approach for packaging so that we don't package up unrelated content by mistake (devenv, buildtools, some test data). This concern doesn't apply to mapped files however, so directories for mapped files should always be created.
This is because only a hard-coded list of directories make it into the build and mappings to non-existing directories are ignored rather than creating that directory. From the top of my head, I cannot think of any reason why it was implemented this way, other than perhaps to simplify the logic.
trev, do you remember any reason, why we should keep that logic?