Chromium Code Reviews| Index: ios/third_party/material_components_ios/BUILD.gn |
| diff --git a/ios/third_party/material_components_ios/BUILD.gn b/ios/third_party/material_components_ios/BUILD.gn |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3359c1df8c254717f7db80604d06e187dd1c895d |
| --- /dev/null |
| +++ b/ios/third_party/material_components_ios/BUILD.gn |
| @@ -0,0 +1,360 @@ |
| +# Copyright 2016 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +import("//build/config/locales.gni") |
| + |
| +config("config") { |
| + visibility = [ ":material_components_ios" ] |
| + include_dirs = [ |
| + "src/components/AppBar/src", |
| + "src/components/ActivityIndicator/src", |
| + "src/components/ButtonBar/src", |
| + "src/components/Buttons/src", |
| + "src/components/CollectionCells/src", |
| + "src/components/CollectionLayoutAttributes/src", |
| + "src/components/Collections/src", |
| + "src/components/Dialogs/src", |
| + "src/components/FlexibleHeader/src", |
| + "src/components/FontDiskLoader/src", |
| + "src/components/HeaderStackView/src", |
| + "src/components/Ink/src", |
| + "src/components/NavigationBar/src", |
| + "src/components/OverlayWindow/src", |
| + "src/components/Palettes/src", |
| + "src/components/ProgressView/src", |
| + "src/components/RobotoFontLoader/src", |
| + "src/components/ShadowElevations/src", |
| + "src/components/ShadowLayer/src", |
| + "src/components/Snackbar/src", |
| + "src/components/SpritedAnimationView/src", |
| + "src/components/Typography/src", |
| + ] |
| + |
| + cflags_objc = [ |
| + # Do not consider use of deprecated API as errors when building third-party |
| + # libraries. |
| + "-Wno-error=deprecated-declarations", |
|
Nico
2017/05/11 16:38:12
This does not lgtm. We want a silent build, so tha
|
| + ] |
| +} |
| + |
| +_icon_names = [ |
| + "ic_check", |
| + "ic_check_circle", |
| + "ic_chevron_right", |
| + "ic_info", |
| + "ic_radio_button_unchecked", |
| + "ic_reorder", |
| +] |
| + |
| +source_set("material_components_ios") { |
| + sources = [ |
| + "src/components/ActivityIndicator/src/MDCActivityIndicator.h", |
| + "src/components/ActivityIndicator/src/MDCActivityIndicator.m", |
| + "src/components/ActivityIndicator/src/MaterialActivityIndicator.h", |
| + "src/components/AnimationTiming/src/CAMediaTimingFunction+MDCAnimationTiming.h", |
| + "src/components/AnimationTiming/src/CAMediaTimingFunction+MDCAnimationTiming.m", |
| + "src/components/AppBar/src/MDCAppBar.h", |
| + "src/components/AppBar/src/MDCAppBar.m", |
| + "src/components/AppBar/src/MDCAppBarContainerViewController.h", |
| + "src/components/AppBar/src/MDCAppBarContainerViewController.m", |
| + "src/components/AppBar/src/MaterialAppBar.h", |
| + "src/components/ButtonBar/src/MDCButtonBar.h", |
| + "src/components/ButtonBar/src/MDCButtonBar.m", |
| + "src/components/ButtonBar/src/MaterialButtonBar.h", |
| + "src/components/ButtonBar/src/private/MDCAppBarButtonBarBuilder.h", |
| + "src/components/ButtonBar/src/private/MDCAppBarButtonBarBuilder.m", |
| + "src/components/Buttons/src/MDCButton.h", |
| + "src/components/Buttons/src/MDCButton.m", |
| + "src/components/Buttons/src/MDCFlatButton.h", |
| + "src/components/Buttons/src/MDCFlatButton.m", |
| + "src/components/Buttons/src/MDCFloatingButton.h", |
| + "src/components/Buttons/src/MDCFloatingButton.m", |
| + "src/components/Buttons/src/MDCRaisedButton.h", |
| + "src/components/Buttons/src/MDCRaisedButton.m", |
| + "src/components/Buttons/src/MaterialButtons.h", |
| + "src/components/Buttons/src/private/MDCButton+Subclassing.h", |
| + "src/components/CollectionCells/src/MDCCollectionViewCell+Ink.h", |
| + "src/components/CollectionCells/src/MDCCollectionViewCell+Ink.m", |
| + "src/components/CollectionCells/src/MDCCollectionViewCell.h", |
| + "src/components/CollectionCells/src/MDCCollectionViewCell.m", |
| + "src/components/CollectionCells/src/MDCCollectionViewTextCell.h", |
| + "src/components/CollectionCells/src/MDCCollectionViewTextCell.m", |
| + "src/components/CollectionCells/src/MaterialCollectionCells.h", |
| + "src/components/CollectionLayoutAttributes/src/MDCCollectionViewLayoutAttributes.h", |
| + "src/components/CollectionLayoutAttributes/src/MDCCollectionViewLayoutAttributes.m", |
| + "src/components/CollectionLayoutAttributes/src/MaterialCollectionLayoutAttributes.h", |
| + "src/components/Collections/src/MDCCollectionViewController.h", |
| + "src/components/Collections/src/MDCCollectionViewController.m", |
| + "src/components/Collections/src/MDCCollectionViewEditing.h", |
| + "src/components/Collections/src/MDCCollectionViewEditingDelegate.h", |
| + "src/components/Collections/src/MDCCollectionViewFlowLayout.h", |
| + "src/components/Collections/src/MDCCollectionViewFlowLayout.m", |
| + "src/components/Collections/src/MDCCollectionViewStyling.h", |
| + "src/components/Collections/src/MDCCollectionViewStylingDelegate.h", |
| + "src/components/Collections/src/MaterialCollections.h", |
| + "src/components/Collections/src/private/MDCCollectionGridBackgroundView.h", |
| + "src/components/Collections/src/private/MDCCollectionGridBackgroundView.m", |
| + "src/components/Collections/src/private/MDCCollectionInfoBarView.h", |
| + "src/components/Collections/src/private/MDCCollectionInfoBarView.m", |
| + "src/components/Collections/src/private/MDCCollectionStringResources.h", |
| + "src/components/Collections/src/private/MDCCollectionStringResources.m", |
| + "src/components/Collections/src/private/MDCCollectionViewEditor.h", |
| + "src/components/Collections/src/private/MDCCollectionViewEditor.m", |
| + "src/components/Collections/src/private/MDCCollectionViewStyler.h", |
| + "src/components/Collections/src/private/MDCCollectionViewStyler.m", |
| + "src/components/Collections/src/private/MaterialCollectionsStrings.h", |
| + "src/components/Collections/src/private/MaterialCollectionsStrings_table.h", |
| + "src/components/Dialogs/src/MDCAlertController.h", |
| + "src/components/Dialogs/src/MDCAlertController.m", |
| + "src/components/Dialogs/src/MDCDialogPresentationController.h", |
| + "src/components/Dialogs/src/MDCDialogPresentationController.m", |
| + "src/components/Dialogs/src/MDCDialogTransitionController.h", |
| + "src/components/Dialogs/src/MDCDialogTransitionController.m", |
| + "src/components/Dialogs/src/MaterialDialogs.h", |
| + "src/components/Dialogs/src/private/MDCDialogShadowedView.h", |
| + "src/components/Dialogs/src/private/MDCDialogShadowedView.m", |
| + "src/components/FlexibleHeader/src/MDCFlexibleHeaderContainerViewController.h", |
| + "src/components/FlexibleHeader/src/MDCFlexibleHeaderContainerViewController.m", |
| + "src/components/FlexibleHeader/src/MDCFlexibleHeaderView.h", |
| + "src/components/FlexibleHeader/src/MDCFlexibleHeaderView.m", |
| + "src/components/FlexibleHeader/src/MDCFlexibleHeaderViewController.h", |
| + "src/components/FlexibleHeader/src/MDCFlexibleHeaderViewController.m", |
| + "src/components/FlexibleHeader/src/MaterialFlexibleHeader.h", |
| + "src/components/FlexibleHeader/src/private/MDCStatusBarShifter.h", |
| + "src/components/FlexibleHeader/src/private/MDCStatusBarShifter.m", |
| + "src/components/FontDiskLoader/src/MDCFontDiskLoader.h", |
| + "src/components/FontDiskLoader/src/MDCFontDiskLoader.m", |
| + "src/components/FontDiskLoader/src/MaterialFontDiskLoader.h", |
| + "src/components/HeaderStackView/src/MDCHeaderStackView.h", |
| + "src/components/HeaderStackView/src/MDCHeaderStackView.m", |
| + "src/components/HeaderStackView/src/MaterialHeaderStackView.h", |
| + "src/components/Ink/src/MDCInkGestureRecognizer.h", |
| + "src/components/Ink/src/MDCInkGestureRecognizer.m", |
| + "src/components/Ink/src/MDCInkTouchController.h", |
| + "src/components/Ink/src/MDCInkTouchController.m", |
| + "src/components/Ink/src/MDCInkView.h", |
| + "src/components/Ink/src/MDCInkView.m", |
| + "src/components/Ink/src/MaterialInk.h", |
| + "src/components/Ink/src/private/MDCInkLayer.h", |
| + "src/components/Ink/src/private/MDCInkLayer.m", |
| + "src/components/NavigationBar/src/MDCNavigationBar.h", |
| + "src/components/NavigationBar/src/MDCNavigationBar.m", |
| + "src/components/NavigationBar/src/MaterialNavigationBar.h", |
| + "src/components/OverlayWindow/src/MDCOverlayWindow.h", |
| + "src/components/OverlayWindow/src/MDCOverlayWindow.m", |
| + "src/components/OverlayWindow/src/MaterialOverlayWindow.h", |
| + "src/components/Palettes/src/MDCPalettes.h", |
| + "src/components/Palettes/src/MDCPalettes.m", |
| + "src/components/Palettes/src/MaterialPalettes.h", |
| + "src/components/Palettes/src/private/MDCPaletteExpansions.h", |
| + "src/components/Palettes/src/private/MDCPaletteExpansions.m", |
| + "src/components/Palettes/src/private/MDCPaletteNames.h", |
| + "src/components/Palettes/src/private/MDCPaletteNames.m", |
| + "src/components/ProgressView/src/MDCProgressView.h", |
| + "src/components/ProgressView/src/MDCProgressView.m", |
| + "src/components/ProgressView/src/MaterialProgressView.h", |
| + "src/components/RobotoFontLoader/src/MDCRobotoFontLoader.h", |
| + "src/components/RobotoFontLoader/src/MDCRobotoFontLoader.m", |
| + "src/components/RobotoFontLoader/src/MaterialRobotoFontLoader.h", |
| + "src/components/RobotoFontLoader/src/private/MDCRoboto+Constants.h", |
| + "src/components/RobotoFontLoader/src/private/MDCRoboto+Constants.m", |
| + "src/components/ShadowElevations/src/MDCShadowElevations.h", |
| + "src/components/ShadowElevations/src/MDCShadowElevations.m", |
| + "src/components/ShadowElevations/src/MaterialShadowElevations.h", |
| + "src/components/ShadowLayer/src/MDCShadowLayer.h", |
| + "src/components/ShadowLayer/src/MDCShadowLayer.m", |
| + "src/components/ShadowLayer/src/MaterialShadowLayer.h", |
| + "src/components/Snackbar/src/MDCSnackbarManager.h", |
| + "src/components/Snackbar/src/MDCSnackbarManager.m", |
| + "src/components/Snackbar/src/MDCSnackbarMessage.h", |
| + "src/components/Snackbar/src/MDCSnackbarMessage.m", |
| + "src/components/Snackbar/src/MaterialSnackbar.h", |
| + "src/components/Snackbar/src/private/MDCSnackbarMessageInternal.h", |
| + "src/components/Snackbar/src/private/MDCSnackbarMessageView.h", |
| + "src/components/Snackbar/src/private/MDCSnackbarMessageView.m", |
| + "src/components/Snackbar/src/private/MDCSnackbarOverlayView.h", |
| + "src/components/Snackbar/src/private/MDCSnackbarOverlayView.m", |
| + "src/components/SpritedAnimationView/src/MDCSpritedAnimationView.h", |
| + "src/components/SpritedAnimationView/src/MDCSpritedAnimationView.m", |
| + "src/components/SpritedAnimationView/src/MaterialSpritedAnimationView.h", |
| + "src/components/Typography/src/MDCTypography.h", |
| + "src/components/Typography/src/MDCTypography.m", |
| + "src/components/Typography/src/MaterialTypography.h", |
| + "src/components/private/Application/src/MaterialApplication.h", |
| + "src/components/private/Application/src/UIApplication+AppExtensions.h", |
| + "src/components/private/Application/src/UIApplication+AppExtensions.m", |
| + "src/components/private/Color/src/MaterialColor.h", |
| + "src/components/private/Color/src/UIColor+MDC.h", |
| + "src/components/private/Color/src/UIColor+MDC.m", |
| + "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons+ic_arrow_back.h", |
| + "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons+ic_arrow_back.m", |
| + "src/components/private/Icons/icons/ic_check/src/MaterialIcons+ic_check.h", |
| + "src/components/private/Icons/icons/ic_check/src/MaterialIcons+ic_check.m", |
| + "src/components/private/Icons/icons/ic_check_circle/src/MaterialIcons+ic_check_circle.h", |
| + "src/components/private/Icons/icons/ic_check_circle/src/MaterialIcons+ic_check_circle.m", |
| + "src/components/private/Icons/icons/ic_chevron_right/src/MaterialIcons+ic_chevron_right.h", |
| + "src/components/private/Icons/icons/ic_chevron_right/src/MaterialIcons+ic_chevron_right.m", |
| + "src/components/private/Icons/icons/ic_info/src/MaterialIcons+ic_info.h", |
| + "src/components/private/Icons/icons/ic_info/src/MaterialIcons+ic_info.m", |
| + "src/components/private/Icons/icons/ic_radio_button_unchecked/src/MaterialIcons+ic_radio_button_unchecked.h", |
| + "src/components/private/Icons/icons/ic_radio_button_unchecked/src/MaterialIcons+ic_radio_button_unchecked.m", |
| + "src/components/private/Icons/icons/ic_reorder/src/MaterialIcons+ic_reorder.h", |
| + "src/components/private/Icons/icons/ic_reorder/src/MaterialIcons+ic_reorder.m", |
| + "src/components/private/Icons/src/MDCIcons+BundleLoader.h", |
| + "src/components/private/Icons/src/MDCIcons.h", |
| + "src/components/private/Icons/src/MDCIcons.m", |
| + "src/components/private/Icons/src/MaterialIcons.h", |
| + "src/components/private/KeyboardWatcher/src/MDCKeyboardWatcher.h", |
| + "src/components/private/KeyboardWatcher/src/MDCKeyboardWatcher.m", |
| + "src/components/private/Overlay/src/MDCOverlayImplementor.h", |
| + "src/components/private/Overlay/src/MDCOverlayObserver.h", |
| + "src/components/private/Overlay/src/MDCOverlayObserver.m", |
| + "src/components/private/Overlay/src/MDCOverlayTransitioning.h", |
| + "src/components/private/Overlay/src/MaterialOverlays.h", |
| + "src/components/private/Overlay/src/private/MDCOverlayAnimationObserver.h", |
| + "src/components/private/Overlay/src/private/MDCOverlayAnimationObserver.m", |
| + "src/components/private/Overlay/src/private/MDCOverlayObserverOverlay.h", |
| + "src/components/private/Overlay/src/private/MDCOverlayObserverOverlay.m", |
| + "src/components/private/Overlay/src/private/MDCOverlayObserverTransition.h", |
| + "src/components/private/Overlay/src/private/MDCOverlayObserverTransition.m", |
| + "src/components/private/Overlay/src/private/MDCOverlayUtilities.h", |
| + "src/components/private/Overlay/src/private/MDCOverlayUtilities.m", |
| + "src/components/private/RTL/src/MDCRTL.h", |
| + "src/components/private/RTL/src/MDCRTL.m", |
| + "src/components/private/RTL/src/MaterialRTL.h", |
| + "src/components/private/RTL/src/UIImage+MaterialRTL.h", |
| + "src/components/private/RTL/src/UIImage+MaterialRTL.m", |
| + "src/components/private/RTL/src/UIView+MaterialRTL.h", |
| + "src/components/private/RTL/src/UIView+MaterialRTL.m", |
| + "src/components/private/ThumbTrack/src/MDCNumericValueLabel.h", |
| + "src/components/private/ThumbTrack/src/MDCNumericValueLabel.m", |
| + "src/components/private/ThumbTrack/src/MDCThumbTrack.h", |
| + "src/components/private/ThumbTrack/src/MDCThumbTrack.m", |
| + "src/components/private/ThumbTrack/src/MDCThumbView.h", |
| + "src/components/private/ThumbTrack/src/MDCThumbView.m", |
| + "src/components/private/ThumbTrack/src/MaterialThumbTrack.h", |
| + ] |
| + include_dirs = [ |
| + "src/components/ActivityIndicator/src", |
| + "src/components/AnimationTiming/src", |
| + "src/components/AppBar/src", |
| + "src/components/ButtonBar/src", |
| + "src/components/NavigationBar/src", |
| + "src/components/OverlayWindow/src", |
| + "src/components/private/Application/src", |
| + "src/components/private/Color/src", |
| + "src/components/private/Icons/src", |
| + "src/components/private/Icons/icons/ic_arrow_back/src", |
| + "src/components/private/Icons/icons/ic_check/src", |
| + "src/components/private/Icons/icons/ic_check_circle/src", |
| + "src/components/private/Icons/icons/ic_chevron_right/src", |
| + "src/components/private/Icons/icons/ic_info/src", |
| + "src/components/private/Icons/icons/ic_radio_button_unchecked/src", |
| + "src/components/private/Icons/icons/ic_reorder/src", |
| + "src/components/private/KeyboardWatcher/src", |
| + "src/components/private/Overlay/src", |
| + "src/components/private/RTL/src", |
| + "src/components/private/ThumbTrack/src", |
| + ] |
| + |
| + libs = [ |
| + "CoreGraphics.framework", |
| + "CoreText.framework", |
| + "QuartzCore.framework", |
| + "UIKit.framework", |
| + ] |
| + |
| + deps = [ |
| + ":material_collections_bundle", |
| + ":material_component_ic_arrow_back_bundle", |
| + |
| + # TODO(crbug.com/673904): remove when the migration to MDFRobotoFontLoader |
| + # is complete. |
| + "//ios/third_party/material_roboto_font_loader_ios", |
| + "//ios/third_party/material_text_accessibility_ios", |
| + ] |
| + |
| + foreach(icon_name, _icon_names) { |
| + deps += [ ":material_component_${icon_name}_bundle" ] |
| + } |
| + |
| + public_configs = [ ":config" ] |
| + |
| + configs -= [ "//build/config/compiler:chromium_code" ] |
| + configs += [ |
| + ":config", |
| + "//build/config/compiler:enable_arc", |
| + "//build/config/compiler:no_chromium_code", |
| + ] |
| +} |
| + |
| +bundle_data("material_collections_bundle") { |
| + visibility = [ ":material_components_ios" ] |
| + sources = [ |
| + "src/components/Collections/src/MaterialCollections.bundle/Resources/en.lproj/MaterialCollections.strings", |
| + ] |
| + outputs = [ |
| + "{{bundle_root_dir}}/MaterialCollections.bundle/Resources/en.lproj/{{source_file_part}}", |
| + ] |
| +} |
| + |
| +# TODO(crbug.com/662421): Move back to _icon_names when there is just one |
| +# resource. |
| +bundle_data("material_component_ic_arrow_back_bundle") { |
| + visibility = [ ":material_components_ios" ] |
| + sources = [ |
| + "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back.png", |
| + "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back@2x.png", |
| + "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back@3x.png", |
| + "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back_ios.png", |
| + "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back_ios@2x.png", |
| + "src/components/private/Icons/icons/ic_arrow_back/src/MaterialIcons_ic_arrow_back.bundle/ic_arrow_back_ios@3x.png", |
| + ] |
| + outputs = [ |
| + "{{bundle_resources_dir}}/MaterialIcons_ic_arrow_back.bundle/" + |
| + "{{source_file_part}}", |
| + ] |
| +} |
| + |
| +# Template to declare a bundle_data target to pack an icon bundle. |
| +# |
| +# Arguments: |
| +# |
| +# icon_name: |
| +# string, short name of the icon without .bundle or .png extension. |
| +# |
| +template("material_component_icon_bundle") { |
| + assert(defined(invoker.icon_name) && invoker.icon_name != "", |
| + "icon_name must be defined for $target_name") |
| + |
| + _icon_name = invoker.icon_name |
| + _icon_path = "src/components/private/Icons/icons/$_icon_name/src/" + |
| + "MaterialIcons_$_icon_name.bundle/$_icon_name" |
| + |
| + bundle_data(target_name) { |
| + forward_variables_from(invoker, |
| + "*", |
| + [ |
| + "sources", |
| + "outputs", |
| + "icon_name", |
| + ]) |
| + sources = [ |
| + "$_icon_path.png", |
| + "$_icon_path@2x.png", |
| + "$_icon_path@3x.png", |
| + ] |
| + outputs = [ |
| + "{{bundle_resources_dir}}/MaterialIcons_$_icon_name.bundle/" + |
| + "{{source_file_part}}", |
| + ] |
| + } |
| +} |
| + |
| +foreach(icon_name, _icon_names) { |
| + material_component_icon_bundle("material_component_${icon_name}_bundle") { |
| + visibility = [ ":material_components_ios" ] |
| + icon_name = "$icon_name" |
| + } |
| +} |