Class: CBin::Framework::Builder

Inherits:
Object
  • Object
show all
Includes:
Pod
Defined in:
lib/cocoapods-fy-bin/helpers/framework_builder.rb

Instance Method Summary collapse

Methods included from Pod

match_version?

Constructor Details

#initialize(spec, file_accessor, platform, source_dir, archs, pre_build_shell, suf_build_shell, build_permission, toolchain, isRootSpec = true, build_model = "Debug") ⇒ Builder

Debug下还待完成



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/cocoapods-fy-bin/helpers/framework_builder.rb', line 13

def initialize(spec, file_accessor, platform, source_dir, archs, pre_build_shell, suf_build_shell, build_permission, toolchain, isRootSpec = true, build_model="Debug")
  @spec = spec
  @source_dir = source_dir
  @file_accessor = file_accessor
  @platform = platform
  @build_model = build_model
  @isRootSpec = isRootSpec
  @archs = archs
  @pre_build_shell = pre_build_shell
  @suf_build_shell = suf_build_shell
  @build_permission = build_permission
  @toolchain = toolchain
  #vendored_static_frameworks 只有 xx.framework  需要拼接为 xx.framework/xx by slj
  vendored_static_frameworks = file_accessor.vendored_static_frameworks.map do |framework|
    path = framework
    extn = File.extname  path
    if extn.downcase == '.framework'
      path = File.join(path,File.basename(path, extn))
    end
    path
  end

  @vendored_libraries = (vendored_static_frameworks + file_accessor.vendored_static_libraries).map(&:to_s)
end

Instance Method Details

#buildObject



38
39
40
41
42
43
# File 'lib/cocoapods-fy-bin/helpers/framework_builder.rb', line 38

def build
  defines = compile
  # build_sim_libraries(defines)

  defines
end

#lipo_build(defines) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/cocoapods-fy-bin/helpers/framework_builder.rb', line 45

def lipo_build(defines)
  UI.section("Building static Library #{@spec}") do
    # defines = compile

    # build_sim_libraries(defines)
    output = framework.fwk_path + Pathname.new(treated_framework_name)
    build_static_library_for_ios(output)
    copy_private_headers
    copy_headers
    copy_license
    copy_resources
    copy_info_plist
    copy_dsym
    cp_to_source_dir
  end
  framework
end