Commit 6dc80f02 authored by Fabio Pelosin's avatar Fabio Pelosin

[#149] Documentation and license - syntax change

parent c2008b4f
......@@ -40,7 +40,6 @@ module Pod
Pod::Spec.new do |s|
s.name = '#{@name}'
s.version = '1.0.0'
s.license = 'MIT'
s.summary = 'A short description of #{@name}.'
s.homepage = 'http://EXAMPLE/#{@name}'
s.author = { '#{author}' => '#{email}' }
......@@ -53,30 +52,37 @@ module Pod
s.description = 'An optional longer description of #{@name}.'
# If available specify the online link for the documentation and
# the atom link of the Xcode 4 compatible documentation set.
# If the pod supports appledoc documentation generation enable it
# and specify the appledoc options. Appledoc will be run on the files
# specified in s.source_file.
#
# s.documentation[:html] = 'http://EXAMPLE/#{@name}/documentation'
# s.documentation[:atom] = 'http://EXAMPLE/#{@name}/com.company.#{@name}.atom'
# s.documentation[:appledoc] = true
# s.documentation[:options] << '--project-name' << '#{@name}' <<
# '--project-company' << '"Company Name"' <<
# '--company-id' << 'com.company' <<
# '--output' << './doc' <<
# '--ignore' << 'Common' <<
# '--ignore' << '.m'
# Specify the file containing the license of the pod.
# If a dedicated license file is not available specify a file containing
# the license and the ruby range of the relevant lines. If the license
# is not available in any file it is specify the text directly.
#
s.license_text[:file] = 'LICENSE'
# s.license_text[:range] = 1..15
# s.license_text[:text] = 'Permission is hereby granted ...'
# If available specify the documentation sources.
# :html The online link for the documentation.
# :atom The atom link of the Xcode 4 compatible documentation set.
# :appledoc If the pod uses appledoc specify the options. The command
# will be run on the files specified in s.source_file.
#
s.documentation = {
# :html => 'http://EXAMPLE/#{@name}/documentation',
# :atom => 'http://EXAMPLE/#{@name}/com.company.#{@name}.atom',
# :appledoc => ['--project-name', '#{@name}',
# '--project-company', '"Company Name"',
# '--company-id', 'com.company',
# '--output', './doc',
# '--ignore', 'Common',
# '--ignore', '.m']
}
# Specify the license of the pod.
# :type The type of the license.
# :file The file containing the license of the pod.
# :range If a dedicated license file is not available specify a file
# that contains the license and the range of the lines
# containing the license.
# :text If the license is not available in any of the files it should be
# included here.
s.license = {
:type => 'MIT',
:file => 'LICENSE',
# :range => 1..15,
# :text => 'Permission is hereby granted ...'
}
# If this Pod runs only on iOS or OS X, then specify that with one of
# these, or none if it runs on both platforms.
......
......@@ -29,8 +29,7 @@ module Pod
# TODO This is just to work around a MacRuby bug
def post_initialize
@documentation, @license_text = {}, {}
@dependencies, @source_files, @resources, @clean_paths, @subspecs, @documentation[:options] = [], [], [], [], [], []
@dependencies, @source_files, @resources, @clean_paths, @subspecs, = [], [], [], [], []
@platform = Platform.new(nil)
@xcconfig = Xcodeproj::Config.new
end
......@@ -41,8 +40,6 @@ module Pod
attr_accessor :homepage
attr_accessor :description
attr_accessor :source
attr_accessor :license
attr_accessor :license_text
attr_accessor :documentation
attr_reader :version
......@@ -61,12 +58,22 @@ module Pod
alias_method :author=, :authors=
attr_reader :authors
def summary=(summary)
@summary = summary
end
attr_reader :summary
def license=(license)
if license.kind_of?(Array)
@license = license[1].merge({:type => license[0]})
elsif license.kind_of?(String)
@license = {:type => license}
else
@license = license
end
end
attr_reader :license
def description
@description || summary
end
......@@ -154,11 +161,11 @@ module Pod
# Not attributes
include Config::Mixin
def local?
!source.nil? && !source[:local].nil?
end
def local_path
Pathname.new(File.expand_path(source[:local]))
end
......@@ -381,7 +388,7 @@ module Pod
end
# Override the getters to always return the value of the top level parent spec.
[:version, :summary, :platform, :license, :license_text, :authors, :requires_arc, :compiler_flags, :documentation].each do |attr|
[:version, :summary, :platform, :license, :authors, :requires_arc, :compiler_flags, :documentation].each do |attr|
define_method(attr) { top_level_parent.send(attr) }
end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment