গ্রেডল কেবলমাত্র একটি মডিউল তৈরি করে


152

আমার একাধিক মডিউল গ্রেড বিল্ড রয়েছে। আমি রুট ব্যবহার করে একটি মডিউলের জন্য লক্ষ্যগুলি কার্যকর করতে চাই। প্রাক্তন:

gradle build -Pmodule=ABC
gradle jar -Pmodule=ABC
gradle test -Pmodule=ABC
gradle compileJava -Pmodule=ABC
gradle customTask -Pmodule=ABC
etc.

সুতরাং প্রতিটি লক্ষ্য মডিউল নির্দিষ্ট করে রুট থেকে চালানো যেতে পারে। এটি করার কোন সহজ পথ আছে কি?

ধন্যবাদ!


if (project.hasProperty('module') && module.equals('ABC')) { // execute module ABC } ...। এই আপনি কি অর্জন করতে চান?
পেপুচ

@ পেপুচ, আপনি দয়া করে পরিষ্কার করতে পারেন? আমি আমার অ্যাপ্লিকেশনটির আপডেটগুলি ধাক্কা দিতে চাই যার মধ্যে এটি রয়েছে তবে এটি অ্যাপ্লিকেশনটিতে কেবল লাইব্রেরিটি পুনর্নির্মাণ না করে পরিবর্তনগুলি তৈরি করতে পারে।
দ্য_মার্টিয়ান

উত্তর:


302

নির্দিষ্ট সাবপ্রজেক্টের কোনও কার্য সম্পাদন করতে, তার কার্যের পথটি নির্দিষ্ট করুন । উদাহরণ স্বরূপ:

gradle :ABC:build

নেতৃস্থানীয় :রুট প্রকল্পের জন্য দাঁড়িয়েছে। ABCএটি হ'ল উপ buildপ্রকল্প এবং সেই প্রকল্পের একটি কাজ।


4
আপনি কমান্ড লাইনের পরিবর্তে কনফিগার মাধ্যমে কীভাবে নিয়ন্ত্রণ করতে পারেন কেবলমাত্র একটির মধ্যে একটি সাব-প্রজেক্টকে একত্রিত করতে? গুগলের রিলিজ পাইপলাইনগুলির জন্য, এটি মূল প্রকল্পের "গ্রেডেল ক্লিন এসেম্বল" বন্ধ করে দেয়। আমার জন্য, এটি অ্যাপেঞ্জিন এবং অ্যান্ড্রয়েড বিল্ডগুলি তৈরি করার চেষ্টা করে। অ্যান্ড্রয়েড বিল্ডে রিলিজ পাইপলাইন ব্যর্থ হবে কারণ এতে এসডিকে ইনস্টল করা হয়নি, একটি ক্ষণস্থায়ী মেশিনের জন্য বোধগম্য। এছাড়াও, রিলিজ পাইপলাইনগুলি কোনও কনফিগারেশন বিকল্প দেয় বলে মনে হচ্ছে না।
ব্রুনোবউডেন

আমার ক্ষেত্রে মূল প্রকল্পটি এখনও পরিদর্শন করেছে এবং ত্রুটি বার্তাগুলি ফায়ার করে আমি এই মুহূর্তে ডিল করতে চাই না। খুবই বিরক্তিকর.
ওল্ফগ্যাং ফাহল

gradle :ABC:clean :ABC:build
স্ট্যানিস্লাভকো

গ্রেড বিল্ড-পি মডিউলএ আরও ভাল এটি মডিউলের নির্ভরতা পরিচালনা করবে।
জন

84

একটি দ্রুত উপায় খুঁজে

gradle build -p moduleA

মডিউলএ মডিউলটির ডিরেক্টরি।

উপরের কমান্ডটি একটি moduleAএবং এর সমস্ত সাবমডিউল তৈরি করে এবং moduleAএটির পথ হওয়া উচিত


4
উপরের কমান্ডটি একটি মওডলএ তৈরি করবে এবং এটির সমস্ত উপ-মডেল তৈরি করুন, এবং মডিউলএই হবে এটির পথ gradle build -p path\pathSt\moduleA
বিরাজ

1
আমার কাছে সাবপ্রজেক্টগুলির জন্য একটি মোড়ক রয়েছে যার নিজস্ব কোনও গ্রেড ফাইল নেই। নির্বাচিত উত্তরের মতো নয়, এটি আমার পক্ষে কাজ করে। এছাড়াও মন্তব্যে স্পষ্টতার জন্য ধন্যবাদ, আপনি কি উত্তরটিতে এটি যুক্ত করতে পারেন?
ভ্ল্যাক

24

ম্যাক ওএসে, একমাত্র বৈকল্পিক যা আমার সাথে কাজ করছে:

./gradlew  ABC:build

ABC মডিউল এর নাম

(এটি সম্ভবত লিনাক্সেও কাজ করছে)


5

এখানে চিত্র বর্ণনা লিখুন

যদি আপনার আইডিই অ্যান্ড্রয়েড স্টুডিও হয় তবে একটি সহজ উপায় রয়েছে J আপনি যে মডিউল ফোল্ডারটি সংকলন করতে চান তা চয়ন করুন, তারপরে বিল্ড ক্লিক করুন এবং মডিউলটিকে 'আপনার মডিউল ফোল্ডার' তৈরি করুন ক্লিক করুন।

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