forked from slac-epics/eco_tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlatest_versions.py
executable file
·54 lines (47 loc) · 1.75 KB
/
latest_versions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/env python
import argparse
from pprint import *
from repo_defaults import *
from site_utils import *
from version_utils import *
def update_latest( top='.' ):
pkgDep = getEpicsPkgDependents( top )
if 'base' not in pkgDep:
print "Error: unable to determine base version"
return -1
epicsSiteTop = determine_epics_site_top()
epicsModules = os.path.join( epicsSiteTop, pkgDep['base'], 'modules' )
pkgReleases = {}
for pkg in pkgDep:
if pkg == "base":
continue
l1 = getPkgReleaseList( epicsModules, pkg )
l2 = ExpandPackagePath( epicsModules, pkg )
if len(l1) != len(l2):
print "getPkgReleaseList: %s %d releases: " % ( pkg, len(l1) )
print "ExpandPackageList: %s %d releases: " % ( pkg, len(l2) )
elif l1 != l2:
print "getPkgReleaseList: %s releases: %s" % ( pkg, l1 )
print "ExpandPackageList: %s releases: %s" % ( pkg, l2 )
pkgReleases[pkg] = l1
#print "%s %d releases: " % ( pkg, len(pkgReleases) )
pprint( pkgReleases )
#latestVersions = getVersionsFromFile( modulesStableVersionPath )
updateVersions = {}
for dep in pkgDep:
if dep == 'base':
continue
#if dep in stableVersions:
# updateVersions[dep] = stableVersions[dep]
for dep in updateVersions:
print "Need to update %s to %s\n" % ( dep, updateVersions[dep] )
def main(argv=None):
parser = argparse.ArgumentParser()
parser.add_argument( '-L', '--latest', action='store_true', help='Update module dependencies to latest versions.' )
options = parser.parse_args()
if options.latest:
update_latest()
return 0
if __name__ == '__main__':
status = main()
sys.exit(status)