def testAddDependencies(): newP2 = Pom('pom.xml') impl = minidom.getDOMImplementation() pomDoc = impl.createDocument('http://maven.apache.org/POM/4.0.0', 'project',None) deps = [] e1 = pomDoc.createElement('dependency') e12 = pomDoc.createElement('groupId') et12 = pomDoc.createTextNode('bu') e12.childNodes.append(et12) e1.childNodes.append(e12) e13 = pomDoc.createElement('artifactId') et13 = pomDoc.createTextNode('ba') e13.childNodes.append(et13) e1.childNodes.append(e13) deps.append(e1) newP2.addDependencies(deps) print newP2.toxml()
def modularize(pomPath, newModuleName): #create new directory os.mkdir(pomPath+'/'+newModuleName) #copy everything but the pom for f in os.listdir(pomPath) : if f != 'pom.xml' and f != newModuleName: shutil.copytree(pomPath + '/' + f, pomPath + '/' + newModuleName + '/' + f) #create the new pom #merge plugins and dependencies pm = Pom() pmOrig = Pom(pomPath+'/pom.xml') head = pmOrig.getHead() pm.provideHead(head['groupId'] + '.' + head['artifactId'],newModuleName, head['version'], head['name'], head['packaging'], head['url']) pm.addPlugins(pmOrig.getPlugins()) pm.addDependencies(pmOrig.getDependencies()) pm.writeOut(pomPath + '/' + newModuleName + '/pom.xml') #change header of supoerpom and add modules pmOrig.provideHead(head['groupId'], head['artifactId'], head['version'], head['name'], 'pom', head['url']) newModule = pmOrig.buildModule(newModuleName) pmOrig.addModules([newModule]) pmOrig.writeOut() pass