BazelCon 2022 16-17 নভেম্বর নিউ ইয়র্ক এবং অনলাইনে আসছে। নিবন্ধন আজ!
নতুন: 15 নভেম্বর সম্প্রদায় দিবসের জন্য আমাদের সাথে যোগ দিন! বিস্তারিত এবং নিবন্ধন.

আপেল_সাধারণ

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
স্টারলার্কের জন্য অ্যাপল নিয়ম বাস্তবায়নের অভ্যন্তরীণ অ্যাক্সেস করার জন্য ফাংশন।

সদস্যরা

apple_host_system_env

dict apple_common.apple_host_system_env(xcode_config)

এনভায়রনমেন্ট ভেরিয়েবলের একটি ডিক্ট রিটার্ন করে যা অ্যাপল হোস্ট সিস্টেমে বিল্ড টুল চালানোর জন্য প্রয়োজন এমন অ্যাকশনের জন্য সেট করা উচিত, যেমন এক্সকোডের সংস্করণ যা ব্যবহার করা উচিত। কীগুলি পরিবর্তনশীল নাম এবং মানগুলি তাদের সংশ্লিষ্ট মান।

পরামিতি

প্যারামিটার বর্ণনা
xcode_config প্রয়োজনীয়
xcode কনফিগারেশন সম্পর্কে তথ্য ধারণকারী একটি প্রদানকারী।

apple_toolchain

apple_toolchain apple_common.apple_toolchain()

আপেল টুলচেন থেকে আইটেম সমাধানের জন্য উপযোগিতা।

AppleDebugOutputs

Provider apple_common.AppleDebugOutputs

AppleDebugOutputs প্রদানকারীর জন্য কনস্ট্রাক্টর/কী।

যদি একটি টার্গেট AppleDebugOutputs প্রদানকারীকে প্রচার করে, তাহলে এটিকে পুনরুদ্ধার করার জন্য এটি ব্যবহার করুন। উদাহরণ:

dep = ctx.attr.deps[0]
p = dep[apple_common.AppleDebugOutputs]

অ্যাপলডাইনামিক ফ্রেমওয়ার্ক

Provider apple_common.AppleDynamicFramework

AppleDynamicFramework প্রদানকারীর জন্য কনস্ট্রাক্টর/কী।

যদি একটি টার্গেট AppleDynamicFramework প্রদানকারীকে প্রচার করে, তাহলে এটিকে পুনরুদ্ধার করার জন্য এটি ব্যবহার করুন। উদাহরণ:

dep = ctx.attr.deps[0]
p = dep[apple_common.AppleDynamicFramework]

অ্যাপল এক্সিকিউটেবল বাইনারি

Provider apple_common.AppleExecutableBinary

AppleExecutableBinary প্রদানকারীর জন্য কনস্ট্রাক্টর/কী।

যদি একটি টার্গেট AppleExecutableBinary প্রদানকারীকে প্রচার করে, তাহলে এটিকে পুনরুদ্ধার করার জন্য এটি ব্যবহার করুন। উদাহরণ:

dep = ctx.attr.deps[0]
p = dep[apple_common.AppleExecutableBinary]

ডটেড_সংস্করণ

DottedVersion apple_common.dotted_version(version)

একটি নতুন ডটেড সংস্করণ উদাহরণ তৈরি করে।

পরামিতি

প্যারামিটার বর্ণনা
version প্রয়োজনীয়
ডটেড সংস্করণের স্ট্রিং উপস্থাপনা।

struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], stamp=-1)

অ্যাপল প্ল্যাটফর্মকে লক্ষ্য করে একটি (সম্ভাব্য বহু-আর্কিটেকচার) বাইনারি লিঙ্ক করে। এই পদ্ধতিটি নিয়ম_অ্যাপল ডোমেনে স্টারলার্ক apple_binary নিয়মের যুক্তির একটি বড় অংশ নিয়ে গঠিত এবং নিয়ম_অ্যাপলে স্টারলার্কের সাথে এর লিঙ্কিং লজিক স্থানান্তরিত করতে সহায়তা করার জন্য বিদ্যমান।

এই API অত্যন্ত পরীক্ষামূলক এবং যেকোনো সময় পরিবর্তন হতে পারে। এই সময়ে এই ফাংশনের স্থায়িত্বের উপর নির্ভর করবেন না।

পরামিতি

প্যারামিটার বর্ণনা
প্রয়োজনীয়
স্টারলার্ক নিয়ম প্রসঙ্গ।
sequence of Target s; or None ; ডিফল্ট = কোনোটিই নয়
Target একটি তালিকা যা বাইনারির নির্ভরতা গ্রাফে রয়েছে কিন্তু যার লাইব্রেরিগুলিকে বাইনারিতে লিঙ্ক করা উচিত নয়৷ এটি নির্ভরতাগুলির ক্ষেত্রে যা রানটাইমে অন্য ছবিতে পাওয়া যাবে, যেমন বান্ডেল লোডার বা এই বাইনারি দ্বারা লোড করা যেকোনো গতিশীল লাইব্রেরি/ফ্রেমওয়ার্ক।
sequence of string s ; ডিফল্ট = []
লিঙ্কার অ্যাকশনে অতিরিক্ত লিঙ্কঅপ্ট পাস করতে হবে।
sequence of File s ; ডিফল্ট = []
লিঙ্কার অ্যাকশনে পাস করার জন্য অতিরিক্ত ফাইল।
ডিফল্ট = -1
লিঙ্ক করা বাইনারিতে বিল্ড তথ্য অন্তর্ভুক্ত করা হবে কিনা। যদি 1, বিল্ড তথ্য সবসময় অন্তর্ভুক্ত করা হয়. যদি 0, বিল্ড তথ্য সর্বদা বাদ দেওয়া হয়। যদি -1 (ডিফল্ট), তাহলে আচরণটি --[না] স্ট্যাম্প পতাকা দ্বারা নির্ধারিত হয়। পরীক্ষার নিয়মের জন্য এক্সিকিউটেবল আউটপুট তৈরি করার সময় এটি 0 এ সেট করা উচিত।

struct apple_common.link_multi_arch_static_library(ctx)

অ্যাপল প্ল্যাটফর্মকে লক্ষ্য করে একটি (সম্ভাব্য বহু-আর্কিটেকচার) স্ট্যাটিক লাইব্রেরি লিঙ্ক করে। এই পদ্ধতিতে স্টারলার্ক apple_static_library নিয়ম লজিকের একটি অংশ রয়েছে, রুলস_অ্যাপল ডোমেনে এবং এটির লিংকিং লজিককে স্টারলার্ক-এ রুলস_অ্যাপলে স্থানান্তর করতে সহায়তা করার জন্য বিদ্যমান।

এই API অত্যন্ত পরীক্ষামূলক এবং যেকোনো সময় পরিবর্তন হতে পারে। এই সময়ে এই ফাংশনের স্থায়িত্বের উপর নির্ভর করবেন না।

পরামিতি

প্যারামিটার বর্ণনা
প্রয়োজনীয়
স্টারলার্ক নিয়ম প্রসঙ্গ।

বহু_আর্ক_বিভক্ত

SplitTransitionProviderApi apple_common.multi_arch_split

এক বা একাধিক Apple প্ল্যাটফর্মে নির্ভরতা তৈরি করতে নিয়ম বৈশিষ্ট্যগুলির জন্য একটি কনফিগারেশন রূপান্তর।

এই ট্রানজিশনের ব্যবহারের জন্য 'প্ল্যাটফর্ম_টাইপ' এবং 'ন্যূনতম_ওএস_সংস্করণ' স্ট্রিং বৈশিষ্ট্যগুলি নিয়মে সংজ্ঞায়িত এবং বাধ্যতামূলক হওয়া প্রয়োজন।

প্ল্যাটফর্ম_টাইপ অ্যাট্রিবিউটের মান টার্গেট আর্কিটেকচারকে নির্দেশ করবে যার জন্য এই কনফিগারেশন ট্রানজিশনের সাথে নির্ভরতা তৈরি করা হবে।

বিকল্পগুলি হল:

  • ios : আর্কিটেকচারগুলি --ios_multi_cpus থেকে সংগ্রহ করা হয়েছে।
  • macos : --macos_cpus থেকে সংগ্রহ করা আর্কিটেকচার।
  • tvos : আর্কিটেকচারগুলি --tvos_cpus থেকে সংগ্রহ করা হয়েছে।
  • watchos : --watchos_cpus থেকে সংগ্রহ করা আর্কিটেকচার।

minimum_os_version একটি ডটেড সংস্করণ স্ট্রিং হওয়া উচিত যেমন '7.3', এবং প্ল্যাটফর্মের প্রকারের উপর ভিত্তি করে একইভাবে কনফিগারেশনে ন্যূনতম অপারেটিং সিস্টেম সেট করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, প্ল্যাটফর্ম_টাইপ 'ios' এবং minimum_os_version '8.0' নির্দিষ্ট করা নিশ্চিত করবে যে নির্ভরতা ন্যূনতম iOS সংস্করণ '8.0' এর সাথে তৈরি করা হয়েছে।

new_dynamic_framework_provider

AppleDynamicFramework apple_common.new_dynamic_framework_provider(binary=None, cc_info=None, objc, framework_dirs=None, framework_files=None)

একটি নতুন AppleDynamicFramework প্রদানকারী উদাহরণ তৈরি করে।

পরামিতি

প্যারামিটার বর্ণনা
binary File ; or None ; ডিফল্ট = কোনোটিই নয়
ডায়নামিক ফ্রেমওয়ার্কের ডিলিব বাইনারি আর্টিফ্যাক্ট।
cc_info ডিফল্ট = কোনোটিই নয়
একটি CcInfo যাতে বাইনারিতে সংযুক্ত ট্রানজিটিভ নির্ভরতা সম্পর্কে তথ্য থাকে।
objc প্রয়োজনীয়
একটি ObjcProvider যা বাইনারিতে সংযুক্ত ট্রানজিটিভ নির্ভরতা সম্পর্কে তথ্য ধারণ করে।
framework_dirs depset of string s; or None ; ডিফল্ট = কোনোটিই নয়
ডাইনামিক ফ্রেমওয়ার্কের সাথে লিঙ্ক করার জন্য লিংক ইনপুট হিসেবে ব্যবহৃত ফ্রেমওয়ার্ক পাথের নাম।
framework_files depset of File s; or None ; ডিফল্ট = কোনোটিই নয়
আর্টিফ্যাক্টগুলির সম্পূর্ণ সেট যা গতিশীল কাঠামোর সাথে লিঙ্ক করার জন্য ইনপুট হিসাবে অন্তর্ভুক্ত করা উচিত

new_executable_binary_provider

AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc)

একটি নতুন AppleExecutableBinaryInfo প্রদানকারীর উদাহরণ তৈরি করে।

পরামিতি

প্যারামিটার বর্ণনা
binary File ; or None ; ডিফল্ট = কোনোটিই নয়
এক্সিকিউটেবলের বাইনারি আর্টিফ্যাক্ট।
cc_info ডিফল্ট = কোনোটিই নয়
একটি CcInfo যাতে বাইনারিতে সংযুক্ত ট্রানজিটিভ নির্ভরতা সম্পর্কে তথ্য থাকে।
objc প্রয়োজনীয়
একটি ObjcProvider যা বাইনারিতে সংযুক্ত ট্রানজিটিভ নির্ভরতা সম্পর্কে তথ্য ধারণ করে।

new_objc_provider

ObjcProvider apple_common.new_objc_provider(**kwargs)

একটি নতুন ObjcProvider উদাহরণ তৈরি করে।

পরামিতি

প্যারামিটার বর্ণনা
kwargs ডিফল্ট = {}
যুক্তির অভিধান।

Objc

Provider apple_common.Objc

Objc প্রদানকারীর জন্য কনস্ট্রাক্টর/কী।

যদি একটি লক্ষ্য Objc প্রদানকারীকে প্রচার করে, এটিকে পুনরুদ্ধার করার জন্য এটিকে কী হিসাবে ব্যবহার করুন। উদাহরণ:

dep = ctx.attr.deps[0]
p = dep[apple_common.Objc]

প্ল্যাটফর্ম

struct apple_common.platform

একটি enum-এর মতো স্ট্রাকট যাতে অ্যাপল প্ল্যাটফর্মগুলির সাথে সম্পর্কিত নিম্নলিখিত ক্ষেত্রগুলি রয়েছে:
  • ios_device
  • ios_simulator
  • macos
  • tvos_device
  • tvos_simulator
  • watchos_device
  • watchos_simulator

XcodeVersionConfig.sdk_version_for_platform এর মতো একটি প্ল্যাটফর্ম আশা করে এমন পদ্ধতিতে এই মানগুলি প্রেরণ করা যেতে পারে।

প্ল্যাটফর্ম_টাইপ

struct apple_common.platform_type

একটি enum-এর মতো স্ট্রাকট যা অ্যাপল প্ল্যাটফর্মের প্রকারের সাথে সম্পর্কিত নিম্নলিখিত ক্ষেত্রগুলি ধারণ করে:
  • ios
  • macos
  • tvos
  • watchos

এই মানগুলি এমন পদ্ধতিতে প্রেরণ করা যেতে পারে যেগুলি একটি প্ল্যাটফর্ম প্রকারের প্রত্যাশা করে, যেমন 'apple' কনফিগারেশন ফ্র্যাগমেন্টের multi_arch_platform পদ্ধতি।

উদাহরণ:

ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)

target_apple_env

dict apple_common.target_apple_env(xcode_config, platform)

এনভায়রনমেন্ট ভেরিয়েবলের একটি dict প্রদান করে যা প্রদত্ত অ্যাপল প্ল্যাটফর্ম প্রকারের লক্ষ্য তৈরি করে এমন ক্রিয়াগুলির জন্য সেট করা উচিত। উদাহরণস্বরূপ, এই অভিধানে ভেরিয়েবল রয়েছে যা প্ল্যাটফর্মের নাম এবং SDK সংস্করণ যা দিয়ে তৈরি করতে হবে তা নির্দেশ করে। কীগুলি পরিবর্তনশীল নাম এবং মানগুলি তাদের সংশ্লিষ্ট মান।

পরামিতি

প্যারামিটার বর্ণনা
xcode_config প্রয়োজনীয়
xcode কনফিগারেশন সম্পর্কে তথ্য ধারণকারী একটি প্রদানকারী।
platform প্রয়োজনীয়
আপেল প্ল্যাটফর্ম।

এক্সকোড প্রোপার্টি

Provider apple_common.XcodeProperties

XcodeVersionProperties প্রদানকারীর জন্য কনস্ট্রাক্টর/কী।

যদি একটি টার্গেট XcodeVersionProperties প্রদানকারীকে প্রচার করে, তাহলে এটিকে পুনরুদ্ধার করার জন্য এটি ব্যবহার করুন। উদাহরণ:

dep = ctx.attr.deps[0]
p = dep[apple_common.XcodeVersionProperties]

XcodeVersionConfig

Provider apple_common.XcodeVersionConfig

XcodeVersionConfig প্রদানকারীর জন্য কনস্ট্রাক্টর/কী।