Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"[overwrite] = TRUE" for zip file with Drush 5 overwrites instead of merging as in Drush make 2.3 #295

Closed
j0natan opened this issue Nov 28, 2013 · 8 comments

Comments

@j0natan
Copy link

j0natan commented Nov 28, 2013

Hi,

"[overwrite] = TRUE" in makefile for zip file with Drush 5 overwrites instead of merging as in Drush make 2.3

It's not merging with Drush 5.10.0.
It was merging fine with Drush 4.5 and Drush make 2.3.
It affects zip file. It does not affect downloading a single file.

Here is an example of the objective:

libraries[kplatforms_tinymce][directory_name] = tinymce
libraries[kplatforms_tinymce][download][type] = get
libraries[kplatforms_tinymce][download][url] = https://github.com/downloads/tinymce/tinymce/tinymce_3.4.9_jquery.zip
libraries[kplatforms_tinymce_fr][directory_name] = tinymce
libraries[kplatforms_tinymce_fr][download][type] = get
libraries[kplatforms_tinymce_fr][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dfr%26pr_id%3D7%26la_export%3Djs
libraries[kplatforms_tinymce_fr][overwrite] = TRUE

Original issue:
https://drupal.org/node/2131945

May be related to:
https://drupal.org/node/1134326: Allow a DrushMakeProject to be installed in a non empty directory (Port to Drush 5)
https://drupal.org/node/628198: Allow library downloads into a directory that already exists
https://drupal.org/node/1539076: drush make overrides modules folder with downloaded modules

@sluc23
Copy link

sluc23 commented Mar 11, 2014

the issue is still present, any update on this?

@robincee
Copy link

robincee commented Apr 28, 2015

Yes it is. Current 7.x HEAD and 6.x both have the same issue.

Edit:
Added updated make file with 1 change, the target folder.

; This file was auto-generated by drush make
core = 7.x
api = 2

; Core
projects[drupal][version] = "7.36"

libraries[tinymce][type] = "library"
libraries[tinymce][directory_name] = "tinymce"
libraries[tinymce][download][type] = "file"
libraries[tinymce][download][url] = "http://download.moxiecode.com/tinymce/tinymce_3.5.11.zip"

libraries[tinymce_nl][type] = "library"
; The folder the archive needs to be extracted / merged into.
libraries[tinymce_nl][directory_name] = tinymce/jscripts/tiny_mce
libraries[tinymce_nl][download][type] = get
; 
libraries[tinymce_nl][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl][overwrite] = TRUE

@ergonlogic
Copy link
Member

ergonlogic commented Sep 15, 2015

Drush 5 is no longer supported: http://docs.drush.org/en/master/install/

Feel free to open a new issue is you find this behaviour still exists in a supported version.

@ergonlogic
Copy link
Member

ergonlogic commented Sep 16, 2015

Oops, I missed the update above.

@ergonlogic
Copy link
Member

ergonlogic commented Sep 16, 2015

Try the "destination" parameter, instead of a sub-directory in "directory name", as we've done in https://github.com/nditech/hosting_ndi/blob/7.x-1.x/drush/makefiles/ndi.make.

@ergonlogic
Copy link
Member

ergonlogic commented Sep 16, 2015

The underlying problem here is that tinymce is shipping an archive with directories that contain multiple translation file. As a result, these need to be deployed throughout a tinymce codebase. In tinymce 4+, it looks like they've reduced this to a single file, which'll simplify things.

So, for the main tinymce translation, this appears to work:

core = 7.x
api = 2

; Core
projects[drupal][version] = "7.36"

; Libraries

libraries[tinymce][type] = "library"
libraries[tinymce][directory_name] = "tinymce"
libraries[tinymce][download][type] = "file"
libraries[tinymce][download][url] = "http://download.moxiecode.com/tinymce/tinymce_3.5.11.zip"

libraries[tinymce_nl][download][type] = get
libraries[tinymce_nl][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
; The folder the translation file needs to be extracted into
libraries[tinymce_nl][destination] = libraries/tinymce/jscripts/tiny_mce/langs/
; The path to the translation file within the archive
libraries[tinymce_nl][download][subtree] = "tinymce_language_pack/langs/nl.js"
; The name of the resulting file (otherwise this'll be "tinymce_nl"
libraries[tinymce_nl][directory_name] = "nl.js"

Unfortunately, for each theme and plugin, a similar entry to "tinymce_nl" will be required.

@robincee
Copy link

robincee commented Sep 16, 2015

I can confirm this last idea works. It's not a neat thing, but it does work.

Complete example for basic package + dutch (NL) language:

core = 7.x
api = 2

; Core
projects[drupal][version] = "7.39"

; Libraries
libraries[tinymce][type] = "library"
libraries[tinymce][directory_name] = "tinymce"
libraries[tinymce][download][type] = "file"
libraries[tinymce][download][url] = "http://download.moxiecode.com/tinymce/tinymce_3.5.11.zip"

; Main editor NL language file.
libraries[tinymce_nl][download][type] = get
libraries[tinymce_nl][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl][destination] = libraries/tinymce/jscripts/tiny_mce/langs/
libraries[tinymce_nl][download][subtree] = "tinymce_language_pack/langs/nl.js"
libraries[tinymce_nl][directory_name] = "nl.js"

; Plugins
libraries[tinymce_nl_advhr][download][type] = get
libraries[tinymce_nl_advhr][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_advhr][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/advhr/langs
libraries[tinymce_nl_advhr][download][subtree] = "tinymce_language_pack/plugins/advhr/langs/nl_dlg.js"
libraries[tinymce_nl_advhr][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_advimage][download][type] = get
libraries[tinymce_nl_advimage][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_advimage][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/advimage/langs
libraries[tinymce_nl_advimage][download][subtree] = "tinymce_language_pack/plugins/advimage/langs/nl_dlg.js"
libraries[tinymce_nl_advimage][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_advlink][download][type] = get
libraries[tinymce_nl_advlink][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_advlink][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/advlink/langs
libraries[tinymce_nl_advlink][download][subtree] = "tinymce_language_pack/plugins/advlink/langs/nl_dlg.js"
libraries[tinymce_nl_advlink][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_emotions][download][type] = get
libraries[tinymce_nl_emotions][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_emotions][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/emotions/langs
libraries[tinymce_nl_emotions][download][subtree] = "tinymce_language_pack/plugins/emotions/langs/nl_dlg.js"
libraries[tinymce_nl_emotions][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_fullpage][download][type] = get
libraries[tinymce_nl_fullpage][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_fullpage][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/fullpage/langs
libraries[tinymce_nl_fullpage][download][subtree] = "tinymce_language_pack/plugins/fullpage/langs/nl_dlg.js"
libraries[tinymce_nl_fullpage][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_media][download][type] = get
libraries[tinymce_nl_media][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_media][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/media/langs
libraries[tinymce_nl_media][download][subtree] = "tinymce_language_pack/plugins/media/langs/nl_dlg.js"
libraries[tinymce_nl_media][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_paste][download][type] = get
libraries[tinymce_nl_paste][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_paste][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/paste/langs
libraries[tinymce_nl_paste][download][subtree] = "tinymce_language_pack/plugins/paste/langs/nl_dlg.js"
libraries[tinymce_nl_paste][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_searchreplace][download][type] = get
libraries[tinymce_nl_searchreplace][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_searchreplace][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs
libraries[tinymce_nl_searchreplace][download][subtree] = "tinymce_language_pack/plugins/searchreplace/langs/nl_dlg.js"
libraries[tinymce_nl_searchreplace][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_style][download][type] = get
libraries[tinymce_nl_style][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_style][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/style/langs
libraries[tinymce_nl_style][download][subtree] = "tinymce_language_pack/plugins/style/langs/nl_dlg.js"
libraries[tinymce_nl_style][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_table][download][type] = get
libraries[tinymce_nl_table][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_table][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/table/langs
libraries[tinymce_nl_table][download][subtree] = "tinymce_language_pack/plugins/table/langs/nl_dlg.js"
libraries[tinymce_nl_table][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_template][download][type] = get
libraries[tinymce_nl_template][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_template][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/template/langs
libraries[tinymce_nl_template][download][subtree] = "tinymce_language_pack/plugins/template/langs/nl_dlg.js"
libraries[tinymce_nl_template][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_xhtmlxtras][download][type] = get
libraries[tinymce_nl_xhtmlxtras][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_xhtmlxtras][destination] = libraries/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs
libraries[tinymce_nl_xhtmlxtras][download][subtree] = "tinymce_language_pack/plugins/xhtmlxtras/langs/nl_dlg.js"
libraries[tinymce_nl_xhtmlxtras][directory_name] = "nl_dlg.js"

; Themes
libraries[tinymce_nl_advanced_main][download][type] = get
libraries[tinymce_nl_advanced_main][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_advanced_main][destination] = libraries/tinymce/jscripts/tiny_mce/themes/advanced/langs
libraries[tinymce_nl_advanced_main][download][subtree] = "tinymce_language_pack/themes/advanced/langs/nl.js"
libraries[tinymce_nl_advanced_main][directory_name] = "nl.js"

libraries[tinymce_nl_advanced][download][type] = get
libraries[tinymce_nl_advanced][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_advanced][destination] = libraries/tinymce/jscripts/tiny_mce/themes/advanced/langs
libraries[tinymce_nl_advanced][download][subtree] = "tinymce_language_pack/themes/advanced/langs/nl_dlg.js"
libraries[tinymce_nl_advanced][directory_name] = "nl_dlg.js"

libraries[tinymce_nl_simple][download][type] = get
libraries[tinymce_nl_simple][download][url] = http://www.tinymce.com/i18n3x/index.php%3Fctrl%3Dexport%26act%3Dzip%26la%5B%5D%3Dnl%26pr_id%3D7%26la_export%3Djs
libraries[tinymce_nl_simple][destination] = libraries/tinymce/jscripts/tiny_mce/themes/simple/langs
libraries[tinymce_nl_simple][download][subtree] = "tinymce_language_pack/themes/simple/langs/nl.js"
libraries[tinymce_nl_simple][directory_name] = "nl.js"

@ergonlogic
Copy link
Member

ergonlogic commented Sep 17, 2015

[overwrite] appears to work as documented. So, I'm closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants