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

জাভাইনফো

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

সদস্যরা

জাভাইনফো

JavaInfo JavaInfo(output_jar, compile_jar, source_jar=None, compile_jdeps=None, generated_class_jar=None, generated_source_jar=None, native_headers_jar=None, manifest_proto=None, neverlink=False, deps=[], runtime_deps=[], exports=[], exported_plugins=[], jdeps=None, native_libraries=[])

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

পরামিতি

প্যারামিটার বর্ণনা
output_jar প্রয়োজনীয়
যে জারটি একটি সংকলনের ফলে তৈরি হয়েছিল (যেমন javac, scalac, ইত্যাদি)।
compile_jar File ; or None ; প্রয়োজনীয়
একটি জার যা output_jar এর পরিবর্তে কম্পাইল-টাইম নির্ভরতা হিসাবে যোগ করা হয়। সাধারণত এটি run_ijar দ্বারা উত্পাদিত ইজার। আপনি যদি ijar ব্যবহার করতে না পারেন, তাহলে stamp_ijar এর আউটপুট ব্যবহার করার পরিবর্তে বিবেচনা করুন। আপনি যদি উভয়ই ব্যবহার করতে না চান তবে আপনি সহজভাবে output_jar পাস করতে পারেন। কিছু বিশেষ ক্ষেত্রে আছে যখন এই প্যারামিটারটি None তে সেট করা হতে পারে, উদাহরণস্বরূপ রিসোর্স সহ একটি জার যোগ করা বা java_binary এর মত একটি টার্মিনাল নিয়মে ব্যবহার করা।
source_jar File ; or None ; ডিফল্ট = কোনোটিই নয়
উৎস জার যা আউটপুট জার তৈরি করতে ব্যবহৃত হয়েছিল। এই উৎস জার তৈরি করতে pack_sources ব্যবহার করুন।
compile_jdeps File ; or None ; ডিফল্ট = কোনোটিই নয়
JavaCompileAction দ্বারা কম্পাইল সময় নির্ভরতা সম্পর্কে jdeps তথ্য। এটি Bazel এর সাথে অন্তর্ভুক্ত deps.proto protobuf ব্যবহার করে এনকোড করা একটি বাইনারি প্রোটো হওয়া উচিত। যদি পাওয়া যায় এই ফাইলটি সাধারণত একটি হেডার কম্পাইলার দ্বারা উত্পাদিত হয়।
generated_class_jar File ; or None ; ডিফল্ট = কোনোটিই নয়
টীকা প্রক্রিয়াকরণের সময় উত্পন্ন উত্স থেকে সংকলিত ক্লাস ফাইল ধারণকারী একটি জার ফাইল।
generated_source_jar File ; or None ; ডিফল্ট = কোনোটিই নয়
টীকা প্রক্রিয়াকরণের ফলে তৈরি করা উৎস জার।
native_headers_jar File ; or None ; ডিফল্ট = কোনোটিই নয়
একটি জার যেখানে CC হেডার ফাইল রয়েছে যা স্থানীয় পদ্ধতি বাস্তবায়ন সমর্থন করে (সাধারণত javac -h এর আউটপুট)।
manifest_proto File ; or None ; ডিফল্ট = কোনোটিই নয়
নিয়ম আউটপুটের জন্য ম্যানিফেস্ট তথ্য (যদি পাওয়া যায়)। এটি Bazel এর সাথে অন্তর্ভুক্ত manifest.proto protobuf ব্যবহার করে এনকোড করা একটি বাইনারি প্রোটো হওয়া উচিত৷ আইডিই এবং অন্যান্য সরঞ্জামগুলি আরও দক্ষ প্রক্রিয়াকরণের জন্য এই তথ্যগুলি ব্যবহার করতে পারে।
ডিফল্ট = মিথ্যা
সত্য হলে এই লাইব্রেরিটি শুধুমাত্র সংকলনের জন্য ব্যবহার করুন এবং রানটাইমে নয়।
deps sequence of JavaInfo s ; ডিফল্ট = []
আউটপুট জার তৈরি করতে ব্যবহৃত সময়ের নির্ভরতা কম্পাইল করুন।
runtime_deps sequence of JavaInfo s ; ডিফল্ট = []
এই লাইব্রেরির জন্য প্রয়োজনীয় রানটাইম নির্ভরতা।
exports sequence of JavaInfo s ; ডিফল্ট = []
লাইব্রেরি এই লাইব্রেরির ব্যবহারকারীদের জন্য উপলব্ধ করা। এছাড়াও java_library.exports দেখুন।
exported_plugins sequence of JavaPluginInfo s ; ডিফল্ট = []
এক্সপোর্ট করা প্লাগইনগুলির একটি তালিকা৷ ঐচ্ছিক।
jdeps File ; or None ; ডিফল্ট = কোনোটিই নয়
নিয়ম আউটপুট জন্য jdeps তথ্য (যদি উপলব্ধ)। এটি Bazel এর সাথে অন্তর্ভুক্ত deps.proto protobuf ব্যবহার করে এনকোড করা একটি বাইনারি প্রোটো হওয়া উচিত। যদি উপলব্ধ হয় এই ফাইলটি সাধারণত একটি কম্পাইলার দ্বারা উত্পাদিত হয়। আইডিই এবং অন্যান্য সরঞ্জামগুলি আরও দক্ষ প্রক্রিয়াকরণের জন্য এই তথ্যগুলি ব্যবহার করতে পারে।
native_libraries sequence of CcInfo s ; ডিফল্ট = []
CC নেটিভ লাইব্রেরি নির্ভরতা যা এই লাইব্রেরির জন্য প্রয়োজন।

টীকা_প্রসেসিং

java_annotation_processing JavaInfo.annotation_processing

এই Java/Java-এর মতো লক্ষ্যে প্রয়োগ করা টীকা প্রসেসর সম্পর্কে তথ্য প্রদান করে।

অপ্রচলিত: অনুগ্রহ করে পরিবর্তে plugins ব্যবহার করুন (যা টীকা প্রসেসর সম্পর্কে তথ্য প্রদান করে যা লক্ষ্যমাত্রা ব্যবহার করে প্রয়োগ করা হবে)। None ফেরত দিতে পারে না।

api_generating_plugins

JavaPluginData JavaInfo.api_generating_plugins

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

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

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

সংকলন_তথ্য

java_compilation_info JavaInfo.compilation_info

এই Java/Java-এর মতো লক্ষ্যের জন্য সংকলন তথ্য প্রদান করে। None ফেরত দিতে পারে না।

compile_jars

depset JavaInfo.compile_jars

কম্পাইল সময়ে সরাসরি এই টার্গেটের জন্য প্রয়োজনীয় জারগুলি ফেরত দেয়। এগুলি ইন্টারফেস জার (ijar বা hjar), নিয়মিত জার বা উভয় হতে পারে, নিয়ম বাস্তবায়ন ইন্টারফেস জার তৈরি করতে বেছে নিয়েছে কিনা তার উপর নির্ভর করে।

full_compile_jars

depset JavaInfo.full_compile_jars

এই টার্গেটের জন্য সরাসরি প্রয়োজনীয় নিয়মিত, সম্পূর্ণ কম্পাইল টাইম জার ফেরত দেয়। তারা হতে পারেন
  • JavaInfo.compile_jars দ্বারা ফেরত ইন্টারফেসের জারগুলির সংশ্লিষ্ট নিয়মিত JavaInfo.compile_jars
  • JavaInfo.compile_jars দ্বারা ফিরে আসা নিয়মিত (পূর্ণ) JavaInfo.compile_jars

দ্রষ্টব্য: JavaInfo.compile_jars ইন্টারফেস জার এবং নিয়মিত জারগুলির একটি মিশ্রণ ফিরিয়ে দিতে পারে।

শুধুমাত্র এই পদ্ধতিটি ব্যবহার করুন যদি ইন্টারফেস জারগুলি আপনার নিয়ম সেট(গুলি) এর সাথে কাজ না করে (যেমন কিছু স্কালা টার্গেট) আপনি যদি জাভা-শুধু টার্গেট নিয়ে কাজ করেন তবে JavaInfo.compile_jars এর মাধ্যমে ইন্টারফেস জার ব্যবহার করা বাঞ্ছনীয়

java_outputs

list JavaInfo.java_outputs

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

মডিউল_পতাকা_তথ্য

JavaModuleFlagsProvider JavaInfo.module_flags_info

জাভা মডিউল পতাকা কনফিগারেশন প্রদান করে।

আউটপুট

java_output_jars JavaInfo.outputs

এই Java/Java-এর মতো টার্গেটের আউটপুট সম্পর্কে তথ্য প্রদান করে। অপ্রচলিত: java_outputs ব্যবহার করুন। None ফেরত দিতে পারে না।

প্লাগইন

JavaPluginData JavaInfo.plugins

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

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

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

রানটাইম_আউটপুট_জার

sequence JavaInfo.runtime_output_jars

এই Java/Java-এর মতো টার্গেট দ্বারা তৈরি রানটাইম জারগুলির একটি তালিকা প্রদান করে।

source_jars

sequence JavaInfo.source_jars

টার্গেটের সমস্ত সোর্স ফাইল (টীকা দ্বারা জেনারেট করা সহ) সহ জারগুলির একটি তালিকা প্রদান করে, অর্থাৎ ট্রানজিটিভ নির্ভরতার উত্সগুলি অন্তর্ভুক্ত করে না।

to_json

string JavaInfo.to_json()

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

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

transitive_compile_time_jars

depset JavaInfo.transitive_compile_time_jars

লক্ষ্য তৈরি করতে প্রয়োজনীয় জারগুলির ট্রানজিটিভ সেট ফেরত দেয়।

transitive_deps

depset JavaInfo.transitive_deps

অপ্রচলিত: পরিবর্তে JavaInfo.transitive_compile_time_jars ব্যবহার করুন। এটি একই মান প্রদান করে।

ট্রানজিটিভ_নেটিভ_লাইব্রেরি

depset JavaInfo.transitive_native_libraries

লক্ষ্যের জন্য প্রয়োজনীয় CC নেটিভ লাইব্রেরির ট্রানজিটিভ সেট ফেরত দেয়।

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

অপ্রচলিত: পরিবর্তে JavaInfo.transitive_runtime_jars ব্যবহার করুন। এটি একই মান প্রদান করে

transitive_runtime_jars

depset JavaInfo.transitive_runtime_jars

টার্গেটের রানটাইম ক্লাসপথে প্রয়োজনীয় জারগুলির একটি ট্রানজিটিভ সেট ফেরত দেয়।

transitive_source_jars

depset JavaInfo.transitive_source_jars

বর্তমান টার্গেটের সোর্স ফাইল এবং এর সমস্ত ট্রানজিটিভ নির্ভরতা সমন্বিত জারগুলি ফেরত দেয়।