আমি আমার প্রকল্পে অব্যবহৃত নির্ভরতা খুঁজে পেতে চেয়েছিলাম। গ্র্যাডলে মাভেনের মতো এর জন্যও কি কোনও বৈশিষ্ট্য রয়েছে?
আমি আমার প্রকল্পে অব্যবহৃত নির্ভরতা খুঁজে পেতে চেয়েছিলাম। গ্র্যাডলে মাভেনের মতো এর জন্যও কি কোনও বৈশিষ্ট্য রয়েছে?
উত্তর:
ইন জুন, 2017 , তারা মুক্তি
4.0.0 version
এবং মূল প্রকল্পের নাম নতুন নামকরণ"gradle-lint-plugin"
করা"nebula-lint-plugin"
। অব্যবহৃত-নির্ভরতাতে তারা Android সমর্থনও যুক্ত করেছে ।
ইন মে 2016 Gradle বাস্তবায়ন করেছে Gradle তিসি প্লাগইন খোঁজার এবং অবাঞ্ছিত নির্ভরতা সরানোর জন্য
গ্রেডল লিন্ট প্লাগইন গ্রেডল স্ক্রিপ্টস এবং সম্পর্কিত ফাইলগুলিতে অপব্যবহার বা অবমূল্যায়নের নিদর্শনগুলি সনাক্তকরণ এবং প্রতিবেদন করার জন্য একটি প্লাগযোগ্য এবং কনফিগারযোগ্য লিন্টার সরঞ্জাম।
এই প্লাগইনটির বিভিন্ন বিধি রয়েছে। অব্যবহৃত নির্ভরতা বিধি তাদের মধ্যে একটি। এর তিনটি সুনির্দিষ্ট বৈশিষ্ট্য রয়েছে।
নিয়ম প্রয়োগ করতে, যুক্ত করুন:
gradleLint.rules += 'unused-dependency'
অব্যবহৃত নির্ভরতা বিধি সম্পর্কে বিশদটি শেষ অংশে দেওয়া আছে।
গ্রেডল লিন্ট প্লাগইন প্রয়োগ করতে:
buildscript { repositories { jcenter() } }
plugins {
id 'nebula.lint' version '0.30.2'
}
বিকল্পভাবে:
buildscript {
repositories { jcenter() }
dependencies {
classpath 'com.netflix.nebula:gradle-lint-plugin:latest.release'
}
}
apply plugin: 'nebula.lint'
কোন বিধিগুলির বিরুদ্ধে আপনি লিঙ্ক দিতে চান তা নির্ধারণ করুন:
gradleLint.rules = ['all-dependency'] // Add as many rules here as you'd like
একটি এন্টারপ্রাইজ বিল্ডের জন্য, আমরা একটি init.gradle স্ক্রিপ্টে বা গ্রেডল স্ক্রিপ্টে লিন্টের নিয়মগুলি সংজ্ঞায়িত করার পরামর্শ দিই যে প্রক্রিয়াটি থেকে গ্র্যাডলের মাধ্যমে অন্তর্ভুক্ত রয়েছে।
মাল্টিমিডুল প্রকল্পগুলির জন্য, আমরা একটি allprojects
ব্লকে প্লাগইন প্রয়োগ করার পরামর্শ দিই :
allprojects {
apply plugin: 'nebula.lint'
gradleLint.rules = ['all-dependency'] // Add as many rules here as you'd like
}
নিয়ম প্রয়োগ করতে, যুক্ত করুন:
gradleLint.rules += 'unused-dependency'
নিয়ম পরিদর্শন আপনার প্রকল্পের ধোওয়া থেকে নির্গত বাইনেরিতে কম্পাইল উৎস সেট বর্গ রেফারেন্স খুঁজছেন এবং নির্ভরতা যে আপনি আপনার মধ্যে ঘোষণা করেছেন সেই রেফারেন্স সাথে মেলে নির্ভরতা ব্লক।
আপনার ধরনের তথ্যের জন্য, আমি পূর্ববর্তী প্লাগইনগুলি সম্পর্কে ভাগ করতে চাই
তবে এর সর্বশেষ সংস্করণ 1.0.3 23 ডিসেম্বর 2014 তৈরি হয়েছে । এর পরে কোনও আপডেট নেই।
এনবি: আমাদের ইঞ্জিনিয়ারদের মধ্যে অনেকেই এই প্লাগইনটি সম্পর্কে বিভ্রান্ত হচ্ছেন কারণ তারা কেবল সংস্করণ নম্বর আপডেট করেছেন, অন্য কিছুই নয়।
implementation
এবং api
), এবং এমনকি খারাপ, পুরাতন অননুমোদিত বেশী নতুন বেশী থেকে পরিবর্তন পরামর্শ দেওয়া হচ্ছে (যেমন: compile
, testCompile
, ইত্যাদি)।
পূর্বের উত্তরে উল্লিখিত প্রকল্পটি মৃত বলে মনে হচ্ছে। আমি গ্রেড-নির্ভরতা-বিশ্লেষণ ব্যবহার করি । সেটআপ সহজ:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'ca.cutterslade.gradle:gradle-dependency-analyze:1.0.3'
}
}
apply plugin: 'ca.cutterslade.analyze'
তারপরে:
$ gradle analyzeDependencies
আমি ব্যবহার করে অনেক ভাগ্য পেয়েছি গ্রেডল নির্ভরতা বিশ্লেষণ প্লাগিন । এটি শুরু করার জন্য, আপনার গ্র্যাডল বিল্ড স্ক্রিপ্টে নিম্নলিখিত দুটি জিনিস যুক্ত করুন।
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "com.github.nullstress:DependencyAnalysisPlugin:1.0.3"
}
}
এবং
apply plugin: "dependencyAnalysis"
একবারে এটি স্থানে থাকলে চালান gradle analyze
। যদি অব্যবহৃত নির্ভরতা থাকে তবে আপনি একটি বিল্ড ব্যর্থতা পাবেন যা নীচের পাঠ্যের অনুরূপ আউটপুট দেখায় এবং অব্যবহৃত নির্ভরতাগুলির তালিকা (উভয় ঘোষিত এবং ট্রানজিটিভ)। বিল্ড ব্যর্থতা সত্যই কার্যকর যদি আপনি এটি প্রয়োগ করতে চান যে সিআই বিল্ডের মাধ্যমে কোনও অব্যবহৃত নির্ভরতা থাকা উচিত না।
:foo:analyze FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':foo:analyze'.
> The project has unused declared artifacts
আমি এই সম্পর্কে কেবল শিখেছি: https://plugins.gradle.org/plugin/com.autonomousapps.d dependency- analysis
চেহারা থেকে এটি সক্রিয় বিকাশের অধীনে রয়েছে তবে আমি এখনও এটি পরীক্ষা করে দেখিনি।
সম্পাদনা করুন: আসলে এটি দুর্দান্ত ভয়ঙ্কর, এটি প্রচুর পরামর্শ সরবরাহ করে (যেমন এপিআই বনাম বাস্তবায়ন ব্যবহার করা হয় কিনা)
সম্পাদকের দ্রষ্টব্য: এই উত্তরটি পুরানো। দয়া করে দেখতে শীর্ষ উত্তর ।
আপনি com.github.nullstress.d dependency- বিশ্লেষণ গ্রেড প্লাগইন চেষ্টা করতে পারেন
সমস্ত গ্রেডল সংস্করণে ব্যবহারের জন্য স্ক্রিপ্ট স্নিপেট তৈরি করুন:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "com.github.nullstress:DependencyAnalysisPlugin:1.0.3"
}
}
apply plugin: "com.github.nullstress.dependency-analysis"
গ্রেডেল ২.১ এ প্রবর্তিত নতুন, ইনকিউবেটিং, প্লাগইন প্রক্রিয়াটির জন্য স্ক্রিপ্ট স্নিপেট তৈরি করুন:
plugins {
id "com.github.nullstress.dependency-analysis" version "1.0.3"
}
এছাড়াও, এই সম্পর্কে গ্রেড ফোরামে একটি থ্রেড রয়েছে ( "এমভিএন নির্ভরতা: বিশ্লেষণ করুন"? এর সমুদ্রের সমতুল্য কি আছে )।
Historicalতিহাসিক উত্তরের বেশিরভাগ প্রকল্পগুলি মারা গেছে তবে গ্রেড-নির্ভরতা-বিশ্লেষণ 2016-05-30 পর্যন্ত জীবিত বলে মনে হচ্ছে।