2016-01-08 7 views
6

में चर का उपयोग करके मैं अपने प्रोजेक्ट में ग्रैडल का उपयोग कर रहा हूं। मेरे पास मेरे युद्ध के साथ कुछ अतिरिक्त विन्यास करने का काम है। मुझे अपने काम में उपयोग करने के लिए एक स्ट्रिंग बनाने की ज़रूरत है, मान लें कि मेरे पास है:ग्रैडल बिल्ड स्क्रिप्ट

task extraStuff{ 
    doStuff 'org.springframework:spring-web:[email protected]' 
} 

यह ठीक काम करता है।

springVersion=3.0.6.RELEASE 

task extraStuff{ 
    doStuff 'org.springframework:spring-web:${springVersion}@war' 
} 

मेरे समस्या वसंत संस्करण चर के रूप में मान्यता प्राप्त नहीं है यह है: मैं क्या करने की जरूरत है संस्करण (वास्तव में पहले से ही गुण में परिभाषित फ़ाइल) को परिभाषित करने और की तरह काम में इस का उपयोग है। तो मैं इसे स्ट्रिंग के अंदर कैसे पास कर सकता हूं?

+0

मत भूलना, आप इसे बाहर के साथ-तोड़ सकते हैं: 'डॉस टफ समूह: 'org.springframework', नाम: 'वसंत-वेब', संस्करण: $ {springVersion}, ext: 'war'' –

उत्तर

13

मुझे लगता है कि समस्या स्ट्रिंग शाब्दिक सीमांकक पर रखना हो सकता है:

  1. स्ट्रिंग शाब्दिक परिभाषित कर रहे हैं वास्तव में groovy में के रूप में तो एकल या डबल उद्धरण (जैसे "3.0.6.RELEASE") में यह जोड़ देना;
  2. Gstrings सिंगल कोट्स स्ट्रिंग्स (एकल '...' या ट्रिपल '''...''' दोनों) में पार्स नहीं किया गया है, यदि मुझे सही याद है;

तो कोड होगा:

springVersion = '3.0.6.RELEASE' //or with double quotes "..." 

task extraStuff{ 
    doStuff "org.springframework:spring-web:${springVersion}@war" 
} 
+1

हाँ मैं बस वही जवाब जोड़ रहा था :) बस इसे एहसास हुआ। कुछ कॉफी की जरूरत है;) चीयर्स। – huzeyfe

+0

सच है। सिंगल से डबल कोट्स में बदलकर मेरी समस्या ठीक हो गई –

3

आप एक Android एप्लिकेशनGradle, का उपयोग कर एक चर घोषित करने के लिए विकसित कर रहे हैं (यानी कुछ निर्भरता संस्करण पकड़े) आप कीवर्ड का उपयोग करना चाहिए def नीचे की तरह:

def dependsVersion = '1.2' 

dependencies { 
    compile "groupId:artifactId:${dependsVersion}" 
} 
संबंधित मुद्दे