2010-11-08 20 views
7

मैं मैवेन सेंट्रल रेपो में कुछ कलाकृतियों को प्रकाशित करने की कोशिश कर रहा हूं और चूंकि ग्रेडल (0.9-आरसी 2) का वर्तमान संस्करण पीजीपी को संभाल नहीं पाता है, हालांकि मैं इसे https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide से एंटी एक्सएमएल संस्करण 'पोर्टिंग' करने का प्रयास करता हूंग्रेडल चींटी कार्य का उपयोग कैसे करें?

def mvn = 
    groovy.xml.NamespaceBuilder.newInstance(ant, 'antlib:org.apache.maven.artifact.ant') 

    mvn.mvn { 
    arg(value: 'org.apache.maven.plugins:maven-gpg-plugin:1.1:sign-and-deploy-file') 
    arg(value: '-Durl=file:///tmp/repo2') 
    arg(value: '-DrepositoryId=sonatype-nexus-staging') 
    arg(value: '-DpomFile=pom.xml') 
    arg(value: '-Dfile=myjar.jar') 
    arg(value: '-Dfile=-Pgpg') 
    } 

दुर्भाग्य से यह काम नहीं कर रहा है और मैं इस हो रही है:

Cause: Problem: failed to create task or type antlib:org.apache.maven.artifact.ant:mvn 
Cause: The name is undefined. 
Action: Check the spelling. 
Action: Check that any custom tasks/types have been declared. 
Action: Check that any <presetdef>/<macrodef> declarations have taken place. 
No types or tasks have been defined in this namespace yet 
Gradle 1.0 जो उम्मीद है कि यह बॉक्स से बाहर का समर्थन करेंगे ... के लिए

मैं Gradle में निम्नलिखित लिखा था

मैं अपने स्क्रिप्ट के शीर्ष पर निम्न जोड़ना सहित विभिन्न संयोजनों की कोशिश की है:

buildscript { 
    repositories { 
    mavenCentral() 
    } 
    dependencies { 
    classpath 'org.apache.maven:maven-ant-tasks:2.1.1' 
    } 
} 

किसी भी मदद की बहुत सराहना की जाएगी

धन्यवाद यान

+1

बस सोचा कि मैं आपको बता दूंगा कि जोर्न हक्सहोर्न के पास है सोनाटिप्स ओएसएस रेपो को तैनाती के लिए अनुमति देने के लिए एक प्लगइन बनाने के काम को झुकाया। नवीनतम रिलीज किसी न किसी तरह है और नवीनतम ग्रेडल स्रोतों को चलाने की आवश्यकता है लेकिन नौकरी करेगा। यहां प्लगइन के बारे में अधिक जानकारी: http://gradle.codehaus.org/Plugins#Plugins-PGPPlugin – xlson

+0

धन्यवाद, यह जानना वाकई अच्छा है कि यह आ रहा है! – yan

उत्तर

7

मैं NamespaceBuilder उपयोग करने के लिए एक तरह से नहीं मिला लेकिन मुझे सीधे कार्य का उपयोग करने में सक्षम होने का एक और तरीका मिला जो मेरी समस्या हल करता है:

repositories { 
    mavenCentral() 
} 

configurations { 
    mavenAntTasks 
} 

dependencies { 
    mavenAntTasks 'org.apache.maven:maven-ant-tasks:2.1.1' 
} 

task hello << { 
    ant.taskdef(resource: 'org/apache/maven/artifact/ant/antlib.xml', 
       uri: 'antlib:org.apache.maven.artifact.ant', 
       classpath: configurations.mavenAntTasks.asPath) 
    ant.mvn(...) 
} 
संबंधित मुद्दे