Skip to content

fix: Ensure all headers in the same package have the same copyright year#8000

Closed
danieljbruce wants to merge 16 commits intomainfrom
copyright-year-linux
Closed

fix: Ensure all headers in the same package have the same copyright year#8000
danieljbruce wants to merge 16 commits intomainfrom
copyright-year-linux

Conversation

@danieljbruce
Copy link
Copy Markdown
Contributor

Description

Solves issue googleapis/librarian#4753. Ensures that all headers in files of the same package have the same copyright year. Files containing no copyright year also now have a copyright year as this was a related issue discovered by the testing script.

Impact

Assists with librarian migration from https://github.com/googleapis/librarian/milestone/88.

Testing

The root directory of google-cloud-node doesn't use CI tests, but I created a check-package-years.sh script in the bin folder that only succeeds if all header files have the same copyright year for every file in a given package.

@danieljbruce danieljbruce requested a review from a team as a code owner April 9, 2026 17:43
…into copyright-year-linux

# Conflicts:
#	bin/migrate-split-repo.sh
#	bin/split-repo-post-process.sh
#	core/common/.OwlBot.yaml
#	core/common/owlbot.py
#	core/dev-packages/jsdoc-fresh/owlbot.py
#	core/dev-packages/pack-n-play/owlbot.py
#	core/paginator/.OwlBot.yaml
#	handwritten/bigquery/owlbot.py
#	handwritten/bigtable/.OwlBot.yaml
#	handwritten/bigtable/.kokoro/lint.sh
#	handwritten/logging-bunyan/owlbot.py
#	handwritten/logging/system-test/fixtures/sample/src/index.ts
#	handwritten/spanner/.OwlBot.yaml
#	packages/gapic-node-processing/test/fixtures/combined-library/google-cloud-speech-nodejs/speech-v2-nodejs/src/v2/index.ts
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/ad_unit_enums.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/ad_unit_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/ad_unit_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/admanager_error.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/applied_label.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/company_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/company_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/contact_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_field_enums.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_field_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_field_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_field_value.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_targeting_key_enums.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_targeting_key_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_targeting_key_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_targeting_value_enums.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_targeting_value_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/custom_targeting_value_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/entity_signals_mapping_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/entity_signals_mapping_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/environment_type_enum.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/frequency_cap.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/label_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/network_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/network_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/order_enums.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/order_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/order_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/placement_enums.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/placement_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/placement_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/report_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/role_enums.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/role_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/role_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/size.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/size_type_enum.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/taxonomy_category_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/taxonomy_category_service.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/taxonomy_type_enum.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/team_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/time_unit_enum.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/user_messages.proto
#	packages/google-ads-admanager/protos/google/ads/admanager/v1/user_service.proto
#	packages/google-cloud-asset/protos/google/cloud/asset/v1p4beta1/asset_service.proto
#	packages/google-cloud-asset/protos/google/cloud/asset/v1p4beta1/assets.proto
#	packages/google-cloud-asset/src/v1p4beta1/asset_service_client.ts
#	packages/google-cloud-asset/test/gapic_asset_service_v1p4beta1.ts
#	packages/google-cloud-channel/.OwlBot.yaml
#	packages/google-cloud-channel/owlbot.py
#	packages/google-cloud-compute/.OwlBot.yaml
#	packages/google-cloud-confidentialcomputing/.OwlBot.yaml
#	packages/google-cloud-config/.OwlBot.yaml
#	packages/google-cloud-connectors/.OwlBot.yaml
#	packages/google-cloud-contactcenterinsights/.OwlBot.yaml
#	packages/google-cloud-contactcenterinsights/samples/quickstart.js
#	packages/google-cloud-contentwarehouse/.OwlBot.yaml
#	packages/google-cloud-datacatalog-lineage/.OwlBot.yaml
#	packages/google-cloud-datacatalog/owlbot.py
#	packages/google-cloud-dataform/.OwlBot.yaml
#	packages/google-cloud-dataform/samples/test/quickstart.js
#	packages/google-cloud-datafusion/.OwlBot.yaml
#	packages/google-cloud-datalabeling/.OwlBot.yaml
#	packages/google-cloud-dataplex/.OwlBot.yaml
#	packages/google-cloud-dataproc/.OwlBot.yaml
#	packages/google-cloud-dataqna/.OwlBot.yaml
#	packages/google-cloud-datastream/.OwlBot.yaml
#	packages/google-cloud-developerconnect/.OwlBot.yaml
#	packages/google-cloud-dialogflow-cx/.OwlBot.yaml
#	packages/google-cloud-discoveryengine/.OwlBot.yaml
#	packages/google-cloud-documentai/.OwlBot.yaml
#	packages/google-cloud-documentai/owlbot.py
#	packages/google-cloud-documentai/protos/google/cloud/documentai/v1beta1/document.proto
#	packages/google-cloud-documentai/protos/google/cloud/documentai/v1beta1/document_understanding.proto
#	packages/google-cloud-documentai/protos/google/cloud/documentai/v1beta1/geometry.proto
#	packages/google-cloud-documentai/protos/google/cloud/documentai/v1beta2/barcode.proto
#	packages/google-cloud-documentai/protos/google/cloud/documentai/v1beta2/document.proto
#	packages/google-cloud-documentai/protos/google/cloud/documentai/v1beta2/document_understanding.proto
#	packages/google-cloud-documentai/protos/google/cloud/documentai/v1beta2/geometry.proto
#	packages/google-cloud-documentai/src/v1beta1/document_understanding_service_client.ts
#	packages/google-cloud-documentai/src/v1beta2/document_understanding_service_client.ts
#	packages/google-cloud-documentai/test/gapic_document_understanding_service_v1beta1.ts
#	packages/google-cloud-documentai/test/gapic_document_understanding_service_v1beta2.ts
#	packages/google-cloud-edgecontainer/.OwlBot.yaml
#	packages/google-cloud-edgenetwork/.OwlBot.yaml
#	packages/google-cloud-essentialcontacts/.OwlBot.yaml
#	packages/google-cloud-eventarc-publishing/.OwlBot.yaml
#	packages/google-cloud-eventarc/.OwlBot.yaml
#	packages/google-cloud-filestore/.OwlBot.yaml
#	packages/google-cloud-financialservices/.OwlBot.yaml
#	packages/google-cloud-functions/.OwlBot.yaml
#	packages/google-cloud-gdchardwaremanagement/.OwlBot.yaml
#	packages/google-cloud-gkebackup/.OwlBot.yaml
#	packages/google-cloud-gkeconnect-gateway/.OwlBot.yaml
#	packages/google-cloud-gkeconnect-gateway/.jsdoc.js
#	packages/google-cloud-gkeconnect-gateway/.mocharc.js
#	packages/google-cloud-gkeconnect-gateway/.prettierrc.js
#	packages/google-cloud-gkeconnect-gateway/protos/protos.d.ts
#	packages/google-cloud-gkeconnect-gateway/protos/protos.js
#	packages/google-cloud-gkeconnect-gateway/samples/generated/v1/gateway_control.generate_credentials.js
#	packages/google-cloud-gkeconnect-gateway/samples/generated/v1beta1/gateway_control.generate_credentials.js
#	packages/google-cloud-gkeconnect-gateway/src/v1/gateway_control_client.ts
#	packages/google-cloud-gkeconnect-gateway/src/v1/index.ts
#	packages/google-cloud-gkeconnect-gateway/src/v1beta1/gateway_control_client.ts
#	packages/google-cloud-gkeconnect-gateway/src/v1beta1/gateway_service_client.ts
#	packages/google-cloud-gkeconnect-gateway/src/v1beta1/index.ts
#	packages/google-cloud-gkeconnect-gateway/system-test/fixtures/sample/src/index.js
#	packages/google-cloud-gkeconnect-gateway/system-test/fixtures/sample/src/index.ts
#	packages/google-cloud-gkeconnect-gateway/system-test/install.ts
#	packages/google-cloud-gkeconnect-gateway/test/gapic_gateway_control_v1.ts
#	packages/google-cloud-gkeconnect-gateway/test/gapic_gateway_control_v1beta1.ts
#	packages/google-cloud-gkehub/.OwlBot.yaml
#	packages/google-cloud-gkehub/protos/google/cloud/gkehub/v1alpha2/membership.proto
#	packages/google-cloud-gkehub/src/v1alpha2/gke_hub_client.ts
#	packages/google-cloud-gkehub/test/gapic_gke_hub_v1alpha2.ts
#	packages/google-cloud-gkemulticloud/.OwlBot.yaml
#	packages/google-cloud-gsuiteaddons/.OwlBot.yaml
#	packages/google-cloud-iap/.OwlBot.yaml
#	packages/google-cloud-ids/.OwlBot.yaml
#	packages/google-cloud-iot/.OwlBot.yaml
#	packages/google-cloud-kms-inventory/.OwlBot.yaml
#	packages/google-cloud-kms/.OwlBot.yaml
#	packages/google-cloud-managedidentities/.OwlBot.yaml
#	packages/google-cloud-modelarmor/.OwlBot.yaml
#	packages/google-cloud-monitoring/.jsdoc.js
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/alert.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/alert_service.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/common.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/dropped_labels.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/group.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/group_service.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/metric.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/metric_service.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/mutation_record.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/notification.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/notification_service.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/query_service.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/service.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/service_service.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/span_context.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/uptime.proto
#	packages/google-cloud-monitoring/protos/google/monitoring/v3/uptime_service.proto
#	packages/google-cloud-monitoring/src/v3/alert_policy_service_client.ts
#	packages/google-cloud-monitoring/src/v3/group_service_client.ts
#	packages/google-cloud-monitoring/src/v3/index.ts
#	packages/google-cloud-monitoring/src/v3/metric_service_client.ts
#	packages/google-cloud-monitoring/src/v3/notification_channel_service_client.ts
#	packages/google-cloud-monitoring/src/v3/query_service_client.ts
#	packages/google-cloud-monitoring/src/v3/service_monitoring_service_client.ts
#	packages/google-cloud-monitoring/src/v3/uptime_check_service_client.ts
#	packages/google-cloud-monitoring/system-test/fixtures/sample/src/index.js
#	packages/google-cloud-monitoring/system-test/fixtures/sample/src/index.ts
#	packages/google-cloud-monitoring/system-test/install.ts
#	packages/google-cloud-monitoring/test/gapic_alert_policy_service_v3.ts
#	packages/google-cloud-monitoring/test/gapic_group_service_v3.ts
#	packages/google-cloud-monitoring/test/gapic_metric_service_v3.ts
#	packages/google-cloud-monitoring/test/gapic_notification_channel_service_v3.ts
#	packages/google-cloud-monitoring/test/gapic_query_service_v3.ts
#	packages/google-cloud-monitoring/test/gapic_service_monitoring_service_v3.ts
#	packages/google-cloud-monitoring/test/gapic_uptime_check_service_v3.ts
#	packages/google-cloud-phishingprotection/.OwlBot.yaml
#	packages/google-cloud-recommender/.OwlBot.yaml
#	packages/google-cloud-secretmanager/ci/cloudbuild/cloudbuild.yaml
#	packages/google-cloud-secretmanager/librarian.js
#	packages/google-cloud-secretmanager/protos/google/cloud/secrets/v1beta1/resources.proto
#	packages/google-cloud-secretmanager/protos/google/cloud/secrets/v1beta1/service.proto
#	packages/google-cloud-secretmanager/src/v1beta1/secret_manager_service_client.ts
#	packages/google-cloud-secretmanager/test/gapic_secret_manager_service_v1beta1.ts
#	packages/google-cloud-securesourcemanager/.OwlBot.yaml
#	packages/google-cloud-securitycenter/.OwlBot.yaml
#	packages/google-cloud-securitycenter/owlbot.py
#	packages/google-cloud-speech/owlbot.py
#	packages/google-cloud-sql/owlbot.py
#	packages/google-cloud-tasks/owlbot.py
#	packages/google-cloud-vision/owlbot.py
#	packages/google-cloud-workflows-executions/owlbot.py
#	packages/google-devtools-cloudbuild/.OwlBot.yaml
#	packages/google-devtools-containeranalysis/owlbot.py
#	packages/google-maps-mapsplatformdatasets/protos/google/maps/mapsplatformdatasets/v1alpha/data_source.proto
#	packages/google-maps-mapsplatformdatasets/protos/google/maps/mapsplatformdatasets/v1alpha/dataset.proto
#	packages/google-maps-mapsplatformdatasets/protos/google/maps/mapsplatformdatasets/v1alpha/maps_platform_datasets.proto
#	packages/google-maps-mapsplatformdatasets/protos/google/maps/mapsplatformdatasets/v1alpha/maps_platform_datasets_alpha_service.proto
#	packages/google-maps-mapsplatformdatasets/src/v1alpha/maps_platform_datasets_v1_alpha_client.ts
#	packages/google-maps-mapsplatformdatasets/test/gapic_maps_platform_datasets_v1_alpha_v1alpha.ts
#	packages/google-maps-solar/.OwlBot.yaml
#	packages/google-shopping-css/.OwlBot.yaml
#	packages/google-shopping-merchant-notifications/.OwlBot.yaml
#	packages/google-storage-control/.OwlBot.yaml
#	packages/google-storagetransfer/.OwlBot.yaml
@danieljbruce danieljbruce requested review from a team as code owners April 10, 2026 15:30
@danieljbruce
Copy link
Copy Markdown
Contributor Author

This work was done on an old main commit and the merge headaches are significant. The work has been restarted on #8016 instead

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant