নিয়ম
- java_binary
- java_import
- java_library
- java_lite_proto_library
- java_proto_library
- জাভা_পরীক্ষা
- java_package_configuration
- java_plugin
- java_runtime
- java_toolchain
java_binary
দেখুন নিয়ম উৎসjava_binary(name, deps, srcs, data, resources, args, classpath_resources, compatible_with, create_executable, deploy_env, deploy_manifest_lines, deprecation, distribs, env, exec_compatible_with, exec_properties, features, javacopts, jvm_flags, launcher, licenses, main_class, output_licenses, plugins, resource_jars, resource_strip_prefix, restricted_to, runtime_deps, stamp, tags, target_compatible_with, testonly, toolchains, use_launcher, use_testrunner, visibility)
একটি জাভা আর্কাইভ ("জার ফাইল") তৈরি করে, পাশাপাশি নিয়মের মতো একই নামের একটি র্যাপার শেল স্ক্রিপ্ট তৈরি করে৷ র্যাপার শেল স্ক্রিপ্ট একটি ক্লাসপাথ ব্যবহার করে যার মধ্যে অন্যান্য জিনিসের মধ্যে, প্রতিটি লাইব্রেরির জন্য একটি জার ফাইল রয়েছে যার উপর বাইনারি নির্ভর করে। র্যাপার শেল স্ক্রিপ্ট চালানোর সময়, যেকোন খালি JAVABIN
এনভায়রনমেন্ট ভেরিয়েবল Bazel-এর --java_runtime_version
ফ্ল্যাগের মাধ্যমে নির্দিষ্ট সংস্করণের উপর অগ্রাধিকার পাবে।
মোড়ক স্ক্রিপ্ট বেশ কয়েকটি অনন্য পতাকা গ্রহণ করে। রেপার দ্বারা গৃহীত কনফিগারযোগ্য পতাকা এবং পরিবেশ ভেরিয়েবলের তালিকার জন্য //src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
দেখুন।
অন্তর্নিহিত আউটপুট লক্ষ্য
-
name .jar
: একটি জাভা সংরক্ষণাগার, যাতে ক্লাস ফাইল এবং বাইনারির সরাসরি নির্ভরতার সাথে সম্পর্কিত অন্যান্য সংস্থান রয়েছে। -
name -src.jar
: একটি আর্কাইভ যেখানে উৎস রয়েছে ("সোর্স জার")। -
name _deploy.jar
: একটি জাভা সংরক্ষণাগার স্থাপনের জন্য উপযুক্ত (শুধুমাত্র যদি স্পষ্টভাবে অনুরোধ করা হয়)।আপনার নিয়মের জন্য
< name >_deploy.jar
টার্গেট তৈরি করা একটি ম্যানিফেস্ট সহ একটি স্বয়ংসম্পূর্ণ জার ফাইল তৈরি করে যা এটিকেjava -jar
কমান্ড বা wrapper স্ক্রিপ্টের--singlejar
বিকল্পের সাথে চালানোর অনুমতি দেয়। র্যাপার স্ক্রিপ্ট ব্যবহার করাjava -jar
এ পছন্দের কারণ এটি JVM ফ্ল্যাগ এবং নেটিভ লাইব্রেরি লোড করার বিকল্পগুলিও পাস করে।ডিপ্লোয় জারটিতে এমন সমস্ত ক্লাস রয়েছে যা একটি ক্লাসলোডার দ্বারা পাওয়া যাবে যেটি বাইনারির র্যাপার স্ক্রিপ্ট থেকে শুরু থেকে শেষ পর্যন্ত ক্লাসপথ অনুসন্ধান করে। এটিতে নির্ভরতার জন্য প্রয়োজনীয় নেটিভ লাইব্রেরিও রয়েছে। রানটাইমে এগুলি স্বয়ংক্রিয়ভাবে JVM-এ লোড হয়।
যদি আপনার লক্ষ্য একটি লঞ্চার বৈশিষ্ট্য নির্দিষ্ট করে, তাহলে একটি সাধারণ JAR ফাইলের পরিবর্তে, _deploy.jar একটি নেটিভ বাইনারি হবে। এটিতে লঞ্চার এবং আপনার নিয়মের যেকোন নেটিভ (C++) নির্ভরতা থাকবে, সবগুলি একটি স্ট্যাটিক বাইনারিতে সংযুক্ত থাকবে। প্রকৃত জার ফাইলের বাইটগুলি সেই নেটিভ বাইনারিতে যুক্ত করা হবে, যা এক্সিকিউটেবল এবং জাভা কোড উভয় ধারণ করে একটি একক বাইনারি ব্লব তৈরি করবে। আপনি ফলস্বরূপ জার ফাইলটি সরাসরি চালাতে পারেন যেমন আপনি কোনও নেটিভ বাইনারি চালান।
-
name _deploy-src.jar
: লক্ষ্যের ট্রানজিটিভ ক্লোজার থেকে সংগৃহীত উৎসগুলি ধারণকারী একটি সংরক্ষণাগার। এগুলিdeploy.jar
এর ক্লাসগুলির সাথে মিলবে যেখানে জারগুলির কোনও মিলিত উত্স জার নেই৷
srcs
ছাড়া java_binary
নিয়মে একটি deps
বৈশিষ্ট্য অনুমোদিত নয়; এই ধরনের নিয়মের জন্য runtime_deps
দ্বারা প্রদত্ত একটি main_class
প্রয়োজন।
নিম্নলিখিত কোড স্নিপেট একটি সাধারণ ভুল চিত্রিত করে:
java_binary( name = "DontDoThis", srcs = [ ..., "GeneratedJavaFile.java", # a generated .java file ], deps = [":generating_rule"], # rule that generates that file )
পরিবর্তে এটি করুন:
java_binary( name = "DoThisInstead", srcs = [ ..., ":generating_rule", ], )
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যের জন্য একটি অনন্য নাম। সোর্স ফাইলের নাম ব্যবহার করা ভাল অভ্যাস যা অ্যাপ্লিকেশনের প্রধান এন্ট্রি পয়েন্ট (এক্সটেনশন বিয়োগ)। উদাহরণস্বরূপ, যদি আপনার এন্ট্রি পয়েন্টকে Main.java বলা হয়, তাহলে আপনার নাম হতে পারে Main । |
deps | লেবেলের তালিকা; ডিফল্ট হল deps সম্পর্কে সাধারণ মন্তব্যগুলি দেখুন। |
srcs | লেবেলের তালিকা; ডিফল্ট হল নিয়ম: যদি নিয়মটি (সাধারণত এই যুক্তিটি প্রায় সবসময়ই প্রয়োজন হয়, যদি একটি |
resources | লেবেলের তালিকা; ডিফল্ট হল রিসোর্স নির্দিষ্ট করা থাকলে, কম্পাইলেশনের মাধ্যমে উত্পাদিত সাধারণ রিসোর্স হতে পারে সোর্স ফাইল বা জেনারেট করা ফাইল। |
classpath_resources | লেবেলের তালিকা; ডিফল্ট হল সম্পদের একটি তালিকা যা অবশ্যই জাভা গাছের মূলে অবস্থিত। এই অ্যাট্রিবিউটের একমাত্র উদ্দেশ্য হল তৃতীয় পক্ষের লাইব্রেরিগুলিকে সমর্থন করা যেগুলির জন্য তাদের সংস্থানগুলিকে ক্লাসপথে ঠিক |
create_executable | বুলিয়ান; কনফিগারযোগ্য নয় ; ডিফল্ট java_single_jar ব্যবহার করুন। |
deploy_env | লেবেলের তালিকা; ডিফল্ট হল java_binary লক্ষ্যগুলির একটি তালিকা যা এই বাইনারির জন্য স্থাপনার পরিবেশ উপস্থাপন করে। একটি প্লাগইন তৈরি করার সময় এই বৈশিষ্ট্যটি সেট করুন যা অন্য java_binary দ্বারা লোড করা হবে।এই অ্যাট্রিবিউট সেট করার ফলে এই বাইনারিটির রানটাইম ক্লাসপথ (এবং ডিপ্লয় জার) থেকে সমস্ত নির্ভরতা বাদ দেওয়া হয় যা এই বাইনারি এবং deploy_env এ নির্দিষ্ট করা লক্ষ্যগুলির মধ্যে ভাগ করা হয়। |
deploy_manifest_lines | স্ট্রিং তালিকা; ডিফল্ট হল *_deploy.jar টার্গেটের জন্য তৈরি করা META-INF/manifest.mf ফাইলে যোগ করার জন্য লাইনের একটি তালিকা। এই বৈশিষ্ট্যের বিষয়বস্তু "ভেরিয়েবল তৈরি করুন" প্রতিস্থাপনের বিষয় নয় । |
javacopts | স্ট্রিং তালিকা; ডিফল্ট হল এই কম্পাইলার বিকল্পগুলি গ্লোবাল কম্পাইলার বিকল্পগুলির পরে javac-এ পাস করা হয়। |
jvm_flags | স্ট্রিং তালিকা; ডিফল্ট হল একটি জাভা বাইনারির জন্য র্যাপার স্ক্রিপ্টে একটি CLASSPATH সংজ্ঞা রয়েছে (সমস্ত নির্ভরশীল জার খুঁজে বের করার জন্য) এবং সঠিক জাভা দোভাষীকে আহ্বান করে। র্যাপার স্ক্রিপ্ট দ্বারা উত্পন্ন কমান্ড লাইনে একটি মনে রাখবেন যে এই বৈশিষ্ট্যটি |
launcher | লেবেল ; ডিফল্ট bin/java প্রোগ্রামের পরিবর্তে আপনার জাভা প্রোগ্রাম চালানোর জন্য ব্যবহার করা হবে। লক্ষ্য অবশ্যই একটি cc_binary হতে হবে। যেকোন cc_binary যা Java Invocation API প্রয়োগ করে এই বৈশিষ্ট্যের জন্য একটি মান হিসাবে নির্দিষ্ট করা যেতে পারে।ডিফল্টরূপে, Bazel সাধারণ JDK লঞ্চার (bin/java বা java.exe) ব্যবহার করবে। সম্পর্কিত মনে রাখবেন যে আপনি JDK লঞ্চার বা অন্য লঞ্চার ব্যবহার করছেন কিনা তার উপর নির্ভর করে আপনার নেটিভ (C++, SWIG, JNI) নির্ভরতা ভিন্নভাবে তৈরি হবে:
ডিফল্ট JDK লঞ্চার ছাড়া অন্য কোনো লঞ্চার ব্যবহার করার সময়, |
main_class | স্ট্রিং; ডিফল্ট হল main() পদ্ধতি সহ ক্লাসের নাম। যদি একটি নিয়ম এই বিকল্পটি ব্যবহার করে, তাহলে এটির জন্য srcs=[...] তালিকার প্রয়োজন নেই। সুতরাং, এই অ্যাট্রিবিউটের সাহায্যে একজন জাভা লাইব্রেরি থেকে একটি এক্সিকিউটেবল তৈরি করতে পারে যাতে ইতিমধ্যে এক বা একাধিক main() পদ্ধতি রয়েছে। এই বৈশিষ্ট্যের মান একটি শ্রেণীর নাম, একটি উৎস ফাইল নয়। ক্লাসটি রানটাইমে উপলব্ধ হতে হবে: এটি এই নিয়ম দ্বারা সংকলিত হতে পারে ( |
plugins | লেবেলের তালিকা; ডিফল্ট হল java_plugin চালানো হবে। একটি লাইব্রেরি exported_plugins ব্যবহার করে এমন নির্ভরতা থেকে প্লাগইনগুলিও উত্তরাধিকার সূত্রে পেতে পারে। প্লাগইন দ্বারা উত্পন্ন সম্পদ এই নিয়মের ফলে জার মধ্যে অন্তর্ভুক্ত করা হবে. |
resource_jars | লেবেলের তালিকা; ডিফল্ট হল |
resource_strip_prefix | স্ট্রিং; ডিফল্ট হল নির্দিষ্ট করা থাকলে, এই পাথ উপসর্গটি |
runtime_deps | লেবেলের তালিকা; ডিফল্ট হল deps এর মতো, এগুলি রানটাইম ক্লাসপথে প্রদর্শিত হবে, কিন্তু তাদের বিপরীতে, কম্পাইল-টাইম ক্লাসপথে নয়। শুধুমাত্র রানটাইমে প্রয়োজনীয় নির্ভরতা এখানে তালিকাভুক্ত করা উচিত। নির্ভরতা-বিশ্লেষণ সরঞ্জামের লক্ষ্যগুলি উপেক্ষা করা উচিত যা runtime_deps এবং deps উভয় ক্ষেত্রেই প্রদর্শিত হয়। |
stamp | পূর্ণসংখ্যা; ডিফল্ট হল
স্ট্যাম্পযুক্ত বাইনারিগুলি পুনর্নির্মাণ করা হয় না যদি না তাদের নির্ভরতা পরিবর্তন হয়। |
use_launcher | বুলিয়ান; ডিফল্ট এই অ্যাট্রিবিউটটি মিথ্যাতে সেট করা থাকলে, লঞ্চার অ্যাট্রিবিউট এবং সম্পর্কিত |
use_testrunner | বুলিয়ান; ডিফল্ট com.google.testing.junit.runner.BazelTestRunner ) ক্লাসটি ব্যবহার করুন এবং bazel.test_suite সিস্টেম সম্পত্তির মান হিসাবে টেস্ট রানারকে পরীক্ষার ক্লাস প্রদান করুন৷ আপনি ডিফল্ট আচরণকে ওভাররাইড করতে এটি ব্যবহার করতে পারেন, যা java_test নিয়মের জন্য পরীক্ষা রানার ব্যবহার করা, এবং java_binary নিয়মের জন্য এটি ব্যবহার না করা। এটা অসম্ভাব্য যে আপনি এটি করতে চান. একটি ব্যবহার হল AllTest নিয়মগুলির জন্য যা অন্য নিয়ম দ্বারা আহ্বান করা হয় (উদাহরণস্বরূপ, পরীক্ষা চালানোর আগে একটি ডাটাবেস সেট আপ করতে)। AllTest নিয়মকে অবশ্যই একটি java_binary হিসাবে ঘোষণা করতে হবে, কিন্তু তারপরও পরীক্ষার রানারকে এর প্রধান এন্ট্রি পয়েন্ট হিসাবে ব্যবহার করা উচিত। একটি টেস্ট রানার ক্লাসের নাম main_class অ্যাট্রিবিউট দিয়ে ওভাররাইড করা যেতে পারে। |
java_import
দেখুন নিয়ম উৎসjava_import(name, deps, data, add_exports, add_opens, compatible_with, constraints, deprecation, distribs, exec_compatible_with, exec_properties, exports, features, jars, licenses, neverlink, proguard_specs, restricted_to, runtime_deps, srcjar, tags, target_compatible_with, testonly, toolchains, visibility)
এই নিয়মটি java_library
এবং java_binary
নিয়মের জন্য লাইব্রেরি হিসাবে precompiled .jar
ফাইল ব্যবহার করার অনুমতি দেয়।
উদাহরণ
java_import(
name = "maven_model",
jars = [
"maven_model/maven-aether-provider-3.2.3.jar",
"maven_model/maven-model-3.2.3.jar",
"maven_model/maven-model-builder-3.2.3.jar",
],
)
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যের জন্য একটি অনন্য নাম। |
deps | লেবেলের তালিকা; ডিফল্ট হল |
data | লেবেলের তালিকা; ডিফল্ট হল |
add_exports | স্ট্রিং তালিকা; ডিফল্ট হল module বা package অ্যাক্সেস করার অনুমতি দিন।এটি javac এবং JVM --add-exports= ফ্ল্যাগের সাথে মিলে যায়। |
add_opens | স্ট্রিং তালিকা; ডিফল্ট হল module বা package প্রতিফলিতভাবে অ্যাক্সেস করার অনুমতি দিন।এটি javac এবং JVM --add-opens= ফ্ল্যাগের সাথে মিলে যায়। |
constraints | স্ট্রিং তালিকা; ডিফল্ট হল |
exports | লেবেলের তালিকা; ডিফল্ট হল |
jars | লেবেলের তালিকা; প্রয়োজনীয় জাভা টার্গেটে দেওয়া JAR ফাইলের তালিকা যা এই টার্গেটের উপর নির্ভর করে। |
neverlink | বুলিয়ান; ডিফল্ট tools.jar । |
proguard_specs | লেবেলের তালিকা; ডিফল্ট হল android_binary টার্গেটে সেগুলি যোগ করা হবে। এখানে অন্তর্ভুক্ত ফাইলগুলিতে শুধুমাত্র অদম্য বিধি থাকতে হবে, যেমন -dontnote, -dontwarn, assumenosidefects, এবং নিয়ম যা -keep দিয়ে শুরু হয়। অন্যান্য বিকল্পগুলি শুধুমাত্র android_binary এর proguard_specs-এ উপস্থিত হতে পারে, যাতে অ-টাউটোলজিক্যাল মার্জ নিশ্চিত করা যায়। |
runtime_deps | লেবেলের তালিকা; ডিফল্ট হল |
srcjar | লেবেল ; ডিফল্ট |
java_library
দেখুন নিয়ম উৎসjava_library(name, deps, srcs, data, resources, add_exports, add_opens, bootclasspath, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, exported_plugins, exports, features, javabuilder_jvm_flags, javacopts, licenses, neverlink, plugins, proguard_specs, resource_strip_prefix, restricted_to, runtime_deps, tags, target_compatible_with, testonly, toolchains, visibility)
এই নিয়মটি একটি .jar
ফাইলের সাথে উত্সগুলিকে সংকলন করে এবং লিঙ্ক করে।
অন্তর্নিহিত আউটপুট
-
lib name .jar
: একটি জাভা আর্কাইভ যাতে ক্লাস ফাইল থাকে। -
lib name -src.jar
: একটি আর্কাইভ যেখানে উৎস রয়েছে ("সোর্স জার")।
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যের জন্য একটি অনন্য নাম। |
deps | লেবেলের তালিকা; ডিফল্ট হল deps সম্পর্কে সাধারণ মন্তব্যগুলি দেখুন। বিপরীতে, |
srcs | লেবেলের তালিকা; ডিফল্ট হল নিয়ম: যদি নিয়মটি (সাধারণত অন্য সব ফাইল উপেক্ষা করা হয়, যতক্ষণ না উপরে বর্ণিত একটি ফাইল প্রকারের অন্তত একটি ফাইল থাকে। অন্যথায় একটি ত্রুটি উত্থাপিত হয়. আপনি |
data | লেবেলের তালিকা; ডিফল্ট হল data সম্পর্কে সাধারণ মন্তব্যগুলি দেখুন। একটি |
resources | লেবেলের তালিকা; ডিফল্ট হল রিসোর্স হতে পারে সোর্স ফাইল বা জেনারেট করা ফাইল। রিসোর্স নির্দিষ্ট করা থাকলে, কম্পাইলেশনের মাধ্যমে উত্পাদিত সাধারণ |
add_exports | স্ট্রিং তালিকা; ডিফল্ট হল module বা package অ্যাক্সেস করার অনুমতি দিন।এটি javac এবং JVM --add-exports= ফ্ল্যাগের সাথে মিলে যায়। |
add_opens | স্ট্রিং তালিকা; ডিফল্ট হল module বা package প্রতিফলিতভাবে অ্যাক্সেস করার অনুমতি দিন।এটি javac এবং JVM --add-opens= ফ্ল্যাগের সাথে মিলে যায়। |
bootclasspath | লেবেল ; ডিফল্ট |
exported_plugins | লেবেলের তালিকা; ডিফল্ট হল java_plugin এর তালিকা (যেমন টীকা প্রসেসর)। |
exports | লেবেলের তালিকা; ডিফল্ট হল এখানে নিয়মগুলি তালিকাভুক্ত করা হলে সেগুলিকে পিতামাতার নিয়মগুলিতে উপলব্ধ করা হবে, যেন পিতামাতা স্পষ্টভাবে এই নিয়মগুলির উপর নির্ভর করে৷ এটি নিয়মিত (অ-রপ্তানিযোগ্য) সারাংশ: একটি নিয়ম X Y- এ কোড অ্যাক্সেস করতে পারে যদি তাদের মধ্যে একটি নির্ভরতা পথ থাকে যা একটি অনুমান করুন A নির্ভর করে B এর উপর এবং B নির্ভর করে C এর উপর। এই ক্ষেত্রে C হল A এর একটি ট্রানজিটিভ নির্ভরতা, তাই C এর উৎস পরিবর্তন করা এবং A পুনর্নির্মাণ করা সবকিছু সঠিকভাবে পুনর্নির্মাণ করবে। তবে A C-তে ক্লাস ব্যবহার করতে সক্ষম হবে না। এটির অনুমতি দেওয়ার জন্য, হয় A কে তার রপ্তানিকৃত লাইব্রেরি বন্ধ করা সমস্ত সরাসরি পিতামাতার নিয়মে উপলব্ধ। একটু ভিন্ন উদাহরণ নিন: A নির্ভর করে B এর উপর, B নির্ভর করে C এবং D এর উপর, এবং এছাড়াও C রপ্তানি করে কিন্তু D নয়। এখন A এর C-তে অ্যাক্সেস আছে কিন্তু D-তে নয়। এখন, যদি C এবং D কিছু লাইব্রেরি রপ্তানি করে, C' এবং D' যথাক্রমে, A শুধুমাত্র C' অ্যাক্সেস করতে পারে কিন্তু D' নয়। গুরুত্বপূর্ণ: একটি রপ্তানি নিয়ম একটি নিয়মিত নির্ভরতা নয়। পূর্ববর্তী উদাহরণে আটকে থাকা, যদি B C রপ্তানি করে এবং C ব্যবহার করতে চায়, তবে এটিকে তার নিজস্ব |
javabuilder_jvm_flags | স্ট্রিং তালিকা; ডিফল্ট হল |
javacopts | স্ট্রিং তালিকা; ডিফল্ট হল এই কম্পাইলার বিকল্পগুলি গ্লোবাল কম্পাইলার বিকল্পগুলির পরে javac-এ পাস করা হয়। |
neverlink | বুলিয়ান; ডিফল্ট tools.jar । নোট করুন যে রানটাইম লাইব্রেরি যদি কম্পাইলেশন লাইব্রেরি থেকে আলাদা হয় তাহলে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে এটি শুধুমাত্র সেই জায়গাগুলিতে আলাদা যেখানে JLS কম্পাইলারকে ইনলাইন করতে নিষেধ করে (এবং JLS-এর ভবিষ্যতের সব সংস্করণের জন্য এটি অবশ্যই রাখা উচিত)। |
plugins | লেবেলের তালিকা; ডিফল্ট হল java_plugin চালানো হবে। একটি লাইব্রেরি exported_plugins ব্যবহার করে এমন নির্ভরতা থেকে প্লাগইনগুলিও উত্তরাধিকার সূত্রে পেতে পারে। প্লাগইন দ্বারা উত্পন্ন সম্পদ এই নিয়মের ফলে জার মধ্যে অন্তর্ভুক্ত করা হবে. |
proguard_specs | লেবেলের তালিকা; ডিফল্ট হল android_binary টার্গেটে সেগুলি যোগ করা হবে। এখানে অন্তর্ভুক্ত ফাইলগুলিতে শুধুমাত্র অদম্য বিধি থাকতে হবে, যেমন -dontnote, -dontwarn, assumenosidefects, এবং নিয়ম যা -keep দিয়ে শুরু হয়। অন্যান্য বিকল্পগুলি শুধুমাত্র android_binary এর proguard_specs-এ উপস্থিত হতে পারে, যাতে অ-টাউটোলজিক্যাল মার্জ নিশ্চিত করা যায়। |
resource_strip_prefix | স্ট্রিং; ডিফল্ট হল নির্দিষ্ট করা থাকলে, এই পাথ উপসর্গটি |
runtime_deps | লেবেলের তালিকা; ডিফল্ট হল deps এর মতো, এগুলি রানটাইম ক্লাসপথে প্রদর্শিত হবে, কিন্তু তাদের বিপরীতে, কম্পাইল-টাইম ক্লাসপথে নয়। শুধুমাত্র রানটাইমে প্রয়োজনীয় নির্ভরতা এখানে তালিকাভুক্ত করা উচিত। নির্ভরতা-বিশ্লেষণ সরঞ্জামের লক্ষ্যগুলি উপেক্ষা করা উচিত যা runtime_deps এবং deps উভয় ক্ষেত্রেই প্রদর্শিত হয়। |
java_lite_proto_library
দেখুন নিয়ম উৎসjava_lite_proto_library(name, deps, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
java_lite_proto_library
.proto
ফাইল থেকে জাভা কোড তৈরি করে।
deps
অবশ্যই proto_library
নিয়ম নির্দেশ করবে।
উদাহরণ:
java_library(
name = "lib",
runtime_deps = [":foo"],
)
java_lite_proto_library(
name = "foo",
deps = [":bar"],
)
proto_library(
name = "bar",
)
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যের জন্য একটি অনন্য নাম। |
deps | লেবেলের তালিকা; ডিফল্ট হল proto_library নিয়মের তালিকা। |
java_proto_library
দেখুন নিয়ম উৎসjava_proto_library(name, deps, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
java_proto_library
.proto
ফাইল থেকে জাভা কোড তৈরি করে।
deps
অবশ্যই proto_library
নিয়ম নির্দেশ করবে।
উদাহরণ:
java_library(
name = "lib",
runtime_deps = [":foo_java_proto"],
)
java_proto_library(
name = "foo_java_proto",
deps = [":foo_proto"],
)
proto_library(
name = "foo_proto",
)
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যের জন্য একটি অনন্য নাম। |
deps | লেবেলের তালিকা; ডিফল্ট হল proto_library নিয়মের তালিকা। |
জাভা_পরীক্ষা
রুল সোর্সjava_test(name, deps, srcs, data, resources, add_exports, add_opens, args, bootclasspath, classpath_resources, compatible_with, create_executable, deploy_manifest_lines, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, javacopts, jvm_flags, launcher, licenses, local, main_class, neverlink, plugins, resource_strip_prefix, restricted_to, runtime_deps, shard_count, size, stamp, tags, target_compatible_with, test_class, testonly, timeout, toolchains, use_launcher, use_testrunner, visibility)দেখুন
একটি java_test()
নিয়ম একটি জাভা পরীক্ষা কম্পাইল করে। একটি পরীক্ষা হল আপনার পরীক্ষার কোডের চারপাশে একটি বাইনারি মোড়ক। মূল ক্লাস সংকলনের পরিবর্তে পরীক্ষার রানার প্রধান পদ্ধতিটি আহ্বান করা হয়।
অন্তর্নিহিত আউটপুট লক্ষ্য
-
name .jar
: একটি জাভা আর্কাইভ। -
name _deploy.jar
: একটি জাভা সংরক্ষণাগার স্থাপনের জন্য উপযুক্ত। (শুধুমাত্র যদি স্পষ্টভাবে অনুরোধ করা হয় তবেই নির্মিত।) আরও বিশদ বিবরণের জন্য java_binary থেকেname _deploy.jar
বিবরণ দেখুন।
java_binary()
আর্গুমেন্টের বিভাগটি দেখুন। এই নিয়মটি সমস্ত পরীক্ষার নিয়মগুলির সাধারণ বৈশিষ্ট্যগুলিকেও সমর্থন করে (*_test) ৷
উদাহরণ
java_library(
name = "tests",
srcs = glob(["*.java"]),
deps = [
"//java/com/foo/base:testResources",
"//java/com/foo/testing/util",
],
)
java_test(
name = "AllTests",
size = "small",
runtime_deps = [
":tests",
"//util/mysql",
],
)
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যের জন্য একটি অনন্য নাম। |
deps | লেবেলের তালিকা; ডিফল্ট হল deps সম্পর্কে সাধারণ মন্তব্যগুলি দেখুন। |
srcs | লেবেলের তালিকা; ডিফল্ট হল নিয়ম: যদি নিয়মটি (সাধারণত এই যুক্তিটি প্রায় সবসময়ই প্রয়োজন হয়, যদি একটি |
data | লেবেলের তালিকা; ডিফল্ট হল data সম্পর্কে সাধারণ মন্তব্যগুলি দেখুন। |
resources | লেবেলের তালিকা; ডিফল্ট হল রিসোর্স হতে পারে সোর্স ফাইল বা জেনারেট করা ফাইল। রিসোর্স নির্দিষ্ট করা থাকলে, কম্পাইলেশনের মাধ্যমে উত্পাদিত সাধারণ |
add_exports | স্ট্রিং তালিকা; ডিফল্ট হল module বা package অ্যাক্সেস করার অনুমতি দিন।এটি javac এবং JVM --add-exports= ফ্ল্যাগের সাথে মিলে যায়। |
add_opens | স্ট্রিং তালিকা; ডিফল্ট হল module বা package প্রতিফলিতভাবে অ্যাক্সেস করার অনুমতি দিন।এটি javac এবং JVM --add-opens= ফ্ল্যাগের সাথে মিলে যায়। |
bootclasspath | লেবেল ; ডিফল্ট |
classpath_resources | লেবেলের তালিকা; ডিফল্ট হল সম্পদের একটি তালিকা যা অবশ্যই জাভা গাছের মূলে অবস্থিত। এই অ্যাট্রিবিউটের একমাত্র উদ্দেশ্য হল তৃতীয় পক্ষের লাইব্রেরিগুলিকে সমর্থন করা যেগুলির জন্য তাদের সংস্থানগুলিকে ক্লাসপথে ঠিক |
create_executable | বুলিয়ান; ডিফল্ট java_single_jar ব্যবহার করুন। |
deploy_manifest_lines | স্ট্রিং তালিকা; ডিফল্ট হল *_deploy.jar টার্গেটের জন্য তৈরি করা META-INF/manifest.mf ফাইলে যোগ করার জন্য লাইনের একটি তালিকা। এই বৈশিষ্ট্যের বিষয়বস্তু "ভেরিয়েবল তৈরি করুন" প্রতিস্থাপনের বিষয় নয় । |
javacopts | স্ট্রিং তালিকা; ডিফল্ট হল এই কম্পাইলার বিকল্পগুলি গ্লোবাল কম্পাইলার বিকল্পগুলির পরে javac-এ পাস করা হয়। |
jvm_flags | স্ট্রিং তালিকা; ডিফল্ট হল একটি জাভা বাইনারির জন্য র্যাপার স্ক্রিপ্টে একটি CLASSPATH সংজ্ঞা রয়েছে (সমস্ত নির্ভরশীল জার খুঁজে বের করার জন্য) এবং সঠিক জাভা দোভাষীকে আহ্বান করে। র্যাপার স্ক্রিপ্ট দ্বারা উত্পন্ন কমান্ড লাইনে একটি মনে রাখবেন যে এই বৈশিষ্ট্যটি |
launcher | লেবেল ; ডিফল্ট bin/java প্রোগ্রামের পরিবর্তে আপনার জাভা প্রোগ্রাম চালানোর জন্য ব্যবহার করা হবে। লক্ষ্য অবশ্যই একটি cc_binary হতে হবে। যেকোন cc_binary যা Java Invocation API প্রয়োগ করে এই বৈশিষ্ট্যের জন্য একটি মান হিসাবে নির্দিষ্ট করা যেতে পারে।ডিফল্টরূপে, Bazel সাধারণ JDK লঞ্চার (bin/java বা java.exe) ব্যবহার করবে। সম্পর্কিত মনে রাখবেন যে আপনি JDK লঞ্চার বা অন্য লঞ্চার ব্যবহার করছেন কিনা তার উপর নির্ভর করে আপনার নেটিভ (C++, SWIG, JNI) নির্ভরতা ভিন্নভাবে তৈরি হবে:
ডিফল্ট JDK লঞ্চার ছাড়া অন্য কোনো লঞ্চার ব্যবহার করার সময়, |
main_class | স্ট্রিং; ডিফল্ট হল main() পদ্ধতি সহ ক্লাসের নাম। যদি একটি নিয়ম এই বিকল্পটি ব্যবহার করে, তাহলে এটির জন্য srcs=[...] তালিকার প্রয়োজন নেই। সুতরাং, এই অ্যাট্রিবিউটের সাহায্যে একজন জাভা লাইব্রেরি থেকে একটি এক্সিকিউটেবল তৈরি করতে পারে যাতে ইতিমধ্যে এক বা একাধিক main() পদ্ধতি রয়েছে। এই বৈশিষ্ট্যের মান একটি শ্রেণীর নাম, একটি উৎস ফাইল নয়। ক্লাসটি রানটাইমে উপলব্ধ হতে হবে: এটি এই নিয়ম দ্বারা সংকলিত হতে পারে ( |
neverlink | বুলিয়ান; ডিফল্ট |
plugins | লেবেলের তালিকা; ডিফল্ট হল java_plugin চালানো হবে। একটি লাইব্রেরি exported_plugins ব্যবহার করে এমন নির্ভরতা থেকে প্লাগইনগুলিও উত্তরাধিকার সূত্রে পেতে পারে। প্লাগইন দ্বারা উত্পন্ন সম্পদ এই নিয়মের ফলে জার মধ্যে অন্তর্ভুক্ত করা হবে. |
resource_strip_prefix | স্ট্রিং; ডিফল্ট হল নির্দিষ্ট করা থাকলে, এই পাথ উপসর্গটি |
runtime_deps | লেবেলের তালিকা; ডিফল্ট হল deps এর মতো, এগুলি রানটাইম ক্লাসপথে প্রদর্শিত হবে, কিন্তু তাদের বিপরীতে, কম্পাইল-টাইম ক্লাসপথে নয়। শুধুমাত্র রানটাইমে প্রয়োজনীয় নির্ভরতা এখানে তালিকাভুক্ত করা উচিত। নির্ভরতা-বিশ্লেষণ সরঞ্জামের লক্ষ্যগুলি উপেক্ষা করা উচিত যা runtime_deps এবং deps উভয় ক্ষেত্রেই প্রদর্শিত হয়। |
stamp | পূর্ণসংখ্যা; ডিফল্ট হল
স্ট্যাম্পযুক্ত বাইনারিগুলি পুনর্নির্মাণ করা হয় না যদি না তাদের নির্ভরতা পরিবর্তন হয়। |
test_class | স্ট্রিং; ডিফল্ট হ'ল ডিফল্টরূপে, যদি এই যুক্তিটি সংজ্ঞায়িত না করা হয় তবে উত্তরাধিকার মোডটি ব্যবহৃত হয় এবং পরিবর্তে পরীক্ষার যুক্তিগুলি ব্যবহৃত হয়। প্রথম যুক্তিতে ফ্যালব্যাক না করার জন্য এই বৈশিষ্ট্যটি এই পরীক্ষা দ্বারা পরিচালিত জাভা শ্রেণীর নাম নির্দিষ্ট করে। এটি সেট করা বিরল। যদি এই যুক্তিটি বাদ দেওয়া হয় তবে এটি লক্ষ্যটির জুনিত 3 এর জন্য, পরীক্ষার শ্রেণিটি হয় এই বৈশিষ্ট্যটি বেশ কয়েকটি |
use_launcher | বুলিয়ান; ডিফল্ট যদি এই বৈশিষ্ট্যটি মিথ্যা হিসাবে সেট করা থাকে তবে লঞ্চার বৈশিষ্ট্য এবং সম্পর্কিত |
use_testrunner | বুলিয়ান; ডিফল্ট com.google.testing.junit.runner.BazelTestRunner ) শ্রেণি একটি জাভা প্রোগ্রামের প্রধান প্রবেশ পয়েন্ট হিসাবে ব্যবহার করুন এবং bazel.test_suite সিস্টেমের সম্পত্তি হিসাবে টেস্ট রানারকে পরীক্ষার শ্রেণি সরবরাহ করুন।আপনি এটি ডিফল্ট আচরণকে ওভাররাইড করতে ব্যবহার করতে পারেন, যা java_test বিধিগুলির জন্য টেস্ট রানার ব্যবহার করা এবং এটি java_binary নিয়মের জন্য ব্যবহার না করা। আপনি এটি করতে চাইবেন এমন সম্ভাবনা নেই। একটি ব্যবহার হ'ল AllTest নিয়মের জন্য যা অন্য নিয়ম দ্বারা আহ্বান করা হয় (উদাহরণস্বরূপ পরীক্ষা চালানোর আগে একটি ডাটাবেস সেট আপ করা)। AllTest নিয়মটি অবশ্যই java_binary হিসাবে ঘোষণা করা উচিত, তবে এখনও পরীক্ষার রানারকে তার প্রধান প্রবেশ পয়েন্ট হিসাবে ব্যবহার করা উচিত। একটি টেস্ট রানার ক্লাসের নামটি main_class অ্যাট্রিবিউট দিয়ে ওভাররাইড করা যেতে পারে। |
java_package_configration
নিয়ম উত্স দেখুনjava_package_configuration(name, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, javacopts, output_licenses, packages, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
প্যাকেজগুলির একটি সেটে প্রয়োগ করার জন্য কনফিগারেশন। কনফিগারেশনগুলি java_toolchain.javacopts
এস এ যুক্ত করা যেতে পারে।
উদাহরণ:
java_package_configuration(
name = "my_configuration",
packages = [":my_packages"],
javacopts = ["-Werror"],
)
package_group(
name = "my_packages",
packages = [
"//com/my/project/...",
"-//com/my/project/testing/...",
],
)
java_toolchain(
...,
package_configuration = [
":my_configuration",
]
)
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যটির জন্য একটি অনন্য নাম। |
data | লেবেলের তালিকা; ডিফল্ট হ'ল |
javacopts | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
output_licenses | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
packages | লেবেলের তালিকা; ডিফল্ট হ'ল package_group সেটটি কনফিগারেশনটি প্রয়োগ করা উচিত। |
জাভা_প্লাগিন
নিয়ম উত্স দেখুনjava_plugin(name, deps, srcs, data, resources, add_exports, add_opens, bootclasspath, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, generates_api, javabuilder_jvm_flags, javacopts, licenses, neverlink, output_licenses, plugins, processor_class, proguard_specs, resource_strip_prefix, restricted_to, tags, target_compatible_with, testonly, toolchains, visibility)
java_plugin
বাজেল দ্বারা পরিচালিত জাভা সংকলকের জন্য প্লাগইনগুলি সংজ্ঞায়িত করে। এই মুহুর্তে, একমাত্র সমর্থিত ধরণের প্লাগইন হ'ল টীকাগুলি প্রসেসর। একটি java_library
বা java_binary
নিয়ম plugins
বৈশিষ্ট্যের মাধ্যমে তাদের উপর নির্ভর করে প্লাগইনগুলি চালাতে পারে। একটি java_library
স্বয়ংক্রিয়ভাবে লাইব্রেরিতে প্লাগইনগুলি রফতানি করতে পারে যা সরাসরি exported_plugins
ব্যবহার করে এটির উপর নির্ভর করে।
অন্তর্নিহিত আউটপুট লক্ষ্য
-
libname .jar
: একটি জাভা সংরক্ষণাগার।
processor_class
আর্গুমেন্ট যুক্ত করা ব্যতীত যুক্তিগুলি java_library
মতো।
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যটির জন্য একটি অনন্য নাম। |
deps | লেবেলের তালিকা; ডিফল্ট হ'ল deps সম্পর্কে সাধারণ মন্তব্যগুলি দেখুন। বিপরীতে, |
srcs | লেবেলের তালিকা; ডিফল্ট হ'ল প্রকারের উত্স ফাইলগুলি প্রকারের উত্স ফাইলগুলি বিধি: যদি নিয়ম (সাধারণত প্রকারের উত্স ফাইলগুলি অন্যান্য সমস্ত ফাইল উপেক্ষা করা হয়, যতক্ষণ না উপরে বর্ণিত কোনও ফাইল ধরণের কমপক্ষে একটি ফাইল থাকে। অন্যথায় একটি ত্রুটি উত্থাপিত হয়। আপনি যদি |
data | লেবেলের তালিকা; ডিফল্ট হ'ল data সম্পর্কে সাধারণ মন্তব্যগুলি দেখুন। |
resources | লেবেলের তালিকা; ডিফল্ট হ'ল সংস্থানগুলি উত্স ফাইল বা উত্পন্ন ফাইল হতে পারে। যদি সংস্থানগুলি নির্দিষ্ট করা থাকে তবে সেগুলি সংকলন দ্বারা উত্পাদিত সাধারণ |
add_exports | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল module বা package অ্যাক্সেস করার অনুমতি দিন।এটি জাভাক এবং জেভিএম-এডিডি-রফতানি = পতাকাগুলির সাথে সম্পর্কিত। |
add_opens | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল module বা package প্রতিফলিতভাবে অ্যাক্সেস করার অনুমতি দিন।এটি জাভাক এবং জেভিএম-এডিডি-ওপেনস = পতাকাগুলির সাথে সম্পর্কিত। |
bootclasspath | লেবেল ; ডিফল্ট |
generates_api | বুলিয়ান; ডিফল্ট যদি কোনও নিয়ম কোনও এপিআই-উত্পাদক টীকা প্রসেসর ব্যবহার করে, তবে এর উপর নির্ভর করে অন্যান্য নিয়মগুলি উত্পন্ন কোডটি উল্লেখ করতে পারে কেবল তখনই তাদের সংকলন ক্রিয়াগুলি উত্পন্ন বিধি অনুসারে নির্ধারিত হয়। এই বৈশিষ্ট্যটি বাজেলকে সময়সূচী সীমাবদ্ধতাগুলি প্রবর্তন করার নির্দেশ দেয় যখন -জাভা_হেডার_কম্পিলেশন সক্ষম করা থাকে। সতর্কতা: এই বৈশিষ্ট্যটি বিল্ড পারফরম্যান্সকে প্রভাবিত করে, প্রয়োজনে কেবল এটি ব্যবহার করুন। |
javabuilder_jvm_flags | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
javacopts | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল এই সংকলক বিকল্পগুলি বিশ্বব্যাপী সংকলক বিকল্পগুলির পরে জাভাকের কাছে প্রেরণ করা হয়। |
neverlink | বুলিয়ান; ডিফল্ট tools.jar জন্য আইডিই এপিআই। স্ট্যান্ডার্ড জেডিকে চলমান যে কোনও কিছুর জন্য জার। নোট করুন যে যদি রানটাইম লাইব্রেরিটি সংকলন গ্রন্থাগার থেকে পৃথক হয় তবে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে এটি কেবলমাত্র সেই জায়গাগুলিতে পৃথক হয় যা জেএলএস সংকলকগুলিকে ইনলাইন করতে নিষেধ করে (এবং এটি অবশ্যই জেএলএসের সমস্ত ভবিষ্যতের সংস্করণ ধরে রাখতে হবে)। |
output_licenses | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
plugins | লেবেলের তালিকা; ডিফল্ট হ'ল java_plugin যখনই এই নিয়মটি তৈরি করা হয়। একটি লাইব্রেরি নির্ভরতা থেকে প্লাগইনগুলির উত্তরাধিকারী হতে পারে যা exported_plugins ব্যবহার করে। প্লাগইন দ্বারা উত্পাদিত সংস্থানগুলি এই নিয়মের ফলাফলের জারে অন্তর্ভুক্ত করা হবে। |
processor_class | স্ট্রিং; ডিফল্ট হ'ল |
proguard_specs | লেবেলের তালিকা; ডিফল্ট হ'ল android_binary লক্ষ্যে যুক্ত করা হবে। এখানে অন্তর্ভুক্ত ফাইলগুলিতে কেবলমাত্র আইডেমপোটেন্ট বিধি থাকতে হবে, যথা -ডন্টনোট, -ডন্টওয়ার্ন, অ্যাসোসাইডেফেক্টস এবং বিধিগুলি যা -কেইপি দিয়ে শুরু হয়। অন্যান্য বিকল্পগুলি অ-টুটোলজিকাল মার্জগুলি নিশ্চিত করতে কেবলমাত্র android_binary এর প্রোগুয়ার্ড_স্পেকগুলিতে উপস্থিত হতে পারে। |
resource_strip_prefix | স্ট্রিং; ডিফল্ট হ'ল যদি নির্দিষ্ট করা হয় তবে এই পাথ উপসর্গটি প্রতিটি ফাইল থেকে |
java_runtime
নিয়ম উত্স দেখুনjava_runtime(name, srcs, compatible_with, default_cds, deprecation, distribs, exec_compatible_with, exec_properties, features, hermetic_srcs, hermetic_static_libs, java, java_home, lib_ct_sym, lib_modules, output_licenses, restricted_to, tags, target_compatible_with, testonly, toolchains, version, visibility)
জাভা রানটাইমের জন্য কনফিগারেশন নির্দিষ্ট করে।
উদাহরণ:
java_runtime(
name = "jdk-9-ea+153",
srcs = glob(["jdk9-ea+153/**"]),
java_home = "jdk9-ea+153",
)
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যটির জন্য একটি অনন্য নাম। |
srcs | লেবেলের তালিকা; ডিফল্ট হ'ল |
default_cds | লেবেল ; ডিফল্ট java_runtime জন্য ডিফল্ট সিডিএস সংরক্ষণাগার। যখন java_binary টার্গেটের জন্য হারমেটিক সক্ষম করা হয় এবং যদি লক্ষ্যটি classlist বৈশিষ্ট্য নির্দিষ্ট করে নিজস্ব সিডিএস সংরক্ষণাগার সরবরাহ না করে, java_runtime ডিফল্ট সিডিএস হারমেটিক ডিপ্লাই জারে প্যাকেজ করা হয়। |
hermetic_srcs | লেবেলের তালিকা; ডিফল্ট হ'ল |
hermetic_static_libs | লেবেলের তালিকা; ডিফল্ট হ'ল |
java | লেবেল ; ডিফল্ট |
java_home | স্ট্রিং; ডিফল্ট হ'ল srcs এবং java বৈশিষ্ট্যগুলি অবশ্যই খালি থাকতে হবে। |
lib_ct_sym | লেবেল ; ডিফল্ট --release সাথে সংকলনের জন্য প্রয়োজনীয় LIB/CT.SYM ফাইল। যদি নির্দিষ্ট না করা হয় এবং srcs ঠিক একটি ফাইল রয়েছে যার পথটি /lib/ct.sym দিয়ে শেষ হয়, সেই ফাইলটি ব্যবহৃত হয়। |
lib_modules | লেবেল ; ডিফল্ট |
output_licenses | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
version | পূর্ণসংখ্যা; ডিফল্ট Runtime.version().feature() । |
জাভা_টুলচেইন
নিয়ম উত্স দেখুনjava_toolchain(name, android_lint_data, android_lint_jvm_opts, android_lint_opts, android_lint_package_configuration, android_lint_runner, bootclasspath, compatible_javacopts, compatible_with, deprecation, deps_checker, distribs, exec_compatible_with, exec_properties, features, forcibly_disable_header_compilation, genclass, header_compiler, header_compiler_builtin_processors, header_compiler_direct, ijar, jacocorunner, java_runtime, javabuilder, javabuilder_data, javabuilder_jvm_opts, javac_supports_multiplex_workers, javac_supports_worker_cancellation, javac_supports_worker_multiplex_sandboxing, javac_supports_workers, javacopts, jspecify_implicit_deps, jspecify_javacopts, jspecify_packages, jspecify_processor, jspecify_processor_class, jspecify_stubs, jvm_opts, licenses, misc, oneversion, oneversion_allowlist_for_tests, oneversion_whitelist, package_configuration, proguard_allowlister, reduced_classpath_incompatible_processors, restricted_to, singlejar, source_version, tags, target_compatible_with, target_version, testonly, timezone_data, toolchains, tools, turbine_data, turbine_jvm_opts, visibility, xlint)
জাভা সংকলকের জন্য কনফিগারেশন নির্দিষ্ট করে। কোন টুলচেইন ব্যবহার করতে হবে -জাভা_টুলচেইন আর্গুমেন্টের মাধ্যমে পরিবর্তন করা যেতে পারে। আপনি যদি আপনার জাভা সংকলকটি টিউন করতে না চান তবে সাধারণত আপনার এই ধরণের নিয়ম লিখতে হবে না।
উদাহরণ
একটি সহজ উদাহরণ হবে:
java_toolchain(
name = "toolchain",
source_version = "7",
target_version = "7",
bootclasspath = ["//tools/jdk:bootclasspath"],
xlint = [ "classfile", "divzero", "empty", "options", "path" ],
javacopts = [ "-g" ],
javabuilder = ":JavaBuilder_deploy.jar",
)
যুক্তি
গুণাবলী | |
---|---|
name | নাম ; প্রয়োজনীয় এই লক্ষ্যটির জন্য একটি অনন্য নাম। |
android_lint_data | লেবেলের তালিকা; ডিফল্ট হ'ল |
android_lint_jvm_opts | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
android_lint_opts | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
android_lint_package_configuration | লেবেলের তালিকা; ডিফল্ট হ'ল |
android_lint_runner | লেবেল ; ডিফল্ট |
bootclasspath | লেবেলের তালিকা; ডিফল্ট হ'ল |
compatible_javacopts | খালি; ডিফল্ট হ'ল |
deps_checker | লেবেল ; ডিফল্ট |
forcibly_disable_header_compilation | বুলিয়ান; ডিফল্ট |
genclass | লেবেল ; ডিফল্ট |
header_compiler | লেবেল ; ডিফল্ট |
header_compiler_builtin_processors | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
header_compiler_direct | লেবেল ; ডিফল্ট এই সরঞ্জামটি টীকা প্রক্রিয়াকরণকে সমর্থন করে না। |
ijar | লেবেল ; ডিফল্ট |
jacocorunner | লেবেল ; ডিফল্ট |
java_runtime | লেবেল ; ডিফল্ট |
javabuilder | লেবেল ; ডিফল্ট |
javabuilder_data | লেবেলের তালিকা; ডিফল্ট হ'ল |
javabuilder_jvm_opts | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
javac_supports_multiplex_workers | বুলিয়ান; ডিফল্ট |
javac_supports_worker_cancellation | বুলিয়ান; ডিফল্ট |
javac_supports_worker_multiplex_sandboxing | বুলিয়ান; ডিফল্ট |
javac_supports_workers | বুলিয়ান; ডিফল্ট |
javacopts | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
jspecify_implicit_deps | লেবেল ; ডিফল্ট |
jspecify_javacopts | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
jspecify_packages | লেবেলের তালিকা; ডিফল্ট হ'ল |
jspecify_processor | লেবেল ; ডিফল্ট |
jspecify_processor_class | স্ট্রিং; ডিফল্ট হ'ল |
jspecify_stubs | লেবেলের তালিকা; ডিফল্ট হ'ল |
jvm_opts | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
misc | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
oneversion | লেবেল ; ডিফল্ট |
oneversion_allowlist_for_tests | লেবেল ; ডিফল্ট |
oneversion_whitelist | লেবেল ; ডিফল্ট |
package_configuration | লেবেলের তালিকা; ডিফল্ট হ'ল |
proguard_allowlister | লেবেল ; ডিফল্ট হ'ল |
reduced_classpath_incompatible_processors | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
singlejar | লেবেল ; ডিফল্ট |
source_version | স্ট্রিং; ডিফল্ট হ'ল |
target_version | স্ট্রিং; ডিফল্ট হ'ল |
timezone_data | লেবেল ; ডিফল্ট |
tools | লেবেলের তালিকা; ডিফল্ট হ'ল |
turbine_data | লেবেলের তালিকা; ডিফল্ট হ'ল |
turbine_jvm_opts | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |
xlint | স্ট্রিংগুলির তালিকা; ডিফল্ট হ'ল |