xref: /aosp_15_r20/external/pigweed/third_party/fuchsia/copy.bara.sky (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2022 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15fuchsia_repo_files = [
16    ".clang-format",
17    "LICENSE",
18    # fit
19    "sdk/lib/fit/include/lib/fit/defer.h",
20    "sdk/lib/fit/include/lib/fit/function.h",
21    "sdk/lib/fit/include/lib/fit/internal/compiler.h",
22    "sdk/lib/fit/include/lib/fit/internal/function.h",
23    "sdk/lib/fit/include/lib/fit/internal/result.h",
24    "sdk/lib/fit/include/lib/fit/internal/utility.h",
25    "sdk/lib/fit/include/lib/fit/nullable.h",
26    "sdk/lib/fit/include/lib/fit/result.h",
27    "sdk/lib/fit/include/lib/fit/traits.h",
28    "sdk/lib/fit/test/function_tests.cc",
29    # stdcompat
30    "sdk/lib/stdcompat/include/lib/stdcompat/bit.h",
31    "sdk/lib/stdcompat/include/lib/stdcompat/functional.h",
32    "sdk/lib/stdcompat/include/lib/stdcompat/memory.h",
33    "sdk/lib/stdcompat/include/lib/stdcompat/optional.h",
34    "sdk/lib/stdcompat/include/lib/stdcompat/type_traits.h",
35    "sdk/lib/stdcompat/include/lib/stdcompat/utility.h",
36    "sdk/lib/stdcompat/include/lib/stdcompat/version.h",
37    "sdk/lib/stdcompat/include/lib/stdcompat/internal/bit.h",
38    "sdk/lib/stdcompat/include/lib/stdcompat/internal/constructors.h",
39    "sdk/lib/stdcompat/include/lib/stdcompat/internal/exception.h",
40    "sdk/lib/stdcompat/include/lib/stdcompat/internal/functional.h",
41    "sdk/lib/stdcompat/include/lib/stdcompat/internal/storage.h",
42    "sdk/lib/stdcompat/include/lib/stdcompat/internal/type_traits.h",
43    "sdk/lib/stdcompat/include/lib/stdcompat/internal/utility.h",
44    # lazy_init
45    "zircon/system/ulib/lazy_init/include/lib/lazy_init/internal/storage.h",
46    "zircon/system/ulib/lazy_init/include/lib/lazy_init/lazy_init.h",
47    "zircon/system/ulib/lazy_init/include/lib/lazy_init/options.h",
48]
49
50core.workflow(
51    name = "default",
52    description = "Imports files from Fuchsia's fit, stdcompat and lazy_init libraries",
53    origin = git.origin(
54        url = "https://fuchsia.googlesource.com/fuchsia",
55        ref = "main",
56    ),
57    destination = git.gerrit_destination(
58        url = "https://pigweed.googlesource.com/pigweed/pigweed",
59        fetch = "main",
60        push_to_refs_for = "main%message=No%2dDocs%2dUpdate%2dReason%3a_copybara_import",
61        labels = ["Commit-Queue+1"],
62        checker = leakr.disable_check("Syncing between OSS projects"),
63    ),
64    origin_files = glob(fuchsia_repo_files),
65    # Exclude BUILD.gn files to keep Pigweed's versions.
66    destination_files = glob(["third_party/fuchsia/repo/**"], exclude = ["**/BUILD.gn"]),
67    authoring = authoring.pass_thru("Fuchsia Authors <[email protected]>"),
68    transformations = [
69        core.move("", "third_party/fuchsia/repo"),
70        # Apply the patch file created by generate_fuchsia_patch.py.
71        patch.apply(["pigweed_adaptations.patch"]),
72        # Replace test #includes with gtest.
73        core.replace("#include <zxtest/zxtest.h>", "#include \"gtest/gtest.h\""),
74        # Show all commits but exclude the author to reduce line length.
75        metadata.squash_notes(
76            "third_party/fuchsia: Copybara import\n\n",
77            show_author = False,
78        ),
79    ],
80)
81