আমার একটি জটিল গ্রেড স্ক্রিপ্ট রয়েছে যা বেশ কয়েকটি পরিবেশে নেটবিন প্রকল্পের সংখ্যা নির্মান এবং স্থাপনের চারপাশে প্রচুর কার্যকারিতা জড়িয়ে দেয়।
স্ক্রিপ্টটি খুব ভালভাবে কাজ করে তবে সংক্ষেপে এটি সবগুলি অর্ধ ডজন মানচিত্রের প্রকল্প এবং পরিবেশের তথ্যের মাধ্যমে কনফিগার করা হয়েছে।
আমি টাস্কগুলিকে অন্য কোনও ফাইলে ফেলে দিতে চাই, যাতে আমি কেবল একটি সাধারণ বিল্ড ফাইলে আমার মানচিত্রগুলি সংজ্ঞায়িত করতে পারি এবং অন্য ফাইল থেকে টাস্কগুলি আমদানি করতে পারি। এইভাবে, আমি বেশ কয়েকটি প্রকল্পের জন্য একই মূল কাজগুলি ব্যবহার করতে পারি এবং মানচিত্রের একটি সহজ সেট সহ সেই প্রকল্পগুলি কনফিগার করতে পারি।
কেউ কি আমাকে বলতে পারে যে আমি কীভাবে এন্টির কাজটির সাথে একইভাবে এক গ্রেড ফাইলটি অন্যটিতে আমদানি করতে পারি? আমি গ্র্যাডলের ডক্সকে এখনও ট্রল করেছি।
অতিরিক্ত তথ্য
টমের প্রতিক্রিয়া নীচের পরে, আমি ভেবেছিলাম আমি চেষ্টা করব এবং আমি যা বলতে চাইছি তা স্পষ্ট করে বলব।
মূলত আমার কাছে গ্রেড স্ক্রিপ্ট রয়েছে যা বেশ কয়েকটি সাব-প্রজেক্ট চালায়। যাইহোক, সাবজেক্টরগুলি সমস্ত নেটবিয়ান প্রকল্প, এবং তাদের নিজস্ব পিঁপড়া তৈরির স্ক্রিপ্টগুলি নিয়ে আসে, সুতরাং এগুলির প্রতিটি কল করার জন্য আমার গ্রেডে কাজ রয়েছে।
আমার সমস্যাটি হ'ল ফাইলের শীর্ষে আমার কিছু কনফিগারেশন রয়েছে, যেমন:
projects = [
[name:"MySubproject1", shortname: "sub1", env:"mainEnv", cvs_module="mod1"],
[name:"MySubproject2", shortname: "sub2", env:"altEnv", cvs_module="mod2"]
]
আমি এর পরে টাস্কগুলি তৈরি করি যেমন:
projects.each({
task "checkout_$it.shortname" << {
// Code to for example check module out from cvs using config from 'it'.
}
})
আমার কাছে টাস্ক জেনারেশনের এই ধরণের অনেকগুলি স্নিপেট রয়েছে এবং সেগুলি সব জেনেরিক - তারা সম্পূর্ণরূপে প্রকল্পের তালিকার কনফিগারেশনের উপর নির্ভর করে।
সুতরাং আমি যা চাই তা হ'ল এটি একটি পৃথক স্ক্রিপ্টে রাখার এবং এটি নিম্নলিখিত ধরণেরভাবে আমদানি করার:
projects = [
[name:"MySubproject1", shortname: "sub1", env:"mainEnv", cvs_module="mod1"],
[name:"MySubproject2", shortname: "sub2", env:"altEnv", cvs_module="mod2"]
]
import("tasks.gradle") // This will import and run the script so that all tasks are generated for the projects given above.
সুতরাং এই উদাহরণে, Tasks.gradle এর সমস্ত জেনেরিক টাস্ক জেনারেশন কোড থাকবে এবং মূল বিল্ড.gradle ফাইলে সংজ্ঞায়িত প্রকল্পগুলির জন্য চালানো হবে। এইভাবে, Tasks.gradle একটি ফাইল যা সমস্ত বড় প্রকল্প দ্বারা ব্যবহার করা যেতে পারে যা নেটবিয়ান পিঁপড়া বিল্ড ফাইল সহ বেশ কয়েকটি উপ-প্রকল্প নিয়ে গঠিত।