| # 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/HeaderStackView/src", |
| "src/components/Ink/src", |
| "src/components/NavigationBar/src", |
| "src/components/OverlayWindow/src", |
| "src/components/Palettes/src", |
| "src/components/ProgressView/src", |
| "src/components/ShadowElevations/src", |
| "src/components/ShadowLayer/src", |
| "src/components/Snackbar/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", |
| ] |
| } |
| |
| _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.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/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/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/MDCSnackbarMessageView.h", |
| "src/components/Snackbar/src/MDCSnackbarMessageView.m", |
| "src/components/Snackbar/src/MaterialSnackbar.h", |
| "src/components/Snackbar/src/private/MDCSnackbarMessageInternal.h", |
| "src/components/Snackbar/src/private/MDCSnackbarMessageViewInternal.h", |
| "src/components/Snackbar/src/private/MDCSnackbarOverlayView.h", |
| "src/components/Snackbar/src/private/MDCSnackbarOverlayView.m", |
| "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/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/Math/src/MDCMath.h", |
| "src/components/private/Math/src/MaterialMath.h", |
| "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/Math/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_collection_cells_bundle", |
| ":material_collections_bundle", |
| ":material_component_ic_arrow_back_bundle", |
| "//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", |
| ] |
| } |
| |
| _locales = [ "en" ] |
| |
| foreach(locale, _locales) { |
| bundle_data("material_collections_bundle_$locale") { |
| visibility = [ ":material_collections_bundle" ] |
| sources = [ |
| "src/components/Collections/src/MaterialCollections.bundle/Resources/$locale.lproj/MaterialCollections.strings", |
| ] |
| outputs = [ |
| "{{bundle_root_dir}}/MaterialCollections.bundle/Resources/$locale.lproj/{{source_file_part}}", |
| ] |
| } |
| |
| bundle_data("material_collection_cells_bundle_$locale") { |
| visibility = [ ":material_collection_cells_bundle" ] |
| sources = [ |
| "src/components/CollectionCells/src/MaterialCollectionCells.bundle/Resources/$locale.lproj/MaterialCollectionCells.strings", |
| ] |
| outputs = [ |
| "{{bundle_resources_dir}}/MaterialCollectionCells.bundle/Resources/$locale.lproj/{{source_file_part}}", |
| ] |
| } |
| } |
| |
| group("material_collections_bundle") { |
| visibility = [ ":material_components_ios" ] |
| |
| deps = [] |
| foreach(locale, _locales) { |
| deps += [ ":material_collections_bundle_$locale" ] |
| } |
| } |
| |
| group("material_collection_cells_bundle") { |
| visibility = [ ":material_components_ios" ] |
| |
| deps = [] |
| foreach(locale, _locales) { |
| deps += [ ":material_collection_cells_bundle_$locale" ] |
| } |
| } |
| |
| # 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" |
| } |
| } |