commit 0b70942ffe2dfddf4451c93015b9dc0101820522 Author: Michal Srb msrb@redhat.com Date: Thu Jul 24 10:12:54 2014 +0200
Make cachedir member of TagBuilder class(es)
This looks better than using global variable
depgenerators/maven.prov | 2 +- depgenerators/maven.req | 20 +++++++++++--------- depgenerators/osgi.prov | 11 +++++++---- depgenerators/osgi.req | 18 ++++++++++-------- 4 files changed, 29 insertions(+), 22 deletions(-) --- diff --git a/depgenerators/maven.prov b/depgenerators/maven.prov index 9888661..9606a3e 100755 --- a/depgenerators/maven.prov +++ b/depgenerators/maven.prov @@ -60,7 +60,7 @@ class TagBuilder:
if __name__ == "__main__": try: - builder = TagBuilder () + builder = TagBuilder() except Exception: traceback.print_exc(file=sys.stderr) # rpmbuild ignores non-zero exit codes but this that is bad. Make sure diff --git a/depgenerators/maven.req b/depgenerators/maven.req index 67a651e..926ec94 100755 --- a/depgenerators/maven.req +++ b/depgenerators/maven.req @@ -49,7 +49,8 @@ from javapackages.xmvn.xmvn_resolve import XMvnResolve, ResolutionRequest
class TagBuilder(object): - def __init__(self, filelist=None): + def __init__(self, filelist=None, cachedir=None): + self.cachedir = cachedir if filelist == None: filelist = sys.stdin
@@ -67,22 +68,22 @@ class TagBuilder(object): metadata = None
# get all provided artifacts - self.provided_artifacts = Metadata.read_provided_artifacts_from_cache(cachedir) + self.provided_artifacts = Metadata.read_provided_artifacts_from_cache(self.cachedir) if self.provided_artifacts is None: metadata = Metadata(self.metadata_paths or self._gather_metadata_files()) - self.provided_artifacts = metadata.write_provided_artifacts_to_cache(cachedir) or [] + self.provided_artifacts = metadata.write_provided_artifacts_to_cache(self.cachedir) or []
# get all skipped artifacts - self.skipped_artifacts = Metadata.read_skipped_artifacts_from_cache(cachedir) + self.skipped_artifacts = Metadata.read_skipped_artifacts_from_cache(self.cachedir) if self.skipped_artifacts is None: metadata = Metadata(self.metadata_paths or self._gather_metadata_files()) - self.skipped_artifacts = metadata.write_skipped_artifacts_to_cache(cachedir) or [] + self.skipped_artifacts = metadata.write_skipped_artifacts_to_cache(self.cachedir) or []
# get all provided OSGi bundles - self.provided_osgi = Metadata.read_provided_osgi_from_cache(cachedir) + self.provided_osgi = Metadata.read_provided_osgi_from_cache(self.cachedir) if self.provided_osgi is None: metadata = Metadata(self.metadata_paths or self._gather_metadata_files()) - self.provided_osgi = metadata.write_provided_osgi_to_cache(cachedir) or {} + self.provided_osgi = metadata.write_provided_osgi_to_cache(self.cachedir) or {}
self.print_requires(paths[0])
@@ -389,12 +390,13 @@ class TagBuilder(object): pass
-cachedir = None if __name__ == "__main__": try: if len(sys.argv) > 1: cachedir = get_cachedir(sys.argv[1]) - builder = TagBuilder() + else: + raise Exception("Missing param: cachedir") + builder = TagBuilder(cachedir=cachedir) except Exception: traceback.print_exc(file=sys.stderr) # rpmbuild ignores non-zero exit codes but this that is bad. Make sure diff --git a/depgenerators/osgi.prov b/depgenerators/osgi.prov index 06c891c..9b7aebd 100755 --- a/depgenerators/osgi.prov +++ b/depgenerators/osgi.prov @@ -37,24 +37,27 @@ import os import traceback
class TagBuilder(object): - def __init__(self, filelist=None): + def __init__(self, filelist=None, cachedir=None): + self.cachedir = cachedir + if filelist == None: filelist = sys.stdin paths = [x.rstrip() for x in filelist.readlines()] for path in paths: - if osgi.check_path_in_metadata(path, cachedir): + if osgi.check_path_in_metadata(path, self.cachedir): continue if not os.path.islink(path): provides = osgi.get_provides(path) osgi.print_provides(provides)
-cachedir = None if __name__ == "__main__": try: if len(sys.argv) > 1: cachedir = get_cachedir(sys.argv[1]) - builder = TagBuilder () + else: + raise Exception("Missing param: cachedir") + builder = TagBuilder(cachedir=cachedir) except Exception: traceback.print_exc(file=sys.stderr) # rpmbuild ignores non-zero exit codes but this that is bad. Make sure diff --git a/depgenerators/osgi.req b/depgenerators/osgi.req index 88cb738..4ca6569 100755 --- a/depgenerators/osgi.req +++ b/depgenerators/osgi.req @@ -40,7 +40,8 @@ import traceback
class TagBuilder(object):
- def __init__(self, filelist=None): + def __init__(self, filelist=None, cachedir=None): + self.cachedir = cachedir if filelist == None: filelist = sys.stdin paths = [x.rstrip() for x in filelist.readlines()] @@ -48,12 +49,12 @@ class TagBuilder(object): provided = None for path in paths: # check if OSGi requires for this path were handled by metadata - if osgi.check_path_in_metadata(path, cachedir): + if osgi.check_path_in_metadata(path, self.cachedir): continue if not os.path.islink(path): reqs = osgi.get_requires(path) if provided is None: - provided = self.get_provided_bundles(cachedir) + provided = self.get_provided_bundles() for req in reqs: if req in provided: index = provided.index(req) @@ -62,9 +63,9 @@ class TagBuilder(object): print("osgi(%s)" % (req))
- def get_provided_bundles(self, cachedir): + def get_provided_bundles(self): # get all provided bundles, try cache first - provided = osgi.read_provided_bundles_cache(cachedir) + provided = osgi.read_provided_bundles_cache(self.cachedir) if not provided: provided = [] # no cache, create one @@ -72,16 +73,17 @@ class TagBuilder(object): bpaths = osgi.find_possible_bundles(buildroot) for path in bpaths: provided.update(osgi.get_provides(path)) - osgi.write_provided_bundles_cache(cachedir, provided) + osgi.write_provided_bundles_cache(self.cachedir, provided) return provided
-cachedir = None if __name__ == "__main__": try: if len(sys.argv) > 1: cachedir = get_cachedir(sys.argv[1]) - builder = TagBuilder () + else: + raise Exception("Missing param: cachedir") + builder = TagBuilder(cachedir=cachedir) except Exception: traceback.print_exc(file=sys.stderr) # rpmbuild ignores non-zero exit codes but this that is bad. Make sure
java-sig-commits@lists.fedoraproject.org