From 1914c562d2e5e57f664536193735e1895df3f9dd Mon Sep 17 00:00:00 2001 From: Meng Wang Date: Mon, 5 Oct 2026 23:53:03 +0000 Subject: [PATCH] fix(licensing): restore the ScalaPB notice on the vendored scalapb.proto (#8806) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### What changes were proposed in this PR? Per the note at the end of #8802, `common/workflow-core/src/main/protobuf/scalapb/scalapb.proto` is vendored from ScalaPB (Apache-2.0) but carried the standard ASF header — the same class of problem as #8775. Mirroring that fix: - `scalapb.proto`: ASF header → a vendored-from notice (upstream ships the file with no header; its license is the repository-level Apache-2.0, so no separate license copy is needed); - root `LICENSE`: a ScalaPB entry next to the other Apache-2.0 third-party entries ("this LICENSE file"); - `.licenserc.yaml`: exempt the file from the ASF-header check. Comment-only change to the proto; protoc output is unaffected. This addresses only the vendored-file item in #8802 — the build-time-generation proposal stays open there. ### Any related issues, documentation, discussions? Addresses the vendored scalapb.proto item in #8802. Same pattern as #8775/#8776. ### How was this PR tested? License-metadata-only change; the Check License Headers CI job verifies the exemption. The file is identical on main and both release branches. ### Was this PR authored or co-authored using generative AI tooling? (backported from commit 1df2c567ac0f4b81862586927320733dcff9dee9) Generated-by: Claude Code (claude-fable-5) --- .licenserc.yaml | 5 +++ LICENSE | 29 ++++++++++++++++ .../src/main/protobuf/scalapb/scalapb.proto | 34 +++++++++---------- 3 files changed, 50 insertions(+), 18 deletions(-) diff --git a/.licenserc.yaml b/.licenserc.yaml index a55ee9ba751..56281dec569 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -54,3 +54,8 @@ header: - 'frontend/src/app/common/type/proto/org/apache/texera/amber/core/workflow.ts' - 'frontend/src/app/common/type/proto/google/protobuf/descriptor.ts' - 'frontend/src/app/common/type/proto/scalapb/scalapb.ts' +<<<<<<< HEAD +======= + - 'amber/src/main/python/core/util/customized_queue/inner.py' + - 'common/workflow-core/src/main/protobuf/scalapb/scalapb.proto' +>>>>>>> 1df2c567a (fix(licensing): restore the ScalaPB notice on the vendored scalapb.proto (#8806)) diff --git a/LICENSE b/LICENSE index b73a5017149..96dd65f0462 100644 --- a/LICENSE +++ b/LICENSE @@ -232,6 +232,35 @@ This product bundles code derived from TypeFox monaco-languageclient: Source: https://github.com/TypeFox/monaco-languageclient License: MIT License (licenses-3rd-party-code/monaco-languageclient.txt) +<<<<<<< HEAD +======= +This product bundles code derived from inner-class: + - amber/src/main/python/core/util/customized_queue/inner.py + Copyright (c) 2019 sebkeim + Source: https://github.com/sebkeim/inner-class + License: MIT License (licenses-3rd-party-code/sebkeim-inner-class.txt) + +This product bundles the ScalaPB options definition: + - common/workflow-core/src/main/protobuf/scalapb/scalapb.proto + Source: https://github.com/scalapb/ScalaPB + License: Apache License 2.0 (this LICENSE file) + +This product includes an icon from Google's Material Symbols: + - frontend/src/app/common/icon/model-icon.ts ("hub") + Copyright (c) Google LLC + Source: https://github.com/google/material-design-icons + License: Apache License 2.0 (this LICENSE file) + +This product includes the ORCID iD icon from ORCID, Inc.: + - frontend/src/assets/logos/ORCID-iD_icon_24x24.png + Source: https://info.orcid.org/brand-guidelines/ + https://doi.org/10.23640/07243.5008697 (ORCID iD Icons, ORCID Brand Library) + License: CC0 1.0 Universal (licenses/LICENSE-CC0-1.0.txt) + Note: ORCID(TM), the ORCID logo and the iD logo are trademarks of ORCID, Inc. The icon is + bundled unmodified and displayed only to label ORCID sign-in, per ORCID's brand + guidelines; CC0 covers the graphic, not the mark. + +>>>>>>> 1df2c567a (fix(licensing): restore the ScalaPB notice on the vendored scalapb.proto (#8806)) This product includes SVG icons from SVGRepo: - frontend/src/assets/svg/operator-view-result.svg - frontend/src/assets/svg/operator-reuse-cache-valid.svg diff --git a/common/workflow-core/src/main/protobuf/scalapb/scalapb.proto b/common/workflow-core/src/main/protobuf/scalapb/scalapb.proto index 45a2866e1ca..f095f3a4c5b 100644 --- a/common/workflow-core/src/main/protobuf/scalapb/scalapb.proto +++ b/common/workflow-core/src/main/protobuf/scalapb/scalapb.proto @@ -1,19 +1,17 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at +// Vendored from ScalaPB v0.11.4. +// Source: https://github.com/scalapb/ScalaPB/blob/v0.11.4/protobuf/scalapb/scalapb.proto +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto2"; @@ -68,7 +66,7 @@ message ScalaPbOptions { // If set to true, all generated messages in this file will preserve unknown // fields. - optional bool preserve_unknown_fields = 9 [default = true]; + optional bool preserve_unknown_fields = 9 [default=true]; // If defined, sets the name of the file-level object that would be generated. This // object extends `GeneratedFileObject` and contains descriptors, and list of message @@ -87,7 +85,7 @@ message ScalaPbOptions { optional OptionsScope scope = 11; // If true, lenses will be generated. - optional bool lenses = 12 [default = true]; + optional bool lenses = 12 [default=true]; // If true, then source-code info information will be included in the // generated code - normally the source code info is cleared out to reduce @@ -111,7 +109,7 @@ message ScalaPbOptions { // Indicate if prefix (enum name + optional underscore) should be removed in scala code // Strip is applied before enum value naming changes. - optional bool enum_strip_prefix = 17 [default = false]; + optional bool enum_strip_prefix = 17 [default=false]; // Scala type to use for bytes fields. optional string bytes_type = 21; @@ -189,7 +187,7 @@ message ScalaPbOptions { optional bool ignore_all_transformations = 26; // If true, getters will be generated. - optional bool getters = 27 [default = true]; + optional bool getters = 27 [default=true]; // For use in tests only. Inhibit Java conversions even when when generator parameters // request for it. @@ -371,7 +369,7 @@ enum MatchType { message FieldTransformation { optional google.protobuf.FieldDescriptorProto when = 1; - optional MatchType match_type = 2 [default = CONTAINS]; + optional MatchType match_type = 2 [default=CONTAINS]; optional google.protobuf.FieldOptions set = 3; }