Skip to content

Instantly share code, notes, and snippets.

@tintera
Last active May 25, 2018 15:59
Show Gist options
  • Save tintera/dd00b44e0cc809e1d9b127e0ca57c792 to your computer and use it in GitHub Desktop.
Save tintera/dd00b44e0cc809e1d9b127e0ca57c792 to your computer and use it in GitHub Desktop.
# This scpipt expects certains (out) application and versioning system layout.
# Task:
# a) deduplicate set of applications exported from versioning system
# b) and remove third party libraries.
#
import os
import shutil
rootDir = '.'
deduplicatedComDir = os.path.join(rootDir, 'comList')
if not os.path.exists(deduplicatedComDir):
os.makedirs(deduplicatedComDir)
subDirs = os.listdir(os.path.join(rootDir, 'app'))
print("app list: ")
print(subDirs)
for appName in subDirs:
#print('-------' + appName + '------')
appComRoot = os.path.join(rootDir, 'app', appName, 'com')
componentDirs = sorted(os.listdir(appComRoot))
for comDir in componentDirs:
srcDir = os.path.join(appComRoot, comDir)
destDir = os.path.join(rootDir, deduplicatedComDir, comDir)
if os.path.isdir(srcDir):
if not os.path.exists(destDir):
print('copy ' + srcDir + ' ' + destDir)
shutil.copytree(srcDir, destDir)
shutil.rmtree(srcDir, ignore_errors=True)
comDirs = os.listdir(deduplicatedComDir)
for dir in comDirs:
if dir.startswith('3p'):
comDir = os.path.join(deduplicatedComDir, dir)
print('removing: ' + comDir)
shutil.rmtree(comDir)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment