diff --git a/composer.lock b/composer.lock index 5573c46e..1436cf0c 100644 --- a/composer.lock +++ b/composer.lock @@ -680,16 +680,16 @@ }, { "name": "consolidation/annotated-command", - "version": "4.10.0", + "version": "4.10.1", "source": { "type": "git", "url": "https://github.com/consolidation/annotated-command.git", - "reference": "1e830ba908c9ffb1ba7ca056203531b27188812c" + "reference": "362310b13ececa9f6f0a4a880811fa08fecc348b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/1e830ba908c9ffb1ba7ca056203531b27188812c", - "reference": "1e830ba908c9ffb1ba7ca056203531b27188812c", + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/362310b13ececa9f6f0a4a880811fa08fecc348b", + "reference": "362310b13ececa9f6f0a4a880811fa08fecc348b", "shasum": "" }, "require": { @@ -730,9 +730,9 @@ "description": "Initialize Symfony Console commands from annotated command class methods.", "support": { "issues": "https://github.com/consolidation/annotated-command/issues", - "source": "https://github.com/consolidation/annotated-command/tree/4.10.0" + "source": "https://github.com/consolidation/annotated-command/tree/4.10.1" }, - "time": "2024-04-05T21:05:39+00:00" + "time": "2024-12-13T19:55:40+00:00" }, { "name": "consolidation/config", @@ -1080,16 +1080,16 @@ }, { "name": "consolidation/site-alias", - "version": "4.1.0", + "version": "4.1.1", "source": { "type": "git", "url": "https://github.com/consolidation/site-alias.git", - "reference": "1056ceb93f6aafe6f7600d7bbe1b62b8488abccf" + "reference": "aff6189aae17da813d23249cb2fc0fff33f26d40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/site-alias/zipball/1056ceb93f6aafe6f7600d7bbe1b62b8488abccf", - "reference": "1056ceb93f6aafe6f7600d7bbe1b62b8488abccf", + "url": "https://api.github.com/repos/consolidation/site-alias/zipball/aff6189aae17da813d23249cb2fc0fff33f26d40", + "reference": "aff6189aae17da813d23249cb2fc0fff33f26d40", "shasum": "" }, "require": { @@ -1133,22 +1133,22 @@ "description": "Manage alias records for local and remote sites.", "support": { "issues": "https://github.com/consolidation/site-alias/issues", - "source": "https://github.com/consolidation/site-alias/tree/4.1.0" + "source": "https://github.com/consolidation/site-alias/tree/4.1.1" }, - "time": "2024-04-05T15:58:04+00:00" + "time": "2024-12-13T19:05:11+00:00" }, { "name": "consolidation/site-process", - "version": "5.4.0", + "version": "5.4.2", "source": { "type": "git", "url": "https://github.com/consolidation/site-process.git", - "reference": "7ab3ffe4195a89b8dc334ea22e7881abe79ffd9a" + "reference": "e7fafc40ebfddc1a5ee99ee66e5d186fc1bed4da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/site-process/zipball/7ab3ffe4195a89b8dc334ea22e7881abe79ffd9a", - "reference": "7ab3ffe4195a89b8dc334ea22e7881abe79ffd9a", + "url": "https://api.github.com/repos/consolidation/site-process/zipball/e7fafc40ebfddc1a5ee99ee66e5d186fc1bed4da", + "reference": "e7fafc40ebfddc1a5ee99ee66e5d186fc1bed4da", "shasum": "" }, "require": { @@ -1190,9 +1190,9 @@ "description": "A thin wrapper around the Symfony Process Component that allows applications to use the Site Alias library to specify the target for a remote call.", "support": { "issues": "https://github.com/consolidation/site-process/issues", - "source": "https://github.com/consolidation/site-process/tree/5.4.0" + "source": "https://github.com/consolidation/site-process/tree/5.4.2" }, - "time": "2024-04-06T00:00:28+00:00" + "time": "2024-12-13T19:25:56+00:00" }, { "name": "cweagans/composer-patches", @@ -4308,16 +4308,16 @@ }, { "name": "drupal/hdbt", - "version": "6.8.21", + "version": "6.8.23", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-hdbt.git", - "reference": "cd8b74a7afc7ec488979a426809e5386383a3bef" + "reference": "b14bd481f81a0be27eaf3ab2a1db0c2a86c66511" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/cd8b74a7afc7ec488979a426809e5386383a3bef", - "reference": "cd8b74a7afc7ec488979a426809e5386383a3bef", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/b14bd481f81a0be27eaf3ab2a1db0c2a86c66511", + "reference": "b14bd481f81a0be27eaf3ab2a1db0c2a86c66511", "shasum": "" }, "require": { @@ -4336,10 +4336,10 @@ "Drupal" ], "support": { - "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.8.21", + "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.8.23", "issues": "https://github.com/City-of-Helsinki/drupal-hdbt/issues" }, - "time": "2024-12-13T08:38:26+00:00" + "time": "2024-12-17T07:20:53+00:00" }, { "name": "drupal/hdbt_admin", @@ -6299,7 +6299,11 @@ "homepage": "https://www.drupal.org/user/99012" }, { - "name": "Sheldon Rampton", + "name": "mably", + "homepage": "https://www.drupal.org/user/3375160" + }, + { + "name": "sheldon rampton", "homepage": "https://www.drupal.org/user/13085" }, { @@ -6379,17 +6383,17 @@ }, { "name": "drupal/raven", - "version": "6.0.12", + "version": "6.0.13", "source": { "type": "git", "url": "https://git.drupalcode.org/project/raven.git", - "reference": "6.0.12" + "reference": "6.0.13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/raven-6.0.12.zip", - "reference": "6.0.12", - "shasum": "5ba241ff4109be407cb9660a8743aad5a24b9fba" + "url": "https://ftp.drupal.org/files/projects/raven-6.0.13.zip", + "reference": "6.0.13", + "shasum": "7b92e693dae63859457ba734c57382511b91af86" }, "require": { "drupal/core": "^10.2 || ^11", @@ -6403,8 +6407,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "6.0.12", - "datestamp": "1733335477", + "version": "6.0.13", + "datestamp": "1734389510", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -7084,10 +7088,6 @@ "GPL-2.0+" ], "authors": [ - { - "name": "bartvig", - "homepage": "https://www.drupal.org/user/3107079" - }, { "name": "beltofte", "homepage": "https://www.drupal.org/user/151799" @@ -7104,6 +7104,10 @@ "name": "kreynen", "homepage": "https://www.drupal.org/user/48877" }, + { + "name": "mortenthorpe", + "homepage": "https://www.drupal.org/user/870762" + }, { "name": "rofejo", "homepage": "https://www.drupal.org/user/3284851" @@ -8504,16 +8508,16 @@ }, { "name": "fileeye/mimemap", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/FileEye/MimeMap.git", - "reference": "c8c686cc6f77316b23128a83334877debf645dfb" + "reference": "f37ea54dab6f286dd37d937c069b80b601003df0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FileEye/MimeMap/zipball/c8c686cc6f77316b23128a83334877debf645dfb", - "reference": "c8c686cc6f77316b23128a83334877debf645dfb", + "url": "https://api.github.com/repos/FileEye/MimeMap/zipball/f37ea54dab6f286dd37d937c069b80b601003df0", + "reference": "f37ea54dab6f286dd37d937c069b80b601003df0", "shasum": "" }, "require": { @@ -8556,9 +8560,9 @@ ], "support": { "issues": "https://github.com/FileEye/MimeMap/issues", - "source": "https://github.com/FileEye/MimeMap/tree/2.2.0" + "source": "https://github.com/FileEye/MimeMap/tree/2.2.1" }, - "time": "2024-10-20T18:59:36+00:00" + "time": "2024-12-16T19:03:35+00:00" }, { "name": "fileeye/pel", @@ -11814,16 +11818,16 @@ }, { "name": "stomp-php/stomp-php", - "version": "5.1.0", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/stomp-php/stomp-php.git", - "reference": "cf1fbd79cf48b9701909e42205f1d968cec6ff7a" + "reference": "942d93563eefc9dee40e836e594ee16dd08653f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stomp-php/stomp-php/zipball/cf1fbd79cf48b9701909e42205f1d968cec6ff7a", - "reference": "cf1fbd79cf48b9701909e42205f1d968cec6ff7a", + "url": "https://api.github.com/repos/stomp-php/stomp-php/zipball/942d93563eefc9dee40e836e594ee16dd08653f0", + "reference": "942d93563eefc9dee40e836e594ee16dd08653f0", "shasum": "" }, "require": { @@ -11871,7 +11875,7 @@ ], "support": { "issues": "https://github.com/stomp-php/stomp-php/issues", - "source": "https://github.com/stomp-php/stomp-php/tree/5.1.0" + "source": "https://github.com/stomp-php/stomp-php/tree/5.1.1" }, "funding": [ { @@ -11883,7 +11887,7 @@ "type": "github" } ], - "time": "2023-06-19T17:34:28+00:00" + "time": "2024-12-13T08:48:49+00:00" }, { "name": "symfony/console", @@ -19988,7 +19992,7 @@ }, "prefer-stable": true, "prefer-lowest": false, - "platform": [], - "platform-dev": [], + "platform": {}, + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/conf/cmi/core.entity_form_display.node.news_item.default.yml b/conf/cmi/core.entity_form_display.node.news_item.default.yml index ff36e900..ac0124c1 100644 --- a/conf/cmi/core.entity_form_display.node.news_item.default.yml +++ b/conf/cmi/core.entity_form_display.node.news_item.default.yml @@ -200,9 +200,9 @@ content: third_party_settings: { } simple_sitemap: weight: 10 + region: content settings: { } third_party_settings: { } - region: content status: type: boolean_checkbox weight: 14 diff --git a/conf/cmi/core.entity_form_display.tpr_unit.tpr_unit.default.yml b/conf/cmi/core.entity_form_display.tpr_unit.tpr_unit.default.yml index 9cb31229..1b37a2f8 100644 --- a/conf/cmi/core.entity_form_display.tpr_unit.tpr_unit.default.yml +++ b/conf/cmi/core.entity_form_display.tpr_unit.tpr_unit.default.yml @@ -133,6 +133,16 @@ content: allowed_formats: hide_help: '1' hide_guidelines: '1' + field_categories: + type: readonly_field_widget + weight: 39 + region: content + settings: + label: above + formatter_type: null + formatter_settings: { } + show_description: false + third_party_settings: { } field_content: type: paragraphs weight: 31 @@ -152,6 +162,16 @@ content: collapse_edit_all: collapse_edit_all duplicate: duplicate third_party_settings: { } + field_hs_front_page: + type: entity_reference_autocomplete + weight: 31 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } field_lower_content: type: paragraphs weight: 33 @@ -179,6 +199,16 @@ content: sidebar: false use_details: true third_party_settings: { } + field_ontologyword_details: + type: readonly_field_widget + weight: 40 + region: content + settings: + label: above + formatter_type: null + formatter_settings: { } + show_description: false + third_party_settings: { } field_phone_label: type: string_textfield weight: 11 @@ -194,6 +224,16 @@ content: settings: display_label: true third_party_settings: { } + field_study_field: + type: select2_entity_reference + weight: 31 + region: content + settings: + width: 100% + autocomplete: false + match_operator: CONTAINS + match_limit: 10 + third_party_settings: { } field_unit_type: type: entity_reference_autocomplete weight: 34 @@ -204,6 +244,13 @@ content: size: 60 placeholder: '' third_party_settings: { } + hide_description: + type: boolean_checkbox + weight: 18 + region: content + settings: + display_label: true + third_party_settings: { } hide_sidebar_navigation: type: boolean_checkbox weight: 35 @@ -391,6 +438,16 @@ content: formatter_settings: { } show_description: false third_party_settings: { } + subgroup: + type: readonly_field_widget + weight: 40 + region: content + settings: + label: above + formatter_type: null + formatter_settings: { } + show_description: false + third_party_settings: { } toc_enabled: type: boolean_checkbox weight: 3 @@ -439,63 +496,6 @@ content: formatter_settings: { } show_description: false third_party_settings: { } - field_categories: - type: readonly_field_widget - weight: 39 - region: content - settings: - label: above - formatter_type: null - formatter_settings: { } - show_description: false - third_party_settings: { } - field_hs_front_page: - type: entity_reference_autocomplete - weight: 31 - region: content - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - field_ontologyword_details: - type: readonly_field_widget - weight: 40 - region: content - settings: - label: above - formatter_type: null - formatter_settings: { } - show_description: false - third_party_settings: { } - field_study_field: - type: select2_entity_reference - weight: 31 - region: content - settings: - width: 100% - autocomplete: false - match_operator: CONTAINS - match_limit: 10 - third_party_settings: { } - hide_description: - type: boolean_checkbox - weight: 18 - region: content - settings: - display_label: true - third_party_settings: { } - subgroup: - type: readonly_field_widget - weight: 40 - region: content - settings: - label: above - formatter_type: null - formatter_settings: { } - show_description: false - third_party_settings: { } hidden: created: true field_districts: true diff --git a/conf/cmi/core.entity_view_display.paragraph.hearings.default.yml b/conf/cmi/core.entity_view_display.paragraph.hearings.default.yml index 0ac0a219..5bbb1379 100644 --- a/conf/cmi/core.entity_view_display.paragraph.hearings.default.yml +++ b/conf/cmi/core.entity_view_display.paragraph.hearings.default.yml @@ -31,9 +31,9 @@ content: weight: 0 region: content list: - weight: 100 settings: { } third_party_settings: { } + weight: 100 region: content hidden: search_api_excerpt: true diff --git a/conf/cmi/core.entity_view_display.tpr_unit.tpr_unit.default.yml b/conf/cmi/core.entity_view_display.tpr_unit.tpr_unit.default.yml index ed526f65..54be6119 100644 --- a/conf/cmi/core.entity_view_display.tpr_unit.tpr_unit.default.yml +++ b/conf/cmi/core.entity_view_display.tpr_unit.tpr_unit.default.yml @@ -143,6 +143,13 @@ content: third_party_settings: { } weight: 17 region: content + field_ontologyword_details: + type: tpr_ontologyword_details_formatter + label: hidden + settings: { } + third_party_settings: { } + weight: 28 + region: content field_phone_label: type: string label: hidden @@ -280,6 +287,13 @@ content: third_party_settings: { } weight: 16 region: content + subgroup: + type: tpr_connection + label: hidden + settings: { } + third_party_settings: { } + weight: 32 + region: content toc_enabled: type: boolean label: hidden @@ -316,20 +330,6 @@ content: third_party_settings: { } weight: 12 region: content - field_ontologyword_details: - type: tpr_ontologyword_details_formatter - label: hidden - settings: { } - third_party_settings: { } - weight: 28 - region: content - subgroup: - type: tpr_connection - label: hidden - settings: { } - third_party_settings: { } - weight: 32 - region: content hidden: created: true field_categories: true diff --git a/conf/cmi/external_entities.external_entity_type.helfi_hearings.yml b/conf/cmi/external_entities.external_entity_type.helfi_hearings.yml index 3f869df9..d76c3c65 100644 --- a/conf/cmi/external_entities.external_entity_type.helfi_hearings.yml +++ b/conf/cmi/external_entities.external_entity_type.helfi_hearings.yml @@ -8,8 +8,8 @@ id: helfi_hearings label: 'Helfi: Hearing' label_plural: 'Helfi: Hearing' description: 'Helfi hearings from hearing api.' -generate_aliases: false read_only: true +generate_aliases: false field_mapper_id: jsonpath field_mapper_config: field_mappings: diff --git a/conf/cmi/external_entities.external_entity_type.helfi_news.yml b/conf/cmi/external_entities.external_entity_type.helfi_news.yml index 40628c11..c4981e6f 100644 --- a/conf/cmi/external_entities.external_entity_type.helfi_news.yml +++ b/conf/cmi/external_entities.external_entity_type.helfi_news.yml @@ -8,8 +8,8 @@ id: helfi_news label: 'Helfi: News' label_plural: 'Helfi: News' description: '' -generate_aliases: false read_only: true +generate_aliases: false field_mapper_id: jsonpath field_mapper_config: field_mappings: diff --git a/conf/cmi/external_entities.external_entity_type.helfi_news_groups.yml b/conf/cmi/external_entities.external_entity_type.helfi_news_groups.yml index 6dd9064e..b244990a 100644 --- a/conf/cmi/external_entities.external_entity_type.helfi_news_groups.yml +++ b/conf/cmi/external_entities.external_entity_type.helfi_news_groups.yml @@ -8,8 +8,8 @@ id: helfi_news_groups label: 'Helfi: News groups' label_plural: 'Helfi: News groups' description: 'Retrieves news groups taxonomy terms from Helfi' -generate_aliases: null read_only: true +generate_aliases: null field_mapper_id: jsonpath field_mapper_config: field_mappings: diff --git a/conf/cmi/external_entities.external_entity_type.helfi_news_neighbourhoods.yml b/conf/cmi/external_entities.external_entity_type.helfi_news_neighbourhoods.yml index 99926dd9..7543c876 100644 --- a/conf/cmi/external_entities.external_entity_type.helfi_news_neighbourhoods.yml +++ b/conf/cmi/external_entities.external_entity_type.helfi_news_neighbourhoods.yml @@ -8,8 +8,8 @@ id: helfi_news_neighbourhoods label: 'Helfi: News neighbourhoods' label_plural: 'Helfi: News neighbourhoods' description: 'Retrieves news neighbourhoods taxonomy terms from Helfi' -generate_aliases: null read_only: true +generate_aliases: null field_mapper_id: jsonpath field_mapper_config: field_mappings: diff --git a/conf/cmi/external_entities.external_entity_type.helfi_news_tags.yml b/conf/cmi/external_entities.external_entity_type.helfi_news_tags.yml index bba0a9d0..4bd3e4a3 100644 --- a/conf/cmi/external_entities.external_entity_type.helfi_news_tags.yml +++ b/conf/cmi/external_entities.external_entity_type.helfi_news_tags.yml @@ -8,8 +8,8 @@ id: helfi_news_tags label: 'Helfi: News tags' label_plural: 'Helfi: News tags' description: 'Retrieves news tags taxonomy terms from Helfi' -generate_aliases: null read_only: true +generate_aliases: null field_mapper_id: jsonpath field_mapper_config: field_mappings: diff --git a/conf/cmi/field.storage.node.field_news_item_links_title.yml b/conf/cmi/field.storage.node.field_news_item_links_title.yml index 99b3ffb3..d719111a 100644 --- a/conf/cmi/field.storage.node.field_news_item_links_title.yml +++ b/conf/cmi/field.storage.node.field_news_item_links_title.yml @@ -12,8 +12,8 @@ entity_type: node type: string settings: max_length: 255 - is_ascii: false case_sensitive: false + is_ascii: false module: core locked: false cardinality: 1 diff --git a/conf/cmi/field.storage.node.field_short_title.yml b/conf/cmi/field.storage.node.field_short_title.yml index 18c9297d..4e7636f7 100644 --- a/conf/cmi/field.storage.node.field_short_title.yml +++ b/conf/cmi/field.storage.node.field_short_title.yml @@ -12,8 +12,8 @@ entity_type: node type: string settings: max_length: 255 - is_ascii: false case_sensitive: false + is_ascii: false module: core locked: false cardinality: 1 diff --git a/conf/cmi/views.view.er_tpr_unit.yml b/conf/cmi/views.view.er_tpr_unit.yml index 4e54a190..5bdfdb2a 100644 --- a/conf/cmi/views.view.er_tpr_unit.yml +++ b/conf/cmi/views.view.er_tpr_unit.yml @@ -91,6 +91,7 @@ display: type: mini options: offset: 0 + pagination_heading_level: h4 items_per_page: 10 total_pages: null id: 0 @@ -105,7 +106,6 @@ display: items_per_page_options_all_label: '- All -' offset: false offset_label: Offset - pagination_heading_level: h4 exposed_form: type: basic options: diff --git a/conf/cmi/views.view.locked_services.yml b/conf/cmi/views.view.locked_services.yml index 65c6d42a..aacb060e 100644 --- a/conf/cmi/views.view.locked_services.yml +++ b/conf/cmi/views.view.locked_services.yml @@ -381,6 +381,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 @@ -398,7 +399,6 @@ display: offset: false offset_label: Offset quantity: 9 - pagination_heading_level: h4 exposed_form: type: basic options: diff --git a/conf/cmi/views.view.locked_units.yml b/conf/cmi/views.view.locked_units.yml index ca6f6924..962da4e4 100644 --- a/conf/cmi/views.view.locked_units.yml +++ b/conf/cmi/views.view.locked_units.yml @@ -381,6 +381,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 50 total_pages: null id: 0 @@ -398,7 +399,6 @@ display: offset: false offset_label: Offset quantity: 9 - pagination_heading_level: h4 exposed_form: type: basic options: diff --git a/conf/cmi/views.view.service_list.yml b/conf/cmi/views.view.service_list.yml index 106e85a6..ad00a470 100644 --- a/conf/cmi/views.view.service_list.yml +++ b/conf/cmi/views.view.service_list.yml @@ -109,6 +109,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 4 total_pages: null id: 0 @@ -126,7 +127,6 @@ display: offset: false offset_label: Offset quantity: 9 - pagination_heading_level: h4 exposed_form: type: basic options: @@ -646,6 +646,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 5 total_pages: null id: 0 @@ -663,7 +664,6 @@ display: offset: false offset_label: Offset quantity: 9 - pagination_heading_level: h4 exposed_form: type: basic options: diff --git a/conf/cmi/views.view.service_units.yml b/conf/cmi/views.view.service_units.yml index 3684c3d6..1acf4be6 100644 --- a/conf/cmi/views.view.service_units.yml +++ b/conf/cmi/views.view.service_units.yml @@ -93,6 +93,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 8 total_pages: null id: 0 @@ -110,7 +111,6 @@ display: offset: false offset_label: Offset quantity: 9 - pagination_heading_level: h4 exposed_form: type: basic options: diff --git a/conf/cmi/views.view.unit_search.yml b/conf/cmi/views.view.unit_search.yml index e5367958..949623f5 100644 --- a/conf/cmi/views.view.unit_search.yml +++ b/conf/cmi/views.view.unit_search.yml @@ -286,6 +286,7 @@ display: type: full options: offset: 0 + pagination_heading_level: h4 items_per_page: 15 total_pages: null id: 0 @@ -303,7 +304,6 @@ display: offset: false offset_label: Offset quantity: 9 - pagination_heading_level: h4 exposed_form: type: basic options: diff --git a/tools/make/project/git.mk b/tools/make/project/git.mk index 50b03e87..c598f4d7 100644 --- a/tools/make/project/git.mk +++ b/tools/make/project/git.mk @@ -1,3 +1,3 @@ PHONY += copy-commit-message-script copy-commit-message-script: - @$(foreach name,$(shell find public/modules/custom public/themes/custom public/modules/contrib public/themes/contrib -type d -name ".git" -exec dirname {} \; 2> /dev/null ) .,cp tools/commit-msg $(name)/.git/hooks || true;) + @$(foreach name,$(shell find . -type d -name ".git" -exec dirname {} \; 2> /dev/null ),cp tools/commit-msg $(name)/.git/hooks;)