2014-07-03 5 views
7

मैं एक ग्रेल्स 2.4 प्रोजेक्ट में एथर रिज़ॉल्वर का उपयोग करने के लिए आइवी का उपयोग करने से माइग्रेट करने का प्रयास कर रहा हूं।Grails में मेवेन क्रेडेंशियल्स को बाहरी कैसे करें 2.4

मेरे पास जो समस्या है वह प्रमाण-पत्रों को बाहरी करने के संबंध में है। इससे संबंधित जानकारी यहां Grails मैनुअल में पाई जा सकती है: http://grails.org/doc/latest/guide/conf.html#dependencyRepositories

मैवेन का उपयोग करने के लिए क्रेडेंशियल को बाहरी करने के लिए एक दस्तावेज तरीका प्रतीत नहीं होता है जिस तरह से आप आइवी के साथ कर सकते हैं।

आइवी के साथ मैं अपने .grails/settings.groovy फाइल में कुछ इस तरह बन सकता था:

grails.project.ivy.authentication = { 
    credentials { 
     realm = "My Repo" 
     host = "repo.mycustomrepo.com" 
     username = "user" 
     password = "password" 
    } 
} 

Aether का उपयोग करने के लिए, मैं जगह साख सीधे ब्लॉक मजबूर कर रहा हूँ मेरी BuildConfig.groovy में तो जैसे:

repositories { 
    inherits true // Whether to inherit repository definitions from plugins 

    grailsPlugins() 
    grailsHome() 
    mavenLocal() 
    grailsCentral() 
    mavenCentral() 
    mavenRepo("http://repo.mycustomrepo.com") { 
     //Add authentication details to repository connection 
     auth([ 
     username: 'user', 
     password: 'password' 
     ]) 
    } 
} 

दुर्भाग्यवश यह मेरे लिए वास्तव में समस्याग्रस्त है, क्योंकि मेरे संगठन के भीतर हम आर्टिफैक्टरी का उपयोग करते हैं जो हमारे एलडीएपी प्रमाण-पत्रों का उपयोग करने के लिए कॉन्फ़िगर किया गया है। यह एक समस्या है क्योंकि मैं स्रोत नियंत्रण में अपने प्रमाण-पत्र नहीं करना चाहता हूं।

क्या इसके लिए कोई अनियंत्रित समाधान है या क्या Grails बस इसका समर्थन नहीं करता है?

+0

आप Maven सेटिंग्स की कोशिश की थी? http://maven.apache.org/settings.html# सर्वर –

+0

मैंने अभी कोशिश की, लेकिन इससे मदद नहीं मिली। यह संभव है कि मैंने इसे सही तरीके से सेट नहीं किया है। मैंने '$ {user.home} /। M2/settings.xml' में सेटिंग्स.xml फ़ाइल बनाई है। मैं ' के साथ एक सर्वर खंड myRepo myUsername mypassword जोड़ा' और उसके बाद मैं अपने BuildConfig.groovy 'mavenRepo (आईडी: 'myRepo', यूआरएल:" https://myRepo.com ") को जोड़ा गया' –

उत्तर

9

एक id के साथ अपने रेपो परिभाषित करें:

mavenRepo(id:'myrepo', url:"http://localhost:8085/artifactory/libs-release-local/") 

तब का उपयोग कर ~/.grails/settings.groovy में अपनी साख को परिभाषित पहले से निर्दिष्ट id:

grails.project.dependency.authentication = { 
    credentials { 
    id = "myrepo" 
    username = "foo" 
    password = "bar" 
    } 
} 
संबंधित मुद्दे