2013-08-09 5 views
16

पर निर्भर करें मेरे पास एकीकरण परीक्षण स्रोत है जो क्रम में सेट है, और यह मेरे मुख्य वर्गों पर संकलित होने पर निर्भर है। मैंने इसेएक स्रोत सेट को अन्य

integrationTestClasses.dependsOn 'classes' 

क्या ऐसा करने का तरीका है, या स्रोत सेट पर निर्भरता सेट अप करने का कोई तरीका है, इसलिए यह स्वचालित रूप से होता है? मेरी configurations ब्लॉक में मैं पहले से ही

integrationTestCompile { extendsFrom testCompile } 
integrationTestRuntime { extendsFrom integrationTestCompile, testRuntime } 

उत्तर

23

है क्या याद आ रही है:

dependencies { 
    integrationTestCompile sourceSets.main.output 
} 
इस के साथ जगह में

, कार्य निर्भरता स्वचालित रूप से स्थापित किया जाना चाहिए।

+0

धन्यवाद, पीटर। मैं इसे आज़मा दूंगा। –

+0

यह काम किया, धन्यवाद। अगर मैं मुख्य और परीक्षण आउटपुट दोनों पर निर्भर होना चाहता हूं, तो क्या मुझे परीक्षण पर निर्भरता घोषित करने की आवश्यकता है क्योंकि परीक्षण पहले से ही मुख्य पर निर्भर है? ऐसा लगता है कि मैं जो व्यवहार देख रहा हूं वह सत्यापित करना चाहता था। –

+0

यह इस बात पर निर्भर करता है कि * बिल्कुल * आपका मतलब क्या है। 'sourceSets.test.output' में' sourceSets.main.output' शामिल नहीं है। –

1

स्रोतसेट को परिभाषित करते समय निर्भरता श्रृंखला स्थापित करना भी संभव है। इस सेटअप "मुख्य" sourceSet के लिए काम किया है एक "उत्पन्न" sourceSet पर निर्भर:

// Default sourceSets already created by the java plugin: src/main and src/test 
// Default content for each sourceSet: /java and /resources 
sourceSets { 
    // Adding src/generated 
    generated 
    // Setting src/main to depend on the dependencies and output of src/generated 
    main { 
     compileClasspath += generated.compileClasspath + generated.output 
    } 
} 

इसी सिद्धांत "मुख्य" पर निर्भर करने के लिए सेटअप "integrationTest" करने के लिए काम करना चाहिए।

संबंधित मुद्दे