Closed Bug 1255359 Opened 4 years ago Closed 4 years ago
Figure out how to put dom/plugins/test/testplugin/ in moz
58 bytes, text/x-review-board-request
We've got a set of Makefiles that build various test plugins, all cargo-culted from the original: https://hg.mozilla.org/mozilla-central/file/af7c0cb0798f5425d5d344cbaf0ac0ecb1a72a86/dom/plugins/test/testplugin/Makefile.in https://hg.mozilla.org/mozilla-central/file/af7c0cb0798f5425d5d344cbaf0ac0ecb1a72a86/dom/plugins/test/testplugin/flashplugin/Makefile.in https://hg.mozilla.org/mozilla-central/file/af7c0cb0798f5425d5d344cbaf0ac0ecb1a72a86/dom/plugins/test/testplugin/javaplugin/Makefile.in https://hg.mozilla.org/mozilla-central/file/af7c0cb0798f5425d5d344cbaf0ac0ecb1a72a86/dom/plugins/test/testplugin/silverlightplugin/Makefile.in https://hg.mozilla.org/mozilla-central/file/af7c0cb0798f5425d5d344cbaf0ac0ecb1a72a86/dom/plugins/test/testplugin/thirdplugin/Makefile.in https://hg.mozilla.org/mozilla-central/file/af7c0cb0798f5425d5d344cbaf0ac0ecb1a72a86/dom/plugins/test/testplugin/secondplugin/Makefile.in They all include this common Makefile: https://hg.mozilla.org/mozilla-central/file/af7c0cb0798f5425d5d344cbaf0ac0ecb1a72a86/dom/plugins/test/testplugin/testplugin.mk On everything but OS X, it simply copies the shared library to $DIST/plugins, which could be accomplished by setting FINAL_TARGET. On OS X it copies the shared library to $(DIST)/plugins/$(COCOA_NAME).plugin/Contents/MacOS (where $COCOA_NAME is set per-Makefile), but also copies an Info.plist file to $(DIST)/plugins/$(COCOA_NAME).plugin/Contents/. I guess if we had a fix for bug 1223748 we could use that and this would be straightforward. There's already also a common.mozbuild that we could shoehorn this into: https://hg.mozilla.org/mozilla-central/file/af7c0cb0798f5425d5d344cbaf0ac0ecb1a72a86/dom/plugins/test/testplugin/testplugin.mk
It's not too terrible to use OBJDIR_FILES for the Info.plist file, so I think we can kill this now.
Assignee: nobody → mshal
Review commit: https://reviewboard.mozilla.org/r/43917/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/43917/
Attachment #8737352 - Flags: review?(ted)
Comment on attachment 8737352 [details] MozReview Request: Bug 1255359 - Remove testplugin.mk; r?ted https://reviewboard.mozilla.org/r/43917/#review43721 ::: dom/plugins/test/testplugin/testplugin.mozbuild:78 (Diff revision 1) > # conversion from 'X' to 'Y' requires a narrowing conversion > CXXFLAGS += ['-wd4838'] > + > +if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': > + FINAL_TARGET = 'dist/plugins/%s.plugin/Contents/MacOS' % cocoa_name > + OBJDIR_FILES.dist.plugins['%s.plugin' % cocoa_name].Contents += ['Info.plist'] I sure don't love this, but it's better than the Makefile.
Attachment #8737352 - Flags: review?(ted) → review+
Backed out in https://hg.mozilla.org/mozilla-central/rev/cb65ec85049efa44b18e2e8d06af26768c3bfb94. I think what happened was that we merged around something which was busted without a clobber, so we clobbered m-i and f-t, and once we got Mac clobber builds, they hadn't packaged test plugins, so they did things like https://treeherder.mozilla.org/logviewer.html#?job_id=26068019&repo=mozilla-inbound and https://treeherder.mozilla.org/logviewer.html#?job_id=26068023&repo=mozilla-inbound and https://treeherder.mozilla.org/logviewer.html#?job_id=26073561&repo=mozilla-inbound and cetera.
The problem was with this line: OBJDIR_FILES.dist.plugins['%s.plugin' % cocoa_name].Contents += ['Info.plist'] It ends up copying the Info.plist file from dom/plugins/test/testplugin into each of the subdirectories, rather than secondplugin/Info.plist, thirdplugin/Info.plist, etc. So we just end up with several copies of the same file, which is obviously wrong. We already have 'relative_path' for this, so the line should be: OBJDIR_FILES.dist.plugins['%s.plugin' % cocoa_name].Contents += ['%s/Info.plist' % relative_path] try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=240f2515dd8a
You need to log in before you can comment on or make changes to this bug.