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

JavaPlugin তথ্য

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

এই মুহুর্তে, শুধুমাত্র সমর্থিত ধরণের প্লাগইন হল টীকা প্রসেসর।

সদস্যরা

JavaPlugin তথ্য

JavaPluginInfo JavaPluginInfo(runtime_deps, *, processor_class, data=[], generates_api=False)

JavaPluginInfo কনস্ট্রাক্টর।

পরামিতি

প্যারামিটার বর্ণনা
runtime_deps sequence of JavaInfo s ; প্রয়োজনীয়
একটি টীকা প্রসেসর ধারণকারী লাইব্রেরি.
processor_class string ; or None ; প্রয়োজনীয়
সম্পূর্ণ যোগ্য শ্রেণীর নাম যা জাভা কম্পাইলার টীকা প্রসেসরের এন্ট্রি পয়েন্ট হিসাবে ব্যবহার করে।
data sequence of File s; or depset of File s ; ডিফল্ট = []
এক্সিকিউশনের সময় এই টীকা প্রসেসরের প্রয়োজনীয় ফাইল।
generates_api ডিফল্ট = মিথ্যা
যখন এই টীকা প্রসেসর API কোড তৈরি করে তখন সত্যে সেট করুন৷

এই ধরনের টীকা প্রসেসর একটি জাভা টার্গেটে প্রয়োগ করা হয় তার হেডার জার তৈরি করার আগে (যাতে পদ্ধতি স্বাক্ষর রয়েছে)। যখন কোন API প্লাগইন উপস্থিত থাকে না, তখন হেডার জারগুলি উৎস থেকে তৈরি হয়, যা জটিল পথকে হ্রাস করে।

সতর্কতা: এই পরামিতি বিল্ড কর্মক্ষমতা প্রভাবিত করে, শুধুমাত্র প্রয়োজন হলে এটি ব্যবহার করুন।

api_generating_plugins

JavaPluginData JavaPluginInfo.api_generating_plugins

এই লক্ষ্য দ্বারা সংজ্ঞায়িত বা রপ্তানি করা API তৈরিকারী প্লাগইন সম্পর্কে ডেটা প্রদান করে।

এই টীকা প্রসেসরগুলি একটি জাভা টার্গেটের শিরোনাম জার তৈরি করার আগে প্রয়োগ করা হয় (যাতে পদ্ধতি স্বাক্ষর থাকে)। যখন কোনও API প্লাগইন উপস্থিত থাকে না, তখন হেডার জারগুলি উত্স থেকে তৈরি হয়, যা সমালোচনামূলক পথকে হ্রাস করে।

api_generating_plugins হল plugins একটি উপসেট।

java_outputs

list JavaPluginInfo.java_outputs

এই Java/Java-এর মতো টার্গেটের আউটপুট সম্পর্কে তথ্য প্রদান করে।

প্লাগইন

JavaPluginData JavaPluginInfo.plugins

সমস্ত প্লাগইন সম্পর্কে ডেটা প্রদান করে যা একটি গ্রাসকারী লক্ষ্য প্রয়োগ করা উচিত।

এটি সাধারণত হয় একটি java_plugin বা একটি java_library এক বা একাধিক প্লাগইন রপ্তানি করে।

একটি java_library এই ফিল্ড থেকে সমস্ত প্লাগইন deps এবং plugins অ্যাট্রিবিউটে উপস্থিত হয়ে টীকা প্রক্রিয়াকরণ চালায়।

to_json

string JavaPluginInfo.to_json()

অবজ্ঞাত । এই API বন্ধ করা হয়েছে এবং শীঘ্রই সরানো হবে। দয়া করে এর উপর নির্ভর করবেন না। এটি ---incompatible_struct_has_no_methods এর সাথে নিষ্ক্রিয় । আপনার কোডটি আসন্ন অপসারণের সাথে সামঞ্জস্যপূর্ণ তা যাচাই করতে এই পতাকাটি ব্যবহার করুন৷
struct প্যারামিটার থেকে একটি JSON স্ট্রিং তৈরি করে। এই পদ্ধতিটি শুধুমাত্র তখনই কাজ করে যখন সমস্ত স্ট্রাকট উপাদান (পুনরাবৃত্তভাবে) স্ট্রিং, ints, বুলিয়ান, অন্যান্য স্ট্রাকস, এই ধরনের একটি তালিকা বা এই ধরনের স্ট্রিং কী এবং মান সহ একটি অভিধান। স্ট্রিংগুলিতে উদ্ধৃতি এবং নতুন লাইনগুলি এড়িয়ে গেছে৷ উদাহরণ:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
.

অপ্রচলিত: পরিবর্তে, json.encode(x) বা json.encode_indent(x) ব্যবহার করুন, যা structs ছাড়া অন্য মানগুলির জন্য কাজ করে এবং struct ক্ষেত্রের নামস্থানকে দূষিত করে না।

to_proto

string JavaPluginInfo.to_proto()

অবজ্ঞাত । এই API বন্ধ করা হয়েছে এবং শীঘ্রই সরানো হবে। দয়া করে এর উপর নির্ভর করবেন না। এটি ---incompatible_struct_has_no_methods এর সাথে নিষ্ক্রিয় । আপনার কোডটি আসন্ন অপসারণের সাথে সামঞ্জস্যপূর্ণ তা যাচাই করতে এই পতাকাটি ব্যবহার করুন৷
struct প্যারামিটার থেকে একটি পাঠ্য বার্তা তৈরি করে। এই পদ্ধতিটি কেবল তখনই কাজ করে যখন সমস্ত স্ট্রাকট উপাদান (পুনরাবৃত্তভাবে) স্ট্রিং, ইনটস, বুলিয়ান, অন্যান্য স্ট্রাকট বা নির্দেশ বা এই ধরনের তালিকা হয়। স্ট্রিংগুলিতে উদ্ধৃতি এবং নতুন লাইনগুলি এড়িয়ে গেছে৷ স্ট্রাকট কীগুলি সাজানো ক্রমে পুনরাবৃত্তি করা হয়। উদাহরণ:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

বাতিল করা হয়েছে: পরিবর্তে proto.encode_text(x) ব্যবহার করুন।