blob: b690719432764f1aa435eb088c6e56b47b50e421 [file] [log] [blame]
load 'scripts/generated/icons.rb'
Pod::Spec.new do |mdc|
mdc.name = "MaterialComponents"
mdc.version = "124.2.0"
mdc.authors = "The Material Components authors."
mdc.summary = "A collection of stand-alone production-ready UI libraries focused on design details."
mdc.homepage = "https://github.com/material-components/material-components-ios"
mdc.license = "Apache 2.0"
mdc.source = { :git => "https://github.com/material-components/material-components-ios.git",
:tag => "v#{mdc.version}" }
mdc.platform = :ios
mdc.requires_arc = true
mdc.ios.deployment_target = '11.0'
# # Subspec explanation
#
# ## Required properties
#
# public_header_files => Exposes our public headers for use in an app target.
# source_files => Must include all source required to successfully build the component.
#
# ## Optional properties
#
# resources => If your component has a bundle, this property should be an Array
# containing the bundle path as a String.
# NOTE: Do not use resource_bundle property
#
# # Template subspec
#
# mdc.subspec "ComponentName" do |component|
# component.public_header_files = "components/#{component.base_name}/src/*.h"
# component.source_files = [
# "components/#{component.base_name}/src/*.{h,m}",
# "components/#{component.base_name}/src/private/*.{h,m}"
# ]
#
# # Only if you have a resource bundle
# component.resources = [
# "components/#{component.base_name}/src/Material#{component.base_name}.bundle"
# ]
#
# component.test_spec 'tests' do |tests|
# tests.test_spec 'unit' do |unit_tests|
# unit_tests.source_files = [
# "components/#{component.base_name}/tests/unit/*.{h,m,swift}",
# "components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
# ]
# unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
# end
# end
# end
#
# ActionSheet
mdc.subspec "ActionSheet" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/BottomSheet"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/Typography"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}"
]
end
end
mdc.subspec "ActionSheet+Theming" do |extension|
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}", "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/Availability"
extension.dependency "MaterialComponents/Elevation"
extension.dependency "MaterialComponents/private/Color"
extension.dependency "MaterialComponents/schemes/Container"
extension.dependency "MaterialComponents/ShadowElevations"
end
# ActivityIndicator
mdc.subspec "ActivityIndicator" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.resources = [
"components/#{component.base_name}/src/Material#{component.base_name}.bundle"
]
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/private/Application"
component.dependency "MotionAnimator", "~> 4.0"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# AnimationTiming
mdc.subspec "AnimationTiming" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# AppBar
mdc.subspec "AppBar" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.resources = [
"components/#{component.base_name}/src/Material#{component.base_name}.bundle"
]
# Navigation bar contents
component.dependency "MaterialComponents/HeaderStackView"
component.dependency "MaterialComponents/NavigationBar"
component.dependency "MaterialComponents/Typography"
component.dependency "MaterialComponents/private/Application"
# Flexible header + shadow
component.dependency "MaterialComponents/FlexibleHeader"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/private/Icons/ic_arrow_back"
component.dependency "MaterialComponents/private/UIMetrics"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/AppBar+ColorThemer"
unit_tests.dependency "MaterialComponents/AppBar+Theming"
unit_tests.dependency "MaterialComponents/AppBar+TypographyThemer"
end
end
mdc.subspec "AppBar+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}", "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Container"
end
mdc.subspec "AppBar+ColorThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/NavigationBar+ColorThemer"
extension.dependency "MaterialComponents/Themes"
end
mdc.subspec "AppBar+TypographyThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/NavigationBar+TypographyThemer"
end
# Availability
mdc.subspec "Availability" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name}/src/*.h"
extension.source_files = "components/#{extension.base_name}/src/*.{h,m}"
end
# Banner
mdc.subspec "Banner" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}"
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/Buttons"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Typography"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}"
]
unit_tests.dependency "MaterialComponents/schemes/Container"
unit_tests.dependency "MaterialComponents/private/Color"
unit_tests.dependency "MaterialComponents/private/Math"
end
end
mdc.subspec "Banner+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/Buttons"
extension.dependency "MaterialComponents/Buttons+Theming"
extension.dependency "MaterialComponents/Elevation"
extension.dependency "MaterialComponents/Typography"
extension.dependency "MaterialComponents/schemes/Container"
end
# BottomAppBar
mdc.subspec "BottomAppBar" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/Buttons"
component.dependency "MaterialComponents/NavigationBar"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# BottomNavigation
mdc.subspec "BottomNavigation" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.exclude_files = [
"components/#{component.base_name}/src/MDCBottomNavigationBarController.*",
"components/#{component.base_name}/src/MaterialBottomNavigation+BottomNavigationController.h"
]
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/Shadow"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/Typography"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.exclude_files = [
"components/#{component.base_name}/tests/unit/MDCBottomNavigationBarControllerTests.m",
"components/#{component.base_name}/tests/unit/MDCBottomNavigationBarControllerDelegateTests.m"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
mdc.subspec "BottomNavigation+BottomNavigationController" do |component|
component.public_header_files = [
"components/#{component.base_name.split('+')[0]}/src/MDCBottomNavigationBarController.h",
"components/#{component.base_name.split('+')[0]}/src/MaterialBottomNavigation+BottomNavigationController.h",
]
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/MDCBottomNavigationBarController.*",
"components/#{component.base_name.split('+')[0]}/src/MaterialBottomNavigation+BottomNavigationController.h",
]
component.dependency "MaterialComponents/BottomNavigation"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCBottomNavigationBarControllerTests.m",
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCBottomNavigationBarControllerDelegateTests.m"
]
end
end
# BottomSheet
mdc.subspec "BottomSheet" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.framework = "WebKit"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/ShapeLibrary"
component.dependency "MaterialComponents/Shapes"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/private/KeyboardWatcher"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/BottomSheet+ShapeThemer"
end
end
mdc.subspec "BottomSheet+ShapeThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Shape"
end
# Buttons
mdc.subspec "Buttons" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency 'MDFTextAccessibility'
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/Shadow"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/ShapeLibrary"
component.dependency "MaterialComponents/Shapes"
component.dependency "MaterialComponents/Typography"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/Buttons+ShapeThemer"
unit_tests.dependency "MaterialComponents/Buttons+ColorThemer"
unit_tests.dependency "MaterialComponents/Buttons+ButtonThemer"
end
end
mdc.subspec "Buttons+ColorThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Color"
end
mdc.subspec "Buttons+ShapeThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Shape"
end
mdc.subspec "Buttons+TypographyThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Typography"
end
mdc.subspec "Buttons+ButtonThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/Buttons+ColorThemer"
extension.dependency "MaterialComponents/Buttons+ShapeThemer"
extension.dependency "MaterialComponents/Buttons+TypographyThemer"
extension.dependency "MaterialComponents/Palettes"
end
mdc.subspec "Buttons+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}+ColorThemer"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}+ShapeThemer"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}+TypographyThemer"
extension.dependency "MaterialComponents/ShadowElevations"
extension.dependency "MaterialComponents/schemes/Container"
end
# ButtonBar
mdc.subspec "ButtonBar" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/Buttons"
component.dependency "MaterialComponents/private/Application"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# Cards
mdc.subspec "Cards" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}"
component.exclude_files = [
"components/#{component.base_name}/src/MDCCard+Ripple.{h,m}",
"components/#{component.base_name}/src/MDCCardCollectionCell+Ripple.{h,m}"
]
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/Shapes"
component.dependency "MaterialComponents/private/Icons/ic_check_circle"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
mdc.subspec "Cards+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Container"
end
# Chips
mdc.subspec "Chips" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShapeLibrary"
component.dependency "MaterialComponents/Shapes"
component.dependency "MaterialComponents/TextFields"
component.dependency "MaterialComponents/Typography"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/Themes"
end
end
mdc.subspec "Chips+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Container"
extension.dependency "MaterialComponents/Typography"
end
# CollectionCells
mdc.subspec "CollectionCells" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.resources = [
"components/#{component.base_name}/src/Material#{component.base_name}.bundle"
]
component.framework = "CoreGraphics", "QuartzCore"
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/CollectionLayoutAttributes"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/Typography"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/private/Icons/ic_check"
component.dependency "MaterialComponents/private/Icons/ic_check_circle"
component.dependency "MaterialComponents/private/Icons/ic_chevron_right"
component.dependency "MaterialComponents/private/Icons/ic_info"
component.dependency "MaterialComponents/private/Icons/ic_radio_button_unchecked"
component.dependency "MaterialComponents/private/Icons/ic_reorder"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# CollectionLayoutAttributes
mdc.subspec "CollectionLayoutAttributes" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# Collections
mdc.subspec "Collections" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.resources = [
"components/#{component.base_name}/src/Material#{component.base_name}.bundle"
]
component.framework = "CoreGraphics", "QuartzCore"
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/CollectionCells"
component.dependency "MaterialComponents/CollectionLayoutAttributes"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/Typography"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# Dialogs
mdc.subspec "Dialogs" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.resources = [
"components/#{component.base_name}/src/Material#{component.base_name}.bundle"
]
component.dependency "MaterialComponents/Buttons"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/Typography"
component.dependency "MaterialComponents/private/KeyboardWatcher"
component.dependency "MaterialComponents/private/Math"
component.dependency "MDFInternationalization", "~> 3.0"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
mdc.subspec "Dialogs+ColorThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/Themes"
extension.dependency "MaterialComponents/Buttons+ColorThemer"
end
mdc.subspec "Dialogs+TypographyThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Typography"
extension.dependency "MaterialComponents/Buttons+TypographyThemer"
end
mdc.subspec "Dialogs+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}+ColorThemer"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}+TypographyThemer"
extension.dependency "MaterialComponents/ShadowElevations"
extension.dependency "MaterialComponents/schemes/Container"
extension.dependency "MaterialComponents/Buttons+Theming"
end
mdc.subspec "Elevation" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/private/Color"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.dependency "MaterialComponents/private/Color"
end
end
# FeatureHighlight
mdc.subspec "FeatureHighlight" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/Typography"
component.dependency "MDFTextAccessibility"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/FeatureHighlight+ColorThemer"
end
end
mdc.subspec "FeatureHighlight+ColorThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/Themes"
end
# FlexibleHeader
mdc.subspec "FlexibleHeader" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency 'MDFTextAccessibility'
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/FlexibleHeader+ShiftBehavior"
component.dependency "MaterialComponents/FlexibleHeader+ShiftBehaviorEnabledWithStatusBar"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/private/Application"
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/private/UIMetrics"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/ShadowLayer"
end
end
mdc.subspec "FlexibleHeader+ShiftBehavior" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
end
mdc.subspec "FlexibleHeader+ShiftBehaviorEnabledWithStatusBar" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/FlexibleHeader+ShiftBehavior"
end
# HeaderStackView
mdc.subspec "HeaderStackView" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# Ink
mdc.subspec "Ink" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/private/Color"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# LibraryInfo
mdc.subspec "LibraryInfo" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# List
mdc.subspec "List" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/Typography"
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
mdc.subspec "List+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Container"
end
# NavigationBar
mdc.subspec "NavigationBar" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}"
# Accessibility Configurator
component.dependency "MDFTextAccessibility"
component.dependency "MaterialComponents/ButtonBar"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Typography"
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/NavigationBar+ColorThemer"
unit_tests.dependency "MaterialComponents/NavigationBar+TypographyThemer"
end
end
mdc.subspec "NavigationBar+ColorThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Color"
end
mdc.subspec "NavigationBar+TypographyThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Typography"
end
# NavigationDrawer
mdc.subspec "NavigationDrawer" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.exclude_files = "components/#{component.base_name}/src/private/MDCBottomDrawerContainerViewController+Testing.h"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/private/UIMetrics"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}",
"components/#{component.base_name}/src/private/MDCBottomDrawerContainerViewController+Testing.h"
]
unit_tests.dependency "MaterialComponents/NavigationDrawer+ColorThemer"
end
end
mdc.subspec "NavigationDrawer+ColorThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Color"
end
mdc.subspec "NavigationDrawer+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Container"
end
# OverlayWindow
mdc.subspec "OverlayWindow" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/private/Application"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# PageControl
mdc.subspec "PageControl" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.resources = [
"components/#{component.base_name}/src/Material#{component.base_name}.bundle"
]
component.dependency "MDFInternationalization", "~> 3.0"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# Palettes
mdc.subspec "Palettes" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# ProgressView
mdc.subspec "ProgressView" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.resources = [
"components/#{component.base_name}/src/Material#{component.base_name}.bundle"
]
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
mdc.subspec "ProgressView+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Container"
extension.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{extension.base_name.split('+')[0]}/tests/unit/ProgressViewMaterialThemingTests.m",
]
unit_tests.resources = "components/#{extension.base_name.split('+')[0]}/tests/unit/#{extension.base_name.split('+')[1]}/resources/*"
end
end
# Ripple
mdc.subspec "Ripple" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}", "components/#{component.base_name}/src/private/*.{h,m}"
component.dependency "MaterialComponents/AnimationTiming"
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/private/Color"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# Shadow
mdc.subspec "Shadow" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}"
component.dependency "MaterialComponents/Availability"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# ShadowElevations
mdc.subspec "ShadowElevations" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}", "components/#{component.base_name}/src/private/*.{h,m}"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# ShadowLayer
mdc.subspec "ShadowLayer" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}"
component.dependency "MaterialComponents/ShadowElevations"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# ShapeLibrary
mdc.subspec "ShapeLibrary" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}", "components/#{component.base_name}/src/private/*.{h,m}"
component.dependency "MaterialComponents/Shapes"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = "components/#{component.base_name}/tests/unit/*.{h,m,swift}", "components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# Shapes
mdc.subspec "Shapes" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = "components/#{component.base_name}/src/*.{h,m}", "components/#{component.base_name}/src/private/*.{h,m}"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/private/Color"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = "components/#{component.base_name}/tests/unit/*.{h,m,swift}", "components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# Slider
mdc.subspec "Slider" do |component|
component.public_header_files = [
"components/#{component.base_name}/src/*.h"
]
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/private/ThumbTrack"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
mdc.subspec "Slider+ColorThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/Palettes"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Color"
end
# Snackbar
mdc.subspec "Snackbar" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.resources = [
"components/#{component.base_name}/src/Material#{component.base_name}.bundle"
]
component.dependency "MaterialComponents/AnimationTiming"
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/Buttons"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/OverlayWindow"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/Typography"
component.dependency "MaterialComponents/private/Application"
component.dependency "MaterialComponents/private/KeyboardWatcher"
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/private/Overlay"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/Themes"
end
end
# Tabs
mdc.subspec "Tabs" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}",
"components/#{component.base_name}/src/ExtendedAlignment/*.{h,m}",
"components/#{component.base_name}/src/SizeClassDelegate/*.{h,m}"
]
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/AnimationTiming"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/Typography"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/Tabs+TypographyThemer"
unit_tests.dependency "MaterialComponents/Themes"
end
end
mdc.subspec "Tabs+TypographyThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/schemes/Typography"
end
mdc.subspec "Tabs+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}+TypographyThemer"
extension.dependency "MaterialComponents/schemes/Container"
extension.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{extension.base_name.split('+')[0]}/tests/unit/TabsThemingTests.m",
]
end
end
mdc.subspec "Tabs+TabBarView" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/AnimationTiming"
extension.dependency "MaterialComponents/Ripple"
extension.dependency "MaterialComponents/private/Math"
extension.dependency "MDFInternationalization", "~> 3.0"
extension.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{extension.base_name.split('+')[0]}/tests/unit/MDCTabBarViewIndicatorViewTests.m",
"components/#{extension.base_name.split('+')[0]}/tests/unit/MDCTabBarViewItemViewTests.m",
"components/#{extension.base_name.split('+')[0]}/tests/unit/MDCTabBarViewTests.m",
]
unit_tests.dependency "MaterialComponents/AppBar"
unit_tests.dependency "MaterialComponents/HeaderStackView"
unit_tests.dependency "MaterialComponents/Typography"
end
end
mdc.subspec "Tabs+TabBarViewTheming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}+TabBarView"
extension.dependency "MaterialComponents/schemes/Container"
extension.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{extension.base_name.split('+')[0]}/tests/unit/MDCTabBarViewThemingTests.m",
]
unit_tests.dependency "MaterialComponents/schemes/Container"
end
end
# TextFields
mdc.subspec "TextFields" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/AnimationTiming"
component.dependency "MaterialComponents/Buttons"
component.dependency "MaterialComponents/Elevation"
component.dependency "MaterialComponents/Palettes"
component.dependency "MaterialComponents/Typography"
component.dependency "MaterialComponents/private/Math"
component.dependency "MDFInternationalization", "~> 3.0"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/TextFields+ColorThemer"
unit_tests.dependency "MaterialComponents/Themes"
end
end
# TextControls+Enums
mdc.subspec "TextControls+Enums" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}"
end
# TextControls+BaseTextAreas
mdc.subspec "TextControls+BaseTextAreas" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [ "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/private/TextControlsPrivate+Shared"
component.dependency "MaterialComponents/private/TextControlsPrivate+BaseStyle"
component.dependency "MDFInternationalization", "~> 3.0"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCBaseTextAreaTests.m"
]
unit_tests.dependency "MaterialComponents/schemes/Container"
end
end
# TextControls+BaseTextFields
mdc.subspec "TextControls+BaseTextFields" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [ "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/private/TextControlsPrivate+Shared"
component.dependency "MaterialComponents/private/TextControlsPrivate+BaseStyle"
component.dependency "MaterialComponents/private/TextControlsPrivate+TextFields"
component.dependency "MDFInternationalization", "~> 3.0"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCBaseTextFieldTests.m"
]
unit_tests.dependency "MaterialComponents/schemes/Container"
end
end
# TextControls+FilledTextAreas
mdc.subspec "TextControls+FilledTextAreas" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/TextControls+BaseTextAreas"
component.dependency "MaterialComponents/private/TextControlsPrivate+FilledStyle"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCFilledTextAreaTests.m"
]
unit_tests.dependency "MaterialComponents/schemes/Container"
end
end
# TextControls+FilledTextAreasTheming
mdc.subspec "TextControls+FilledTextAreasTheming" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/TextControls+FilledTextAreas"
component.dependency "MaterialComponents/schemes/Container"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCFilledTextAreaThemingTests.m"
]
end
end
# TextControls+FilledTextFields
mdc.subspec "TextControls+FilledTextFields" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/TextControls+BaseTextFields"
component.dependency "MaterialComponents/private/TextControlsPrivate+FilledStyle"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCFilledTextFieldTests.m"
]
unit_tests.dependency "MaterialComponents/schemes/Container"
end
end
# TextControls+FilledTextFieldsTheming
mdc.subspec "TextControls+FilledTextFieldsTheming" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/TextControls+FilledTextFields"
component.dependency "MaterialComponents/schemes/Container"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCFilledTextFieldThemingTests.m"
]
end
end
# TextControls+OutlinedTextAreas
mdc.subspec "TextControls+OutlinedTextAreas" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/TextControls+BaseTextAreas"
component.dependency "MaterialComponents/private/TextControlsPrivate+OutlinedStyle"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCOutlinedTextAreaTests.m"
]
unit_tests.dependency "MaterialComponents/schemes/Container"
end
end
# TextControls+OutlinedTextAreasTheming
mdc.subspec "TextControls+OutlinedTextAreasTheming" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/TextControls+OutlinedTextAreas"
component.dependency "MaterialComponents/schemes/Container"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCOutlinedTextAreaThemingTests.m"
]
unit_tests.dependency "MaterialComponents/Availability"
end
end
# TextControls+OutlinedTextFields
mdc.subspec "TextControls+OutlinedTextFields" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/TextControls+BaseTextFields"
component.dependency "MaterialComponents/private/TextControlsPrivate+OutlinedStyle"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCOutlinedTextFieldTests.m"
]
unit_tests.dependency "MaterialComponents/schemes/Container"
end
end
# TextControls+OutlinedTextFieldsTheming
mdc.subspec "TextControls+OutlinedTextFieldsTheming" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/TextControls+OutlinedTextFields"
component.dependency "MaterialComponents/schemes/Container"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name.split('+')[0]}/tests/unit/MDCOutlinedTextFieldThemingTests.m"
]
end
end
# TextControls+UnderlinedTextFields
mdc.subspec "TextControls+UnderlinedTextFields" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/TextControls+BaseTextFields"
component.dependency "MaterialComponents/private/TextControlsPrivate+UnderlinedStyle"
end
# TextControls+UnderlinedTextFieldsTheming
mdc.subspec "TextControls+UnderlinedTextFieldsTheming" do |component|
component.public_header_files = "components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}",
"components/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/private/*.{h,m}"
]
component.dependency "MaterialComponents/TextControls+UnderlinedTextFields"
component.dependency "MaterialComponents/schemes/Container"
end
mdc.subspec "TextFields+ColorThemer" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
]
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/Themes"
end
mdc.subspec "TextFields+Theming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}"
extension.dependency "MaterialComponents/#{extension.base_name.split('+')[0]}+ColorThemer"
extension.dependency "MaterialComponents/schemes/Container"
end
# Themes
mdc.subspec "Themes" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/schemes/Color"
component.dependency "MaterialComponents/schemes/Typography"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
end
end
# Typography
mdc.subspec "Typography" do |component|
component.public_header_files = "components/#{component.base_name}/src/*.h"
component.source_files = [
"components/#{component.base_name}/src/*.{h,m}",
"components/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/private/Application"
component.dependency "MaterialComponents/private/Math"
component.dependency "MDFTextAccessibility"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/#{component.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/private/Application"
end
end
mdc.subspec "schemes" do |scheme_spec|
scheme_spec.subspec "Color" do |scheme|
scheme.ios.deployment_target = '10.0'
scheme.public_header_files = "components/schemes/#{scheme.base_name}/src/*.h"
scheme.source_files = "components/schemes/#{scheme.base_name}/src/*.{h,m}"
scheme.dependency "MaterialComponents/Availability"
scheme.dependency "MaterialComponents/private/Color"
scheme.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/schemes/#{scheme.base_name}/tests/unit/*.{h,m,swift}",
"components/schemes/#{scheme.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/schemes/#{scheme.base_name}/tests/unit/resources/*"
unit_tests.dependency "MaterialComponents/private/Math"
end
end
scheme_spec.subspec "Container" do |scheme|
scheme.ios.deployment_target = '10.0'
scheme.public_header_files = "components/schemes/#{scheme.base_name}/src/*.h"
scheme.source_files = "components/schemes/#{scheme.base_name}/src/*.{h,m}"
scheme.dependency "MaterialComponents/schemes/Color"
scheme.dependency "MaterialComponents/schemes/Typography"
scheme.dependency "MaterialComponents/schemes/Shape"
scheme.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/schemes/#{scheme.base_name}/tests/unit/*.{h,m,swift}",
"components/schemes/#{scheme.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
end
end
scheme_spec.subspec "Shape" do |scheme|
scheme.ios.deployment_target = '10.0'
scheme.public_header_files = "components/schemes/#{scheme.base_name}/src/*.h"
scheme.source_files = "components/schemes/#{scheme.base_name}/src/*.{h,m}"
scheme.dependency "MaterialComponents/ShapeLibrary"
scheme.dependency "MaterialComponents/Shapes"
scheme.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/schemes/#{scheme.base_name}/tests/unit/*.{h,m,swift}",
"components/schemes/#{scheme.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/schemes/#{scheme.base_name}/tests/unit/resources/*"
end
end
scheme_spec.subspec "Typography" do |scheme|
scheme.ios.deployment_target = '10.0'
scheme.public_header_files = "components/schemes/#{scheme.base_name}/src/*.h"
scheme.source_files = "components/schemes/#{scheme.base_name}/src/*.{h,m}"
scheme.dependency "MaterialComponents/Typography"
scheme.dependency "MaterialComponents/schemes/Typography+BasicFontScheme"
scheme.dependency "MaterialComponents/schemes/Typography+Scheming"
scheme.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/schemes/#{scheme.base_name}/tests/unit/*.{h,m,swift}",
"components/schemes/#{scheme.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/schemes/#{scheme.base_name}/tests/unit/resources/*"
end
end
scheme_spec.subspec "Typography+BasicFontScheme" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/schemes/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/schemes/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/schemes/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
end
scheme_spec.subspec "Typography+Scheming" do |extension|
extension.ios.deployment_target = '10.0'
extension.public_header_files = "components/schemes/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.h"
extension.source_files = [
"components/schemes/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/*.{h,m}",
"components/schemes/#{extension.base_name.split('+')[0]}/src/#{extension.base_name.split('+')[1]}/private/*.{h,m}"
]
end
end
mdc.subspec "private" do |private_spec|
# Pull in icon dependencies
# The implementation of this method is generated by running scripts/sync_icons.sh
# and defined in scripts/generated/icons.rb
registerIcons(private_spec)
private_spec.subspec "Application" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name}/src/*.h"
component.source_files = "components/private/#{component.base_name}/src/*.{h,m}"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/private/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/private/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/private/#{component.base_name}/tests/unit/resources/*"
end
end
private_spec.subspec "Color" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name}/src/*.h"
component.source_files = "components/private/#{component.base_name}/src/*.{h,m}"
component.dependency "MaterialComponents/Availability"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/private/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/private/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/private/#{component.base_name}/tests/unit/resources/*"
end
end
private_spec.subspec "KeyboardWatcher" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name}/src/*.h"
component.source_files = "components/private/#{component.base_name}/src/*.{h,m}"
component.dependency "MaterialComponents/private/Application"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/private/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/private/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/private/#{component.base_name}/tests/unit/resources/*"
end
end
private_spec.subspec "Math" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name}/src/*.h"
component.source_files = "components/private/#{component.base_name}/src/*.{h,m}"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/private/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/private/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/private/#{component.base_name}/tests/unit/resources/*"
end
end
private_spec.subspec "Overlay" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name}/src/*.h"
component.source_files = [
"components/private/#{component.base_name}/src/*.{h,m}",
"components/private/#{component.base_name}/src/private/*.{h,m}"
]
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/private/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/private/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/private/#{component.base_name}/tests/unit/resources/*"
end
end
private_spec.subspec "TextControlsPrivate+Shared" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [ "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}"
]
component.dependency "MaterialComponents/TextControls+Enums"
component.dependency "MaterialComponents/AnimationTiming"
component.dependency "MaterialComponents/private/Math"
end
private_spec.subspec "TextControlsPrivate+BaseStyle" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [ "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}"
]
component.dependency "MaterialComponents/private/TextControlsPrivate+Shared"
component.dependency "MaterialComponents/AnimationTiming"
component.dependency "MaterialComponents/private/Math"
end
private_spec.subspec "TextControlsPrivate+FilledStyle" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [ "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/AnimationTiming"
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/private/TextControlsPrivate+Shared"
component.dependency "MaterialComponents/private/TextControlsPrivate+UnderlinedStyle"
end
private_spec.subspec "TextControlsPrivate+OutlinedStyle" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [ "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/AnimationTiming"
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/private/TextControlsPrivate+Shared"
end
private_spec.subspec "TextControlsPrivate+TextFields" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [ "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}"
]
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/private/TextControlsPrivate+Shared"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/private/#{component.base_name.split('+')[0]}/tests/unit/*.{h,m,swift}"
]
unit_tests.dependency "MaterialComponents/schemes/Container"
end
end
private_spec.subspec "TextControlsPrivate+UnderlinedStyle" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.h"
component.source_files = [ "components/private/#{component.base_name.split('+')[0]}/src/#{component.base_name.split('+')[1]}/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/AnimationTiming"
component.dependency "MaterialComponents/private/Math"
component.dependency "MaterialComponents/private/TextControlsPrivate+Shared"
end
private_spec.subspec "ThumbTrack" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name}/src/*.h"
component.source_files = [
"components/private/#{component.base_name}/src/*.{h,m}",
"components/private/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/Availability"
component.dependency "MaterialComponents/Ink"
component.dependency "MaterialComponents/Ripple"
component.dependency "MaterialComponents/ShadowElevations"
component.dependency "MaterialComponents/ShadowLayer"
component.dependency "MaterialComponents/ShapeLibrary"
component.dependency "MaterialComponents/Typography"
component.dependency "MDFInternationalization", "~> 3.0"
component.dependency "MaterialComponents/private/Math"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/private/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/private/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/private/#{component.base_name}/tests/unit/resources/*"
end
end
private_spec.subspec "UIMetrics" do |component|
component.ios.deployment_target = '10.0'
component.public_header_files = "components/private/#{component.base_name}/src/*.h"
component.source_files = [
"components/private/#{component.base_name}/src/*.{h,m}",
"components/private/#{component.base_name}/src/private/*.{h,m}"
]
component.dependency "MaterialComponents/private/Application"
component.test_spec 'UnitTests' do |unit_tests|
unit_tests.source_files = [
"components/private/#{component.base_name}/tests/unit/*.{h,m,swift}",
"components/private/#{component.base_name}/tests/unit/supplemental/*.{h,m,swift}"
]
unit_tests.resources = "components/private/#{component.base_name}/tests/unit/resources/*"
end
end
end
end