• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1"""Copybara config to merge Jetpack Camera App code from upstream-main to main."""
2
3core.workflow(
4  name = "jetpack_camera_app_copy_upstream_to_main",
5  origin = git.origin(
6    url = "https://android.googlesource.com/platform/external/jetpack-camera-app",
7    ref = "upstream-main"
8  ),
9  destination = git.gerrit_destination(
10    url = "https://android.googlesource.com/platform/external/jetpack-camera-app",
11    fetch = "main",
12    reviewers = [
13        "davidjia@google.com",
14        "trevormcguire@google.com",
15        "kcrevecoeur@google.com",
16        "yasith@google.com"
17    ]
18  ),
19  origin_files = glob(
20    include = ["**"],
21    exclude = [
22      "OWNERS",
23      "**/OWNERS",
24    ],
25  ),
26  destination_files = glob(
27    include = ["**"],
28    exclude = [
29      "copy.bara.sky",
30      "METADATA",
31      "MODULE_LICENSE_APACHE2",
32      "OWNERS",
33      "Android.bp",
34      "**/Android.bp",
35      "**/androidTest/AndroidManifest.xml",
36      "**/test/AndroidManifest.xml",
37      "**/AndroidTest.xml",
38      "TEST_MAPPING",
39      "app/src/main/java/com/google/jetpackcamera/BuildConfig.kt"
40    ],
41  ),
42  authoring = authoring.pass_thru(
43        "JCA Team <mdb.jca-core-team@google.com>"
44    ),
45  mode = "SQUASH",
46  transformations = [
47    core.replace(
48        before = 'xmlns:tools="http://schemas.android.com/tools"',
49        after = 'xmlns:tools="http://schemas.android.com/tools" package="com.google.jetpackcamera"',
50        paths = glob(["app/src/main/AndroidManifest.xml"])
51    ),
52    core.replace(
53        before = 'android:name=".JetpackCameraApplication"',
54        after = 'android:name="JetpackCameraApplication"',
55        paths = glob(["app/src/main/AndroidManifest.xml"])
56    ),
57    core.replace(
58        before = 'xmlns:tools="http://schemas.android.com/tools"',
59        after = 'xmlns:tools="http://schemas.android.com/tools" package="com.google.jetpackcamera.core.camera"',
60        paths = glob(["core/camera/src/main/AndroidManifest.xml"])
61    ),
62    core.replace(
63        before = '<manifest>',
64        after = '<manifest package="com.google.jetpackcamera.core.common">',
65        paths = glob(["core/common/src/main/AndroidManifest.xml"])
66    ),
67    core.replace(
68        before = '<manifest>',
69        after = '<manifest package="com.google.jetpackcamera.data.settings">',
70        paths = glob(["data/settings/src/main/AndroidManifest.xml"])
71    ),
72    core.replace(
73        before = '<manifest>',
74        after = '<manifest package="com.google.jetpackcamera.feature.preview">',
75        paths = glob(["feature/preview/src/main/AndroidManifest.xml"])
76    ),
77    core.replace(
78        before = 'xmlns:android="http://schemas.android.com/apk/res/android"',
79        after = 'xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.jetpackcamera.permissions"',
80        paths = glob(["feature/permissions/src/main/AndroidManifest.xml"])
81    ),
82    core.replace(
83        before = 'xmlns:android="http://schemas.android.com/apk/res/android"',
84        after = 'xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.jetpackcamera.settings"',
85        paths = glob(["feature/settings/src/main/AndroidManifest.xml"])
86    ),
87    core.replace(
88        before = '@HiltAndroidApp',
89        after = '@HiltAndroidApp(Application::class)',
90    ),
91    core.replace(
92        before = 'class JetpackCameraApplication : Application()',
93        after = 'class JetpackCameraApplication : Hilt_JetpackCameraApplication()',
94    ),
95    core.replace(
96        before = '@AndroidEntryPoint',
97        after = '@AndroidEntryPoint(ComponentActivity::class)',
98    ),
99    core.replace(
100        before = 'class MainActivity : ComponentActivity() {',
101        after = 'class MainActivity : Hilt_MainActivity() {',
102    )],
103)
104
105service.migration(
106        migration_name = "jetpack_camera_app_copy_upstream_to_main",
107        owner_mdb = "jca-core-team",
108        contact_email = "mdb.jca-core-team@google.com",
109        notifications = service.notifications(
110            on_error = [
111                service.email(address = "trevormcguire@google.com"),
112                service.email(address = "davidjia@google.com"),
113                service.email(address = "kcrevecoeur@google.com"),
114                service.email(address = "yasith@google.com"),
115            ],
116        ),
117        state = "ACTIVE",
118        flags = {
119            "--ignore-noop": [],
120        },
121        triggering = "EVENT_BASED",
122    )
123