ग्रेडल करने के लिए कौन सी स्रोतसेट निर्देशिका निर्देशिका 1.6 लिनक्स।ग्रैडल पीएमडी चेकस्टाइल Findbugs - जावा बिल्ड
जावा निर्माण परियोजना संरचना
- Project_or_Module
- src/जावा (शामिल जावा स्रोत कोड)
- परीक्षण/जावा (JUnit परीक्षण शामिल हैं - इकाई परीक्षण)
- src/जावा परीक्षण (एकीकरण परीक्षण शामिल हैं)
- आदि/आदि (अन्य .. .. परियोजना के तहत फ़ोल्डर्स)
मैं निम्नलिखित वैश्विक विन्यास/build.gradle फ़ाइल है:
apply plugin: 'java'
apply plugin: 'pmd'
apply plugin: 'findbugs'
apply plugin: 'checkstyle'
apply plugin: 'code-quality'
apply plugin: 'jacoco'
tasks.withType(Compile) {
options.debug = true
options.compilerArgs = ["-g"]
}
checkstyle {
configFile = new File(rootDir, "config/checkstyle.xml")
ignoreFailures = true
}
findbugs {
ignoreFailures = true
}
pmd {
ruleSets = ["basic", "braces", "design"]
ignoreFailures = true
}
jacoco {
toolVersion = "0.6.2.201302030002"
reportsDir = file("$buildDir/customJacocoReportDir")
}
sourceSets {
main {
java {
srcDir 'src/java'
}
}
test {
java {
srcDir 'test/java'
}
}
integrationTest {
java {
srcDir 'src/java-test'
}
}
}
test {
jacoco {
append = false
destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
classDumpFile = file("$buildDir/jacoco/classpathdumps")
}
}
jacocoTestReport {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
reports {
xml{
enabled true
destination "${buildDir}/reports/jacoco/jacoco.xml"
}
csv.enabled false
html{
enabled true
destination "${buildDir}/jacocoHtml"
}
}
additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)
}
परियोजनाओं के कुछ के लिए, सब कुछ ठीक काम करता है। यानी जब मैं "ग्रेडल क्लीन बिल्ड" या "ग्रेडल क्लीन बिल्ड जैकोकोटेस्टपोर्ट" चलाता हूं, तो सब कुछ सफल होता है।
कुछ अन्य परियोजनाओं के लिए, मुझे निम्नलिखित समस्याएं दिखाई दे रही हैं और सहायता चाहिए।
1) "ग्रेडल क्लीन बिल्ड" कमांड काम करता है अगर मैं किसी प्रोजेक्ट के लिए निम्न पंक्तियों को हटा/टिप्पणी करता हूं। लेकिन जब उन पंक्तियों को ऊपर दिखाए गए कोड स्नैपशॉट की तरह असम्बद्ध किया जाता है, तो मुझे त्रुटियां दिखाई देती हैं। कोड स्नैपशॉट के बाद नीचे उल्लिखित त्रुटियों का उल्लेख किया गया है।
apply plugin: 'java'
// apply plugin: 'pmd'
// apply plugin: 'findbugs'
// apply plugin: 'checkstyle'
// apply plugin: 'code-quality'
apply plugin: 'jacoco'
tasks.withType(Compile) {
options.debug = true
options.compilerArgs = ["-g"]
}
// checkstyle {
// configFile = new File(rootDir, "config/checkstyle.xml")
// ignoreFailures = true
// }
// findbugs {
// ignoreFailures = true
// }
// pmd {
// ruleSets = ["basic", "braces", "design"]
// ignoreFailures = true
// }
//
jacoco {
toolVersion = "0.6.2.201302030002"
reportsDir = file("$buildDir/customJacocoReportDir")
}
sourceSets {
main {
java {
srcDir 'src/java'
}
}
test {
java {
srcDir 'test/java'
}
}
integrationTest {
java {
srcDir 'src/java-test'
}
}
}
test {
jacoco {
append = false
destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
classDumpFile = file("$buildDir/jacoco/classpathdumps")
}
}
jacocoTestReport {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
reports {
xml{
enabled true
destination "${buildDir}/reports/jacoco/jacoco.xml"
}
csv.enabled false
html{
enabled true
destination "${buildDir}/jacocoHtml"
}
}
additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)
}
त्रुटियाँ: ए टास्क विफल रहा है। आउटपुट निम्नलिखित दिखाता है।
..
....
:compileIntegrationTestJava
/production/jenkinsAKS/jobs/Project_or_Module/workspace/src/java-test/com/tr/ids/application/project_or_module/Project_or_ModuleTestCase.java:11:
package org.apache.cactus does not exist import
org.apache.cactus.ServletTestCase;
^/production/jenkinsAKS/jobs/Project_or_Module/workspace/src/java-test/com/tr/ids/application/project_or_module/Project_or_ModuleTestCase.java:13:
> cannot find symbol symbol: class ServletTestCase public class
> Project_or_ModuleTestCase extends ServletTestCase
>
...
....
.....
some more errors
...
...
100 errors (similar errors).
आप यहाँ ध्यान देंगे कि जब Gradle "src/जावा परीक्षण" फ़ोल्डर के लिए ऊपर कार्य बुला रहा है त्रुटि आ रहा है है।
** मेरा प्रश्न 1 **: उन पंक्तियों के साथ build.gradle फ़ाइल में टिप्पणी की गई, मैंने इन त्रुटियों को कभी नहीं देखा और "स्वच्छ निर्माण jacocoTestReport" कार्य सफलतापूर्वक पूर्ण हो जाते हैं लेकिन जब pmd/findbugs/checkstyle के लिए कोड सक्षम होता है, तो मैं इन त्रुटियों को देखें। यह जावा-टेस्ट कोड क्यों संकलित कर रहा है। मैंने सोचा था कि स्रोत कोड केवल प्रोजेक्ट के लिए स्रोत/जावा (वास्तविक जावा स्रोत कोड) है: project_or_module)
बी। अन्य परियोजनाओं में से एक परियोजना परियोजनाएं पीएमडी चरण में विफल रही हैं, भले ही त्रुटि को अनदेखा कर दिया जाए। Pmd के लिए । त्रुटि कहती है कि 3 परीक्षण विफल रहे।
त्रुटि लॉग:
20:06:20 :pmdIntegrationTest UP-TO-DATE
20:06:21 :pmdMain
20:06:21 Download http://devserver2:8081/artifactory/jcenter-cache/pmd/pmd/4.3/pmd-4.3.pom
20:06:21 Download http://devserver2:8081/artifactory/jcenter-cache/asm/asm/3.2/asm-3.2.pom
20:06:21 Download http://devserver2:8081/artifactory/jcenter-cache/asm/asm-parent/3.2/asm-parent-3.2.pom
20:06:21 Download http://devserver2:8081/artifactory/jcenter-cache/junit/junit/4.4/junit-4.4.pom
20:06:21 Download http://devserver2:8081/artifactory/jcenter-cache/xml-apis/xml-apis/1.3.02/xml-apis-1.3.02.pom
20:06:21 Download http://devserver2:8081/artifactory/jcenter-cache/pmd/pmd/4.3/pmd-4.3.jar
20:06:21 Download http://devserver2:8081/artifactory/jcenter-cache/asm/asm/3.2/asm-3.2.jar
20:06:21 Download http://devserver2:8081/artifactory/jcenter-cache/junit/junit/4.4/junit-4.4.jar
20:06:24 251 PMD rule violations were found. See the report at: file:///production/jenkinsAKS/jobs/ProjectAUtilities/workspace/build/reports/pmd/main.html
20:06:26 :pmdTest
20:06:26 16 PMD rule violations were found. See the report at: file:///production/jenkinsAKS/jobs/ProjectAUtilities/workspace/build/reports/pmd/test.html
20:06:26 :test
20:06:26 Download http://devserver2:8081/artifactory/jcenter-cache/org/jacoco/org.jacoco.agent/0.6.2.201302030002/org.jacoco.agent-0.6.2.201302030002.pom
20:06:26 Download http://devserver2:8081/artifactory/jcenter-cache/org/jacoco/org.jacoco.build/0.6.2.201302030002/org.jacoco.build-0.6.2.201302030002.pom
20:06:27 Download http://devserver2:8081/artifactory/jcenter-cache/org/jacoco/org.jacoco.agent/0.6.2.201302030002/org.jacoco.agent-0.6.2.201302030002.jar
20:06:29 Xlib: connection to "localhost:13.0" refused by server
20:06:29 Xlib: PuTTY X11 proxy: wrong authorisation protocol attempted
20:06:29
20:06:29 com.tr.ids.util.test.chart.TestChartUtilities > getPieChart FAILED
20:06:29 java.lang.InternalError at TestChartUtilities.java:89
20:06:29
20:06:29 com.tr.ids.util.test.chart.TestChartUtilities > getLegend FAILED
20:06:29 java.lang.NoClassDefFoundError at TestChartUtilities.java:103
20:06:29
20:06:29 com.tr.ids.util.test.chart.TestChartUtilities > useString FAILED
20:06:29 java.lang.NoClassDefFoundError at TestChartUtilities.java:143
20:06:29
20:06:29 140 tests completed, 3 failed
20:06:29 :test FAILED
20:06:29
20:06:29 FAILURE: Build failed with an exception.
20:06:29
20:06:29 * What went wrong:
20:06:29 Execution failed for task ':test'.
20:06:29 > There were failing tests. See the report at: file:///production/jenkinsAKS/jobs/ProjectAUtilities/workspace/build/reports/tests/index.html
20:06:29
20:06:29 * Try:
20:06:29 Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
20:06:29
20:06:29 BUILD FAILED
मेरे question2: क्या विन्यास मैं build.gradle में PMD अनुभाग है कि परीक्षण पर ध्यान नहीं देगा अगर वे असफल के लिए स्थापित करना चाहिए। मुझे लगता है कि मैं पहले से ही है अर्थात ignoreFailures = सच
सी का उपयोग कैसे करें Checkstyle/PMD/build.gradle फ़ाइल में FindBugs (नहीं चींटी) के लिए/बाहर निकालने के शामिल हैं। यानी यह नहीं होगा और "src/java" फ़ोल्डर के अलावा कुछ भी नहीं करेगा।
धन्यवाद।
उपर्युक्त कोड ने केवल चेकस्टाइल/findbugs/pmd बनाया - केवल src/java (जो मेरा स्रोतसेट्स.माइन है) जांचें। इसके अलावा, मेरे प्रश्न 1 की त्रुटि को हल करने के बाद हल किया गया है जब मैंने build.gradle फ़ाइल (प्रोजेक्ट/मॉड्यूल स्तर पर) पर निर्भर जार नाम शामिल/उल्लेख किया है। Xvfb प्लगइन के बारे में दूसरी त्रुटि या प्रश्न, जेनकिंस में Xvfb प्लगइन को हटाकर, जेनकींस को पुनरारंभ करने और आखिरकार वर्कस्पेस को साफ करके हल किया गया है, यानी सब कुछ इंडर जेनकिन्स इंस्टेंस/जॉब्स//वर्कस्पेस/.... स्तर हटा दिया गया है –