Class: SpecGenerate

Inherits:
Object
  • Object
show all
Defined in:
lib/cocoapods-packageall/command/spec_generate.rb

Instance Method Summary collapse

Constructor Details

#initialize(specfication) ⇒ SpecGenerate

Returns a new instance of SpecGenerate.



5
6
7
8
9
10
11
# File 'lib/cocoapods-packageall/command/spec_generate.rb', line 5

def initialize(specfication)
    file_path = fwk_spec_file(specfication)
    file_path.mkpath unless file_path.exist?
    @specfication = specfication
    @file_path = file_path
    @black_list = black_list
end

Instance Method Details

#black_listObject



13
14
15
16
17
18
19
# File 'lib/cocoapods-packageall/command/spec_generate.rb', line 13

def black_list
    path = Pathname.new(Dir.getwd) + 'blacklist.txt'
    if path.exist?
        return path.readlines.map { |line| line.chomp }
    end
    []
end

#cache_rootObject



25
26
27
28
29
# File 'lib/cocoapods-packageall/command/spec_generate.rb', line 25

def cache_root
    @cache_root = Pathname.new(Dir.getwd) + Frameworkspec
    @cache_root.mkpath unless @cache_root.exist?
    @cache_root
end

#fwk_spec_file(specfication) ⇒ Object



21
22
23
# File 'lib/cocoapods-packageall/command/spec_generate.rb', line 21

def fwk_spec_file(specfication)
    cache_root + specfication.name + specfication.version.to_s
end

#generateObject



64
65
66
# File 'lib/cocoapods-packageall/command/spec_generate.rb', line 64

def generate
    write_spec(@specfication,@file_path)
end

#write_black_spec(spec, path) ⇒ Object



40
41
42
43
# File 'lib/cocoapods-packageall/command/spec_generate.rb', line 40

def write_black_spec(spec, path)
    file = path + "#{spec.name}.podspec.json"
    file.open('w') { |f| f.write spec.to_pretty_json }
end

#write_spec(spec, path) ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/cocoapods-packageall/command/spec_generate.rb', line 31

def write_spec(spec, path)
    path.dirname.mkpath
    if @black_list.include? spec.name
        write_black_spec(spec,path)
    else
        write_white_spec(spec,path)
    end
end

#write_white_spec(spec, path) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/cocoapods-packageall/command/spec_generate.rb', line 45

def write_white_spec(spec, path)
    file = path + "#{spec.name}.podspec"
    generate_spec = true
    builder = Pod::SpecficationBuilder.new(spec,false,false,false,generate_spec)
    podspec = builder.

    spec.available_platforms.each do |platform|
        # build_in_sandbox(platform)
  
        if generate_spec == false
            podspec += builder.spec_platform(platform)
        end
    end
  
    podspec += builder.spec_close
    
    file.open('w') { |f| f.write podspec }
end