ग्रैडल में मल्टी-प्रोजेक्ट बिल्ड के साथ काम करते समय, प्रोजेक्ट्स में टेस्ट कोड के बीच प्रभावी निर्भरता स्थापित करना आवश्यक है। ऐसे परिदृश्य पर विचार करें जहां प्रोजेक्ट ए और प्रोजेक्ट बी मौजूद हैं, प्रोजेक्ट बी प्रोजेक्ट ए के घटकों पर निर्भर है।
इस स्थिति में, प्रोजेक्ट बी के लिए बिल्ड.ग्रेडल इस तरह दिख सकता है :
apply plugin: 'java'
dependencies {
compile project(':ProjectA')
}
हालाँकि, compileTestJava कार्य प्रोजेक्ट A से परीक्षण कोड संकलित करने में विफल रहता है। यह अन्य प्रोजेक्ट से परीक्षण निर्भरता तक पहुँचने के लिए आवश्यक कॉन्फ़िगरेशन में एक अंतर को इंगित करता है।
इस समस्या के समाधान के लिए, प्रोजेक्ट बी के बिल्ड.ग्रेडल को टेस्टकंपाइल निर्भरता के साथ अद्यतन किया जा सकता है:
dependencies {
...
testCompile project(':A').sourceSets.test.output
}
यह नई निर्भरता सुनिश्चित करती है कि प्रोजेक्ट बी के परीक्षण कोड को प्रोजेक्ट ए से संकलित परीक्षण कक्षाओं तक पहुंच प्राप्त है। sourceSets.test.output का उपयोग करके, ग्रैडल आउटपुट निर्देशिका को हल करता है जहां निर्माण के दौरान परीक्षण कक्षाएं रखी जाती हैं।
इस कॉन्फ़िगरेशन का ग्रैडल 1.7 के साथ सफलतापूर्वक परीक्षण किया गया है। कृपया ध्यान दें कि ग्रैडल संस्करण 5.6 और उससे ऊपर के लिए, एक अलग समाधान की आवश्यकता है और इसे अलग से प्रलेखित किया गया है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3