গ্রেড.প্রোপার্টি বনাম সেটিংস.gradle কখন ব্যবহার করবেন?


90

গ্রেড বিল্ডে তিনটি ফাইল রয়েছে

  • build.gradle যা বিল্ড কনফিগারেশন স্ক্রিপ্টগুলি সংজ্ঞায়িত করে
  • gradle.properties
  • settings.gradle

প্রশ্ন

  • settings.gradle& এর মধ্যে পার্থক্য কী gradle.properties?
  • কখন একটি সেটিংস settings.gradleবনাম রাখা উচিত gradle.properties?

উত্তর:


85

settings.gradle

settings.gradleফাইলটি একটি খাঁজকাটা স্ক্রিপ্ট, শুধু ভালো হয় build.gradleফাইল। settings.gradleপ্রতিটি বিল্ডে কেবলমাত্র একটি স্ক্রিপ্ট কার্যকর করা হবে ( build.gradleবহু-প্রকল্পের বিল্ডে একাধিক স্ক্রিপ্টগুলির তুলনায় )। settings.gradleস্ক্রিপ্ট কোনো আগে মৃত্যুদন্ড কার্যকর করা হবে build.gradleস্ক্রিপ্ট এবং এমনকি সামনে Projectদৃষ্টান্ত নির্মিত হয়। সুতরাং, এটি একটি Settingsবস্তুর বিরুদ্ধে মূল্যায়ন করা হয় । এই Settingsঅবজেক্টের সাহায্যে আপনি আপনার বিল্ডে সাবপ্রজেক্টগুলি যুক্ত করতে পারেন, কমান্ড লাইন ( StartParameter) থেকে প্যারামিটারগুলি সংশোধন করতে পারেন , এবং Gradleলাইফেস্কেল হ্যান্ডলারের নিবন্ধে অবজেক্টটি অ্যাক্সেস করতে পারেন। ফলস্বরূপ, settings.gradleযদি আপনার সেটিংগুলি বিল্ড-সম্পর্কিত হয় এবং প্রয়োজনীয় প্রকল্প-সম্পর্কিত না হয় বা সম্ভাব্য সাব -প্রকল্পগুলি অন্তর্ভুক্ত করার আগে যুক্তির প্রয়োজন হয় তবে এটি ব্যবহার করুন।

gradle.properties

gradle.propertiesফাইলটি একটি সহজ জাভা হয় Propertiesশুধুমাত্র দ্বারা স্বয়ংক্রিয়ভাবে পরিধি অন্তর্ভুক্ত হচ্ছে একটি বিশেষ ভূমিকা লাভ যে ফাইল Project(যেমন 'প্রকল্পের বৈশিষ্ট্য' তথাকথিত) বস্তু। এটি একটি সাধারণ কী-মান স্টোর যা কেবল স্ট্রিংয়ের মানগুলিকেই মঞ্জুরি দেয় (যাতে আপনার নিজের দ্বারা তালিকা বা অ্যারেগুলি বিভক্ত করা প্রয়োজন)। আপনি gradle.propertiesএই অবস্থানগুলিতে ফাইলগুলি রাখতে পারেন :

  • সরাসরি প্রকল্প ডিরেক্টরিতে (প্রকল্প সম্পর্কিত মানগুলির জন্য)
  • ব্যবহারকারীর হোম .gradleডিরেক্টরিতে (ব্যবহারকারীর বা পরিবেশ সম্পর্কিত মানগুলির জন্য)

62

একটি বহু-মডিউল প্রকল্পের একটি প্রধান মডিউল এবং অনেকগুলি সাবমডিউল রয়েছে। এটির এই লেআউটটি রয়েছে:

(root)
  +- settings.gradle       
  +- build.gradle          # optional (commonly present)
  +- gradle.properties     # optional
  +-- buildSrc/            # optional
  |     +- build.gradle    
  |     +-- src/...
  +-- my-gradle-stuff/     # optional
  |     +- utils.gradle    # optional
  +-- sub-a/
  |     +- build.gradle
  |     +- src/
  +-- sub-b/
        +- build.gradle
        +- src/

সাবমোডিয়ালগুলি সাবফোল্ডারগুলিতে আরও গভীরতর অবস্থিত হতে পারে তবে সেটিংস এড্রেডলে কোড পরিবর্তন না করে তাদের নাম এই জাতীয় ফোল্ডারের নাম অন্তর্ভুক্ত করবে।

settings.gradle

সেটিংস.gradle এর মূল ভূমিকা হ'ল সমস্ত অন্তর্ভুক্ত সাবমডিউলগুলি সংজ্ঞায়িত করা এবং মডিউলগুলির একটি গাছের ডিরেক্টরি মূল চিহ্নিত করা, যাতে আপনি settings.gradleএকটি মাল্টি-মডিউল প্রকল্পে কেবল একটি ফাইল রাখতে পারেন ।

rootProject.name = 'project-x'

include 'sub-a', 'sub-b'

সেটিংস ফাইলটি গ্রোভিতেও লেখা হয় এবং সাব-মডুল লুকটি কাস্টমাইজ করা যায়।

build.gradle

মডিউল প্রতি এই জাতীয় একটি ফাইল রয়েছে, এটিতে এই মডিউলটির জন্য বিল্ড যুক্তি রয়েছে।

ইন build.gradleফাইল প্রধান মডিউল ব্যবহার করতে পারেন allprojects {}বাsubprojects {} অন্যান্য সকল মডিউল জন্য সেটিংস নির্ধারণ করার।

ইন build.gradlesubmodules এর ফাইল, আপনি ব্যবহার করতে পারেনcompile project(':sub-a') এক submodule অন্যান্য উপর নির্ভর করতে পারেন।

গ্রেড.প্রোপার্টি

এটি alচ্ছিক, এর মূল উদ্দেশ্য হ'ল গ্রেড নিজেই চালানোর জন্য স্টার্টআপ বিকল্পগুলি সরবরাহ করা, যেমন

org.gradle.jvmargs=-Xmx=... -Dfile.encoding=UTF-8 ...
org.gradle.configureondemand=true

এই মানগুলি কোনও ফাইল দ্বারা USER_HOME/.gradle/gradle.propertiesওভাররাইড করা যায় এবং গ্রেড কমান্ড লাইন আর্গুমেন্ট দ্বারা ওভাররাইড করা যায়। এছাড়াও এই ফাইলটিতে systemProp.উপসর্গ হিসাবে ব্যবহারের জন্য পরিবেশের ভেরিয়েবলগুলি সেট করা সম্ভব ।

এই ফাইলের যে কোনও সম্পত্তি যেকোন বিল্ড.gradle এ ব্যবহার করা যেতে পারে, তাই কিছু প্রকল্প নির্ভরতা সংস্করণ রাখে বা তথ্য প্রকাশ করে gradle.propertiesতবে এটি সম্ভবত এই ফাইলটির অপব্যবহার।

আমার-গ্রেডেল-স্টাফ / ব্যবহারকারীর.gradle

(ফোল্ডার বা ফাইলের যে কোনও নামই সম্ভব)) সংজ্ঞাটি পুনরায় ব্যবহার করতে আপনি অতিরিক্ত কাস্টম গ্রেড ফাইল সংজ্ঞায়িত করতে পারেন এবং সেগুলি মাধ্যমে অন্যান্য গ্রেড ফাইলগুলিতে অন্তর্ভুক্ত করতে পারেন

apply from: "$rootDir/gradle/utils.gradle"

এটি স্থাপন করার জন্য অন্যান্য জায়গা হতে পারে src/gradleবাsrc/build/gradle

buildSrc / ...

এই ফোল্ডারটি বিশেষ, এটি নিজের মধ্যে পৃথক গ্রেডেল প্রকল্পের মতো। এটি অন্য কিছু করার আগে নির্মিত এবং অন্য কোনও গ্রেড ফাইল ব্যবহার করার জন্য এটি ফাংশন সরবরাহ করতে পারে। প্রযুক্তিগত কারণে, এই ফোল্ডারটির উল্লেখগুলির জন্য আইডিই সমর্থন একাধিক থেকে সাধারণ কোড বের করার যে কোনও উপায়ের চেয়ে অনেক ভাল কাজ করেbuild.gradle ফাইল থেকে পৃথক স্থানে ।

আপনি প্লাগইন লিখতে এবং স্থাপনের পরিবর্তে জাভা, গ্রোভি বা কোটলিনে জটিল কাস্টম বিল্ড লজিক সংজ্ঞায়িত করতে পারেন। এটি আপনার কাস্টম বিল্ড কোডকে ইউনিট-টেস্টিংয়ের জন্যও কার্যকর, কারণ আপনি ইউনিট পরীক্ষা করতে পারেন। উত্স ফোল্ডার কাঠামোটি buildSrcকোনও জাভা / গ্রোভি / কোটলিন প্রকল্পের মতো মানিয়ে নেওয়া যেতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.