গ্রেডল আর্টিক্ট নির্ভরতা গ্রাফ কমান্ড কী?


123

গ্রেডল ডক্সে আমি এই মন্তব্যটি পড়েছি :

To deal with problems due to version conflicts, reports with dependency graphs
are also very helpful. Such reports are another feature of dependency management.

আমার কাছে একধরণের জার আনা হচ্ছে তবে এটি কোথায় থেকে আসছে তা আমার খোজ করা দরকার। সাধারণত আমি এটি বিশ্বব্যাপী বাদ দিতে চাই, তবে এখানে শ্রেণিবিন্যাস সম্পর্কে আমার কিছু তথ্য প্রয়োজন। আইভি এবং মাভেনের কাছ থেকে আমি কীভাবে এই তথ্যটি পেতে পারি?

কেউ আমার জারের তালিকায় হাইবারনেট জারগুলি (প্রচুর পরিমাণে) আনছে তা উল্লেখ করার দরকার নেই এবং আমি সত্যিই জানতে চাই যে আমি যেহেতু হাইবারনেট ব্যবহার করছি না এবং সেই নির্ভরতা কাটাতে চেষ্টা করছি।

উত্তর:


127

কমান্ডটি হ'ল gradle dependenciesএবং গ্রেডল ১.২ এ এর ​​আউটপুট অনেক উন্নত। (আপনি ইতিমধ্যে আজ 1.2-আরসি -1 চেষ্টা করতে পারেন))


প্রকৃতপক্ষে, আমি চেষ্টা করেছি যে .... আমি বুঝতে পারি আমার নির্ভরতাগুলি আমার সর্বনিম্ন স্তরের সাবপ্রজেক্টে রয়েছে (যেমন, যার প্রত্যেকে যার উপর নির্ভর করে) এবং মূল প্রকল্পে নয় ... নিশ্চিত না যে এই মুহুর্তে এটি খারাপ বা ভাল কিনা ।
ডিন হিলার

আপনার আগ্রহী বিশেষ প্রকল্পটির জন্য আপনার কমান্ডটি চালানো দরকার। সাধারণত আপনি প্রকল্পের ডিরেক্টরিতে সিডি করতে পারেন এবং সেখান থেকে কমান্ডটি চালাবেন।
পিটার নিডারউইজার

9
এটি সব ধরণের প্রকল্পে কাজ করে না। আমি 'কোনও কনফিগারেশন' পাচ্ছি না এবং এটি চালিয়ে যাওয়ার জন্য অন্য কিছু চালানো দরকার। আশা করি একদিন গ্রেড এটি পরিচালনা করবে তাই আসল কমান্ডগুলি অনুমানযোগ্য হতে চলেছে।
আর ভ্যান টুইস্ক

2
ট্রানজিটিভ নির্ভরতা অন্তর্ভুক্ত করার জন্য কি কোনও পতাকা রয়েছে?
thetwan

1
তারা স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত করা হয়।
পিটার নিদারউইজার

121

আহা, যেহেতু আমার মাস্টার প্রকল্পে আমার কোনও নির্ভরতা ছিল না, "গ্রেড নির্ভরতা" কেবলমাত্র সেগুলি তালিকাভুক্ত করে এবং সাবপ্রজেক্ট নির্ভরতা নয় তাই সঠিক আদেশটি শেষ হয়ে যায়

 gradle :<subproject>:dependencies

আমার জন্য তাই ছিল

 gradle :master:dependencies

20
আপনি -rপুনরাবৃত্তির জন্য বলতে পারলে ভাল লাগল
ব্লুন্ডেল

38

আপনি যদি প্রকল্পের উপর নির্ভরতা দেখতে চান এবং সমস্ত উপ-প্রকল্পগুলি আপনার শীর্ষ-স্তরের বিল্ডপ্রেডল ব্যবহার করে:

subprojects {
    task listAllDependencies(type: DependencyReportTask) {}
}

তারপরে গ্রেডেল কল করুন:

gradle listAllDependencies

2
ব্লগ পোস্টে এই পদ্ধতির সম্পর্কে আরও বিশদ: solidsoft.wordpress.com/2014/11/13/…
মার্সিন

9
আপনি ~/.gradle/init.gradleএটি প্রতিটি বিল্ডে যুক্ত করার পরিবর্তে এটিতে যুক্ত করতে পারেন। তারপরে এটি আপনার মেশিনে সমস্ত প্রকল্পের জন্য কাজ করে, তবে কেবল আপনার জন্য।
derekv

24

আপনি যদি অনেক কনফিগারেশন পেয়ে থাকেন তবে আউটপুটটি বেশ দীর্ঘতর হতে পারে। রানটাইম কনফিগারেশনের জন্য কেবল নির্ভরতা দেখাতে, চালান

gradle dependencies --configuration runtime

15

আপনি যদি সাবপ্রজেক্টগুলিকে অন্তর্ভুক্ত করতে পুনরাবৃত্ত করতে চান তবে আপনি সর্বদা এটি নিজে লিখতে পারেন:

শীর্ষ-স্তরে আটকে দিন build.gradle:

task allDeps << {
    println "All Dependencies:"
    allprojects.each { p ->
        println()
        println " $p.name ".center( 60, '*' )
        println()
        p.configurations.all.findAll { !it.allDependencies.empty }.each { c ->
            println " ${c.name} ".center( 60, '-' )
            c.allDependencies.each { dep ->
                println "$dep.group:$dep.name:$dep.version"
            }
            println "-" * 60
        }
    }
}

সাথে চালান:

gradle allDeps

5
gradlew -q :app:dependencies > dependencies.txt

ফাইল নির্ভরতা.txt ফাইলটিতে সমস্ত নির্ভরতা লিখবে


4

react-nativeপ্রকল্পগুলিতে গ্রেড নির্ভরতা ডিবাগ করার জন্য যাঁরা খুঁজছেন তাদের পক্ষে কমান্ডটি হ'ল (থেকে কার্যকর করা হয়েছে projectname/android)

./gradlew app:dependencies --configuration compile

0

গ্রেডলের সাম্প্রতিক সংস্করণগুলিতে (অর্থাত্ 5+) আপনি যদি --scanপতাকাটি দিয়ে নিজের বিল্ডটি চালান , এটি আপনাকে এমন ব্রাউজারে নির্ভরতা সহ সমস্ত ধরণের দরকারী তথ্য বলে যেখানে আপনি চারপাশে ক্লিক করতে পারেন।

gradlew --scan clean build

এটি সেই বিল্ডে কী চলছে তা ছড়িয়ে ছিটিয়ে বিশ্লেষণ করবে। এটি বেশ ঝরঝরে।


1
তবে এটি কেবলমাত্র লক্ষ্যগুলি বিশ্লেষণ করে যা পুরো গ্রাফটি ছাড়েনি :(।
ডিন হিলার

সত্য! এটি নির্ভর করে তুমি কি চাও। আমি মনে করি যে কেবলমাত্র লক্ষ্যমাত্রার জন্য নির্ভরতা আরও বেশি শক্তিশালী। এটি আপনাকে জানাবে যে কেন এক সেট কমান্ডগুলি ভুল কাজটি করে।
রায়ান শিলিংটন

আমি সত্যিই পুরো গ্রাফটি চাই তাই আমার প্রতিটি নোড টিবিএইচ পরীক্ষা করতে হবে না .... যা বেশ ক্লান্তিকর হয়ে ওঠে .... কিছুটা সময় নিলেও এটি আরও দরকারী তবে আমি এর উপায় খুঁজে পাই না এটি নতুন সংস্করণে।
ডিন হিলার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.