material-components_materia.../MaterialComponentsAlpha.podspec
featherless bb194fa168
Introduce an Alpha program for MDC components. (#4892)
The intent of the Alpha program is to provide a place for component code to land that may not be fully ready for production, but for which we still want active collaboration with the team and potentially some early adoption with select clients.

Any new component that we implement will first land in the MaterialComponentsAlpha.podspec as a subspec, similar to how components are defined in the MaterialComponents.podspec.

Alpha components will appear in MDCCatalog and MDCDragons along with all of their examples and unit tests after a `pod install`. From the point of view of our catalogs, these components are just like any other.

From the point of view of the public, Alpha components are not made available as part of our published pod. External clients that wish to use an Alpha component in their app will need to manually clone the repo and add the code to their project. This is by design.

Alpha components are not subject to our deprecation policy and we will not provide behavioral flags for gradual migration of runtime behaviors.

Changes to Alpha components will have **no** effect on our release version numbers.

Once a component is ready for general production use, we will graduate the component to the MaterialComponents.podspec. At this point the component will be subject to all of the processes and expectations that any other production component.
2018-08-24 14:55:42 -04:00

26 lines
1.2 KiB
Ruby

Pod::Spec.new do |mdc|
mdc.name = "MaterialComponentsAlpha"
mdc.version = "60.2.0"
mdc.authors = "The Material Components authors."
mdc.summary = "A collection of stand-alone alpha UI libraries that are not yet guaranteed to be ready for general production use. Use with caution."
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 = '8.0'
# See MaterialComponents.podspec for the subspec structure and template.
mdc.subspec "private" do |private_spec|
# CocoaPods requires at least one file to show up in a subspec, so we depend on the fake
# "Alpha" component as a baseline.
private_spec.subspec "Alpha" do |component|
component.ios.deployment_target = '8.0'
component.public_header_files = "components/private/#{component.base_name}/src/*.h"
component.source_files = "components/private/#{component.base_name}/src/*.{h,m}"
end
end
end