require "json"

package = JSON.parse(File.read(File.join(__dir__, "package.json")))

Pod::Spec.new do |s|
  s.name         = "RNDns"
  s.version      = package["version"]
  s.summary      = package["description"]
  s.homepage     = package["homepage"]
  s.license      = package["license"]
  s.authors      = package["author"]
  
  s.platform     = :ios, "13.0"
  s.source       = { :git => package["repository"]["url"].gsub("git+", ""), :tag => "v#{s.version}" }

  s.source_files = [
    "ios/**/*.{h,m,mm,swift}",
    "cpp/**/*.{hpp,cpp}"
  ]

  s.dependency "React-Core"

  # Link the Rust dynamic framework
  s.vendored_frameworks = "ios/Frameworks/RNDns.xcframework"

  s.pod_target_xcconfig = {
    "HEADER_SEARCH_PATHS" => [
      "\"$(PODS_ROOT)/react-native-nitro-modules/ios\"",
      "\"$(PODS_ROOT)/Headers/Public/react-native-nitro-modules\"",
      "\"$(PODS_TARGET_SRCROOT)/nitrogen/generated/shared/c++\"",
      "\"$(PODS_TARGET_SRCROOT)/nitrogen/generated/shared\"",
      "\"$(PODS_TARGET_SRCROOT)/nitrogen/generated/ios/c++\"",
      "\"$(PODS_TARGET_SRCROOT)/nitrogen/generated/ios\"",
      "\"$(PODS_TARGET_SRCROOT)/cpp\"",
      "\"$(PODS_TARGET_SRCROOT)/ios/NitroDns\""
    ],
    "OTHER_SWIFT_FLAGS" => "-cxx-interoperability-mode=default",
    "SWIFT_INCLUDE_PATHS" => "$(PODS_TARGET_SRCROOT)/ios/NitroDns"
  }


  # Add all files generated by Nitrogen
  if File.exist?('nitrogen/generated/ios/RNDns+autolinking.rb')
    load 'nitrogen/generated/ios/RNDns+autolinking.rb'
    add_nitrogen_files(s)
  end
end
