2012-07-16 22 views
13

पर कस्टम जेएआर फ़ाइल कैसे अपलोड करें मैं ग्रैडल जार टास्क का उपयोग किये बिना एक जार फ़ाइल बना सकता हूं (मुझे अपने काम के अंदर उस चीज के लिए चींटी कार्य का उपयोग करने की आवश्यकता है)। निर्दिष्ट रिपॉजिटरी में JAR इंस्टॉल करने में सक्षम होने के लिए मैं uploadArchives को कैसे कॉन्फ़िगर कर सकता हूं।ग्रेड: मैवेन रिपोजिटरी

मैं

uploadArchives { 
    repositories { 
     mavenDeployer { 
      // some Maven configuration 
     } 
    } 
} 

artifacts { 
    archives file: file('bin/result.jar') 
} 

के साथ डिफ़ॉल्ट विरूपण साक्ष्य ओवरराइड करने के लिए कोशिश की है, लेकिन मैं एक त्रुटि है कि वहाँ एक ही प्रकार के और वर्गीकारक, जो इस विन्यास का मतलब है बल्कि कहते हैं कि विन्यास ओवरराइड करता है के साथ 2 कलाकृतियों नहीं हो सकता है हो रही है।

उत्तर

20

आप सही हैं, artifacts बंद करने से केवल दिए गए कॉन्फ़िगरेशन में कलाकृतियों को जोड़ सकते हैं (ArtifactHandler API देखें)।

1) (ch देख 45.6.4.1 "परियोजना प्रति एकाधिक कलाकृतियों") के रूप में वर्णित here एक विरूपण साक्ष्य फ़िल्टर जोड़ें:।।

आपके पास दो विकल्प। आप इस तरह कुछ अपने विरूपण साक्ष्य फिल्टर में

artifacts { 
    archives file: file('bin/result.jar'), name: 'result', type: 'jar' 
} 

इस तरह: आप इस का उपयोग करते हैं, की तरह अपने archives विन्यास घोषित करने की कोशिश

addFilter('result') {artifact, file -> 
    artifact.name == 'result' 
} 

2) एक अलग Maven मॉड्यूल के रूप में यह अपलोड करें। यदि result.jar एकमात्र जार है जिसे आप अपलोड कर रहे हैं तो यह एक अच्छा समाधान हो सकता है।

configurations { 
    resultArchives 
} 

uploadResultArchives { 
    repositories { 
    mavenDeployer { 
     repository(url: "same/url/here") 
    } 
    } 
} 

artifacts{ 
    resultArchives file: file('bin/result.jar') 
} 

उम्मीद है कि इससे मदद मिलती है।

+0

समाधान के लिए धन्यवाद। उत्तरार्द्ध ने मेरे मामले में एक आकर्षण के रूप में काम किया। –

+0

मुझे एक त्रुटि मिलती है Gradle DSLmethod 'uploadResultArchive' नहीं मिला, मैंने प्लगइन मैवेन लागू किया है। किसी भी अन्य प्लगइन की आवश्यकता – sver

+1

@sver मुझे लगता है कि उसका मतलब _uploadArchives_ – zaxme

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