সোনারকিউব একটি ডিরেক্টরি বাদ দিন


132

আমি সোনার দ্বারা বিশ্লেষণ করা থেকে কোনও ডিরেক্টরিকে বাদ দেওয়ার চেষ্টা করছি। আমার sonar-project.propertiesফাইলে নীচের বৈশিষ্ট্যগুলি সংজ্ঞায়িত করা হয়েছে :

sonar.sources=src/java
sonar.exclusions=src/java/test/****/*.java

আমার কাছে ডিরেক্টরি কাঠামোটি হ'ল:

src/java/dig
src/java/test/dig

আমি সোনার-রানার চালানোর সময় আমি নিম্নলিখিত তথ্যগুলি পাই:

 INFO  - Excluded sources:
 INFO  -   src/java/test/**/*.java
 INFO  - Excluded tests:
 INFO  -   **/package-info.java

আমি যখন বিশ্লেষণের ফলাফলটি পরীক্ষা করি তখন পরীক্ষার ডিরেক্টরিতে থাকা সমস্ত প্যাকেজগুলি এখনও সেখানে থাকে।

আমার সোনারকে কেবল এটি বলা দরকার যে পরীক্ষা ডিরেক্টরি এবং এর ভিতরে থাকা কোনও প্যাকেজ বিশ্লেষণ না করে।


3
আমি সমাধানটি পেয়েছি: sonar.exclusions = পরীক্ষা / ** / *। জাভা
ব্যবহারকারী 1982350

তবে আপনি যদি পরীক্ষা বিশ্লেষণ এড়াতে চান তবে উদাহরণস্বরূপ mvn ক্লিন প্যাকেজ
ডিস্কিপটেষ্টস

উত্তর:


121

এরকম কিছু চেষ্টা করুন:

sonar.exclusions=src/java/test/**

4
ওয়াইল্ডকার্ডের জন্য পিঁপড়ের ফাইলগ্লোব প্যাটার্ন ব্যবহার করার নিশ্চয়তা দিন। এখানে একটি ভাল ব্যাখ্যা: স্ট্যাকওভারফ্লো.com
স্টিফান

এখানে কমান্ড লাইন অপশন সংজ্ঞা ডক্সস.সোনারক্বে.অর্গ
ডিসপ্লে /

4
যে কেউ এটিকে দেখেন, তার src/test/javaপরিবর্তে আপনার কাছে নিশ্চিত হয়ে নিন src/java/test/
ফারাজ

সি # তে কীভাবে পদ্ধতিগুলি বাদ দেওয়া যায়
প্রকৃতি ভেট্রি 5'18

এটি উল্লেখ করা গুরুত্বপূর্ণ যে এটিকে একটি নিয়মিত প্রকাশ হিসাবে বিবেচনা করা হয় না এবং আপনার পুরো প্রকল্প জুড়ে প্রয়োগ করা sonar.exclusions=node_modules/**নেস্টেড নোড_মডিউলগুলি ফোল্ডারগুলি আপনাকে sonar.exclusions=node_modules/**, /some/path/to/nested/node_modules/**স্পষ্টভাবে বাদ দিতে হবে না
খ্রিস্টান বার্ট্রাম

68

আমি নীচের কনফিগারেশন (কমা দ্বারা পৃথক ফোল্ডার পাথ) ব্যবহার করে একাধিক ডিরেক্টরি বাদ দিতে সক্ষম:

sonar.exclusions=system/**, test/**, application/third_party/**, application/logs/**

এবং সোনার রানার চালানোর সময় আমি লগতে নিম্নলিখিতটি পেয়েছি:

Excluded sources: 
  system/**
  test/**
  application/third_party/**
  application/logs/**

18
আমি বাদ দেওয়া বার্তাটি পাই, তবে ফাইলগুলি এখনও বিশ্লেষণ করা হয়।
সেবাস

টিমসিটি প্যারামিটারগুলিতে আমি আপনার টিপটি ব্যবহার করেছি, তবে এর আগে -D প্রবেশ করিয়েছি (-ডসোনার.এক্সক্লু ...)। এখানে কাজ করে। :-)
ম্যাকিয়েল বোম্বোনাটো

এখানে স্ক্যানিং থেকে সমস্ত * .html ফাইলকে কীভাবে বাদ দেওয়া যায়? এটি চেষ্টা sonar.exclusions=**/bin/**,*.htmlকরেও এটি স্ক্যানিংয়ের পরেও এইচটিএমএল ফাইলগুলি লাগে। এইচটিএমএল ফাইলগুলি বেশ কয়েকটি স্থানে সমস্ত সাব ফোল্ডার এবং প্রকৃত পথের মানচিত্রের সাথে এখানে সাব ফোল্ডার স্তর যুক্ত করা আরও কাজ করবে। স্ক্যান করা থেকে আমরা সমস্ত * .specific_file_type বাদ দিতে পারি কি এমন উপায় আছে?
এলামুরুগান


13

আমরা পুরো ফোল্ডারটি এড়িয়ে যেতে চাইলে নিম্নলিখিতটি ব্যবহার করা যেতে পারে:

sonar.exclusions=folderName/**/*

এবং যদি আমাদের কাছে কেবল একটি নির্দিষ্ট ফাইল থাকে তবে কেবল পুরো পথ দেয়।

সমস্ত ফোল্ডার যা বাদ দিতে হবে এবং এখানে যুক্ত করা দরকার।


2
এই উত্তর এবং sonar.exclusions=folderNameএবং মধ্যে পার্থক্য কি sonar.exclusions=folderName/**? ধন্যবাদ
payne

* - শূন্য বা আরও বেশি অক্ষরের সাথে মিল রয়েছে ** - শূন্য বা আরও বেশি ডিরেক্টরিতে মিলবে? - একটি একক চরিত্রের সাথে মেলে
কের্তি বান্দারা

12

অন্য কনফিগারেশন বিকল্পটি একটি খাঁটি বৈশিষ্ট্য যুক্ত করছে sonar.exclusions। নীচে স্থির jquery ডিরেক্টরি এবং স্ট্যাটিক পিডিএফ ভিউয়ের ডিরেক্টরি বাদ দিয়ে একটি নমুনা পোম ফাইল রয়েছে file

<project >
<modelVersion>4.0.0</modelVersion>
<artifactId>my Artifact</artifactId>
<!-- Enviroment variables can be referenced as such: ${env.PATH} -->
<packaging>war</packaging>
<url>http://maven.apache.org</url>

<properties>

    <junit.version>4.9</junit.version>
    <mockito.version>1.9.5</mockito.version>
    <jackson.version>1.9.7</jackson.version>
    <powermock.version>1.5</powermock.version>

    <!--Exclude the files Here-->
    <sonar.exclusions>src/main/webapp/static/jquery_ui/*,src/main/webapp/static/pdf-viewer/*,src/main/webapp/static/pdf-viewer/**,src/main/webapp/static/pdf-viewer/**/*</sonar.exclusions>
</properties>


7

সার্ভারটি ইউআরএল যাওয়ার পরে সহজ উপায় হ'ল সার্ভারটি শুরু করার পরে (লোকালহোস্ট: 8080) তারপরে অ্যাডমিন হিসাবে লগইন করুন, সেটিংসে যান> এক্সক্লুশন> সোর্স ফাইল এক্সক্লুশনস- আপনার প্যাকেজগুলি এখানে যুক্ত করুন। সার্ভারটি পুনরায় চালু করুন।


2

আপনি সোনার কোন সংস্করণ ব্যবহার করছেন? " Sonar.skipedModules = yourmodulename " নামে একটি বিকল্প রয়েছে ।

এটি পুরো মডিউলটি এড়িয়ে যাবে। সুতরাং এটি সম্পর্কে সচেতন হতে হবে।


12
সতর্কতা - 'Sonar.skipedModules' বৈশিষ্ট্য সংস্করণ 4.3 থেকে অবচয় করা হয়েছে এবং এটি আর ব্যবহার করা উচিত নয়।
ঝেং কাই

1

কেবলমাত্র সোনার থেকে ফাইলগুলি বাদ দিলে জ্যাকোকো প্লাগইনের জন্য একই কাজ করুন:

<configuration>
<excludes>     
<exclude>com/acme/model/persistence/entity/TransactionEntity*</exclude>
<exclude>com/acme/model/persistence/ModelConstants.class</exclude>
</excludes>
</configuration> 

1

কমা দ্বারা পৃথক ফোল্ডার পাথ যুক্ত করুন sonar.exclusions=**/abc/**,**/def/**

এটি একটি কৌণিক প্রকল্পে কাজ করেছে


1

আপনি যদি কোনও অ্যাজুরি ডিভোপস ব্যবহারকারী হন যেখানে ফাইল এবং ফোল্ডারগুলি কোথায় এবং কীভাবে বাদ দেওয়া যায় তা উভয়ের সন্ধান করছেন, আপনি এখানে যান:

  1. আপনার পাইপলাইন সম্পাদনা করুন
  2. আপনার "সোনারকিউবে বিশ্লেষণ প্রস্তুত করুন" টাস্ক যুক্ত হয়েছে তা নিশ্চিত করুন। আপনার যদি এটির কনফিগার করতে সহায়তা প্রয়োজন হয় তবে আপনাকে অন্য কোথাও দেখতে হবে। পরামর্শ: আপনি যদি পরিচালনা লিঙ্কটি মিস করেন তবে ইউআই পাইপলাইন সম্পাদক বনাম ইয়ামল সম্পাদকটি ব্যবহার করুন। বর্তমানে ইয়ামল থেকে ইউআইতে রূপান্তর করার কোনও উপায় নেই। কেবল পাইপলাইনটি পুনরায় তৈরি করুন। যদি গিট ব্যবহার করে থাকে তবে আপনি আপনার রেপোর গোড়া থেকে ইয়েলটি মুছতে পারেন।
  3. "সোনারকিউবে বিশ্লেষণ প্রস্তুত করুন" কার্যের 'উন্নত' বিভাগের অধীনে, আপনি ব্যতিক্রমগুলি যুক্ত করতে পারেন। নির্দিষ্ট বর্জন ফর্ম্যাটগুলির জন্য অন্যদের দেওয়া পরামর্শ দেখুন।

উদাহরণ:

# Additional properties that will be passed to the scanner, 
# Put one key=value per line, example:
# sonar.exclusions=**/*.bin
sonar.exclusions=MyProjectName/MyWebContentFolder/**

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

  • MyProjectName / MyCodeFile.cs
  • MyProjectName / **

আপনার যদি 'রান কোড অ্যানালাইসিস' কাজটি যোগ না করে থাকে তবে তা করুন এবং 'বিল্ড সলিউশন ** / *। স্লান' টাস্কের পরে এটি কোথাও রাখুন।

সংরক্ষণ করুন এবং সারি করুন এবং তারপরে আপনার সোনারকিউ সার্ভারটি পরীক্ষা করে দেখুন কি ব্যতিক্রমগুলি কাজ করেছে।


0

এই সাইনটি আপনার সোনার-প্রজেক্ট.properties ফাইলটিতে যুক্ত করুন

উদাহরণস্বরূপ: Sonar.exclusions = src / *। java যদি আপনি কোনও ফোল্ডার বাদ দিতে চান এবং ফোল্ডারের ভিতরে একটি ফাইল থাকে তবে আপনাকে প্রথমে ফাইলগুলি বাদ দিতে হবে বা ফাইলগুলি একে একে যুক্ত করতে হবে উদাহরণস্বরূপ কল্পনা করুন নীচের মতো কোনও ফোল্ডার রয়েছে imagine :

src/app.java src/controllers/home.java src/services/test.java

আপনার এটি করতে হবে: sonar.exclusions=src/app.java,src/controllers/*.java,src/services/*.java

এটা আমার জন্য কাজ করেছে


0

আপনি একই সঙ্গে করতে পারেন build.gradle

sonarqube {
properties {
    property "sonar.exclusions", "**/src/java/test/**/*.java"
  }
}

এবং আপনি যদি আরও ফাইল / ডিরেক্টরি বাদ দিতে চান তবে:

sonarqube {
properties {
    property "sonar.exclusions", "**/src/java/test/**/*.java, **/src/java/main/**/*.java"
  }
}

-1

এটি আমার পক্ষে কাজ করেছে:

sonar.exclusions=src/**/wwwroot/**/*.js,src/**/wwwroot/**/*.css

এটি "www_root" ফোল্ডারের যে কোনও উপ ডিরেক্টরি ডিরেক্টরিতে "এসসিআর" ফোল্ডার (প্রকল্পের রুট) এর উপ ডিরেক্টরিগুলির মধ্যে একটি হিসাবে উপস্থিত হওয়া যেকোন .js এবং .css ফাইলগুলি বাদ দেয়।


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