Last active
August 29, 2015 14:27
-
-
Save serngawy/ea6866ece2a8b3b7352d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
''' | |
Created on Aug 10, 2015 | |
@author: mohamedel-serngawy | |
''' | |
import glob, os | |
import sys | |
import time | |
import fnmatch | |
import xml.etree.ElementTree as EleTree | |
# checking whether path and filename are given. | |
#if len(sys.argv) != 3: | |
# print "Usage : python ReplaceVersionCls.py <project path> <oldVersion Str> <newVersion Str>" | |
# sys.exit() | |
#target_dir = sys.argv[1] | |
#oldVersion = sys.argv[2] | |
#newVersion = sys.argv[3] | |
#=============================================================================== | |
# Not used | |
#=============================================================================== | |
def replacePOMv(POMFile, oldVersioStr, newVersionStr): | |
EleTree.register_namespace('', 'http://maven.apache.org/POM/4.0.0') | |
tree = EleTree.parse(POMFile) | |
root = tree.getroot() | |
for pVersion in root.findall('./','parent/version'): | |
pVersionStr = pVersion.text | |
if pVersionStr.find(oldVersioStr) != -1: | |
#print pVersionStr | |
pVersionStr = pVersionStr.replace(oldVersioStr, newVersionStr) | |
pVersion.text = pVersionStr | |
for version in root.findall('./','version'): | |
versionStr = version.text | |
if versionStr.find(oldVersioStr) != -1: | |
versionStr = versionStr.replace(oldVersioStr, newVersionStr) | |
version.text = versionStr | |
#print version.text | |
tree.write(POMFile) | |
def replacePOM(POMFile, oldVersionStr, newVersionStr): | |
file = open(POMFile,"r") | |
pomStr = file.read() | |
file.close(); | |
pomStr = pomStr.replace('git:ssh://git.opendaylight.org:29418','git:ssh://review.inocybe.com:29418/odl') | |
pomStr = pomStr.replace('<nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>','<nexusproxy>http://repo.inocybe.com/repository</nexusproxy>') | |
pomStr = pomStr.replace('<nexus.repository.release>opendaylight.release</nexus.repository.release>','<nexus.repository.release>ext-release-local</nexus.repository.release>') | |
pomStr = pomStr.replace('<nexus.repository.snapshot>opendaylight.snapshot</nexus.repository.snapshot>','<nexus.repository.snapshot>ext-snapshot-local</nexus.repository.snapshot>') | |
#pomStr = pomStr.replace('http://git.opendaylight.org/gerrit','git:ssh://review.inocybe.com:29418/odl') | |
pomStr = pomStr.replace(oldVersionStr, newVersionStr) | |
file = open(POMFile,"w") | |
file.seek(0) | |
file.write(pomStr) | |
file.close() | |
def updateProjectPOMFiles(dir, fileName,oldVersioStr, newVersionStr): | |
for root, dirnames, filenames in os.walk(dir): | |
for filename in fnmatch.filter(filenames, fileName): | |
pomF = os.path.join(root, filename) | |
print pomF | |
replacePOM(pomF, oldVersioStr, newVersionStr) | |
def updateArtifactDir(dir,oldFileName, newFileName): | |
for root, dirnames, filenames in os.walk(dir): | |
for dir in fnmatch.filter(dirnames, oldFileName): | |
dirName = os.path.join(root, dir) | |
newDirName = dirName.replace('SNAPSHOT', newFileName) | |
print newDirName | |
os.rename(dirName, newDirName) | |
def updateArtifactPOMFiles(dir,oldFileName, newFileName): | |
for root, dirnames, filenames in os.walk(dir): | |
for filename in fnmatch.filter(filenames, oldFileName): | |
pomF = os.path.join(root, filename) | |
newPomF = pomF.replace('SNAPSHOT', newFileName) | |
print newPomF | |
os.rename(pomF, newPomF) | |
def removeRemoteRepo(dir): | |
for root, dirnames, filenames in os.walk(dir): | |
for filename in fnmatch.filter(filenames, '_remote.repositories'): | |
pomF = os.path.join(root, filename) | |
print pomF | |
os.remove(pomF) | |
#removeRemoteRepo('/Users/mserngawy/controller') | |
#updateArtifactDir('/Users/mserngawy/controller', '*SNAPSHOT*', 'IT') | |
#updateArtifactPOMFiles('/Users/mserngawy/controller', '*SNAPSHOT*', 'IT') | |
#updateProjectPOMFiles('/Users/mserngawy/controller','*.xml','SNAPSHOT','IT') | |
updateProjectPOMFiles('/Volumes/Stoarge/Inocybe-source/controller','pom.xml','SNAPSHOT','IT') | |
updateProjectPOMFiles('/Volumes/Stoarge/Inocybe-source/controller','features.xml','SNAPSHOT','IT') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment