অবশ্যই উপরের উত্তরগুলি কাজটি করে তবে তবুও আমি এরকম কিছু ব্যবহার করতে চাই
gradle run path1 path2
ভাল এটি করা যায় না, তবে আমরা যদি পারি:
gralde run --- path1 path2
যদি আপনি মনে করেন এটি আরও মার্জিত, তবে আপনি এটি করতে পারেন, কৌশলটি হ'ল কমান্ড লাইনটি প্রক্রিয়াকরণ করা এবং গ্রেড করার আগে এটি সংশোধন করা, এটি আরআর স্ক্রিপ্ট ব্যবহার করে করা যেতে পারে
নীচের init স্ক্রিপ্ট:
- কমান্ড লাইনটি প্রক্রিয়া করুন এবং '---' অনুসরণ করে এবং অন্যান্য সমস্ত আর্গুমেন্ট মুছে ফেলুন
- গ্রেড.সেক্সটে সম্পত্তি 'অ্যাপগ্রেস' যুক্ত করুন
সুতরাং আপনার রান টাস্কে (বা জাভেক্সেক্স, এক্সিকিউট) আপনি এটি করতে পারেন:
if (project.gradle.hasProperty("appArgs")) {
List<String> appArgs = project.gradle.appArgs;
args appArgs
}
আরআইডি স্ক্রিপ্টটি হ'ল:
import org.gradle.api.invocation.Gradle
Gradle aGradle = gradle
StartParameter startParameter = aGradle.startParameter
List tasks = startParameter.getTaskRequests();
List<String> appArgs = new ArrayList<>()
tasks.forEach {
List<String> args = it.getArgs();
Iterator<String> argsI = args.iterator();
while (argsI.hasNext()) {
String arg = argsI.next();
// remove '---' and all that follow
if (arg == "---") {
argsI.remove();
while (argsI.hasNext()) {
arg = argsI.next();
// and add it to appArgs
appArgs.add(arg);
argsI.remove();
}
}
}
}
aGradle.ext.appArgs = appArgs
সীমাবদ্ধতা:
- আমাকে '---' ব্যবহার করতে বাধ্য করা হয়েছিল '-' না
- আপনাকে কিছু গ্লোবাল আরডি স্ক্রিপ্ট যুক্ত করতে হবে
আপনি যদি বিশ্বব্যাপী init স্ক্রিপ্ট পছন্দ না করেন তবে আপনি এটি কমান্ড লাইনে নির্দিষ্ট করতে পারেন
gradle -I init.gradle run --- f:/temp/x.xml
বা আপনার শেলটিতে আরও ভাল একটি নাম যুক্ত করুন:
gradleapp run --- f:/temp/x.xml