নিয়ম
কর্ম_শ্রোতা
action_listener(name, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, extra_actions, features, licenses, mnemonics, restricted_to, tags, target_compatible_with, testonly, visibility)
সতর্কতা: অতিরিক্ত ক্রিয়াকলাপ বাতিল করা হয়েছে। পরিবর্তে দিক ব্যবহার করুন.
একটি action_listener
নিয়ম নিজেই কোনো আউটপুট তৈরি করে না। পরিবর্তে, এটি টুল ডেভেলপারদের বিল্ড সিস্টেমে extra_action
গুলি ঢোকানোর অনুমতি দেয়, অ্যাকশন থেকে extra_action
এ ম্যাপিং প্রদান করে।
এই নিয়মের আর্গুমেন্ট অ্যাকশন extra_action
নিয়মে ম্যাপ করে।
--experimental_action_listener=<label>
বিকল্পটি নির্দিষ্ট করে, বিল্ড গ্রাফে extra_action
গুলি সন্নিবেশ করতে নির্দিষ্ট action_listener
ব্যবহার করবে।
উদাহরণ
action_listener( name = "index_all_languages", mnemonics = [ "Javac", "CppCompile", "Python", ], extra_actions = [":indexer"], ) action_listener( name = "index_java", mnemonics = ["Javac"], extra_actions = [":indexer"], ) extra_action( name = "indexer", tools = ["//my/tools:indexer"], cmd = "$(location //my/tools:indexer)" + "--extra_action_file=$(EXTRA_ACTION_FILE)", )
যুক্তি
গুণাবলী | |
---|---|
name | এই লক্ষ্যের জন্য একটি অনন্য নাম। |
extra_actions | action_listener extra_action গ্রাফে যোগ করা উচিত। যেমন [ "//my/tools:analyzer" ] । |
mnemonics | action_listener শুনতে হবে, যেমন [ "Javac" ] ।স্মৃতিবিদ্যা কোনো পাবলিক ইন্টারফেস নয়। স্মৃতিবিদ্যা এবং তাদের ক্রিয়াগুলি পরিবর্তিত হয় না এমন কোনও গ্যারান্টি নেই। |
অতিরিক্ত_ক্রিয়া
extra_action(name, data, cmd, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, out_templates, requires_action_output, restricted_to, tags, target_compatible_with, testonly, toolchains, tools, visibility)
সতর্কতা: অতিরিক্ত ক্রিয়াকলাপ বাতিল করা হয়েছে। পরিবর্তে দিক ব্যবহার করুন.
একটি extra_action
নিয়ম নিয়মিত বিল্ড টার্গেট হিসাবে নির্দিষ্ট করার সময় কোনো অর্থপূর্ণ আউটপুট তৈরি করে না। পরিবর্তে, এটি টুল বিকাশকারীদের বিল্ড গ্রাফে অতিরিক্ত অ্যাকশন সন্নিবেশ করার অনুমতি দেয় যা বিদ্যমান ক্রিয়াগুলিকে ছায়া দেয়।
কিভাবে extra_action
সক্ষম করতে হয় তার বিস্তারিত জানতে action_listener
দেখুন।
extra_action
একটি কমান্ড-লাইন হিসাবে চালানো হয়। কমান্ড-লাইন টুলটি $(EXTRA_ACTION_FILE) হিসাবে একটি প্রোটোকল বাফার ধারণ করে এমন একটি ফাইলে অ্যাক্সেস পায় যাতে এটি ছায়া করছে মূল অ্যাকশনের বিস্তারিত তথ্য। মূল অ্যাকশনের অ্যাক্সেস আছে এমন সমস্ত ইনপুট ফাইলেও এটির অ্যাক্সেস রয়েছে। প্রোটোকল বাফারের ভিতরে সংরক্ষিত ডেটার বিস্তারিত জানার জন্য extra_actions_base.proto দেখুন। প্রতিটি প্রোটো ফাইলে একটি ExtraActionInfo বার্তা রয়েছে।
অন্যান্য সমস্ত ক্রিয়াগুলির মতো, অতিরিক্ত ক্রিয়াগুলি স্যান্ডবক্সযুক্ত, এবং এটি পরিচালনা করার জন্য ডিজাইন করা উচিত৷
যুক্তি
গুণাবলী | |
---|---|
name | এই লক্ষ্যের জন্য একটি অনন্য নাম। আপনিaction_listener নিয়মের extra_actions আর্গুমেন্টে label দ্বারা এই নিয়মটি উল্লেখ করতে পারেন। |
cmd | নিম্নলিখিত পার্থক্য সহ জেনরুল সিএমডি অ্যাট্রিবিউটের মতো:
|
out_templates | extra_action কমান্ড দ্বারা উত্পন্ন ফাইলগুলির জন্য টেমপ্লেটগুলির একটি তালিকা৷টেমপ্লেট নিম্নলিখিত ভেরিয়েবল ব্যবহার করতে পারে:
|
requires_action_output | extra_action এর জন্য মূল ক্রিয়াটির আউটপুট এই extra_action এ ইনপুট হিসাবে উপস্থিত থাকা প্রয়োজন।যখন সত্য (ডিফল্ট মিথ্যা), তখন extra_action অনুমান করতে পারে যে মূল অ্যাকশন আউটপুটগুলি এর ইনপুটগুলির অংশ হিসাবে উপলব্ধ। |
tools | tool নির্ভরতার একটি তালিকা।আরও তথ্যের জন্য নির্ভরতার সংজ্ঞা দেখুন। বিল্ড সিস্টেম নিশ্চিত করে যে সমস্ত সরঞ্জাম এবং তাদের ডেটা নির্ভরতা একটি একক গাছে একত্রিত হয় যার মধ্যে কমান্ড আপেক্ষিক পাথ ব্যবহার করতে পারে। ওয়ার্কিং ডিরেক্টরি হবে সেই ইউনিফাইড ট্রির মূল। |