[javapackages] Refactoring
by Michal Srb
commit d98e4b3d02e2e422c9e6d1d70b18b879d4fbdee3
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 13:50:52 2014 +0100
Refactoring
python/javapackages/xmvn/xmvn_resolve.py | 20 +++++++++++++-------
1 files changed, 13 insertions(+), 7 deletions(-)
---
diff --git a/python/javapackages/xmvn/xmvn_resolve.py b/python/javapackages/xmvn/xmvn_resolve.py
index 706200b..d387b0f 100644
--- a/python/javapackages/xmvn/xmvn_resolve.py
+++ b/python/javapackages/xmvn/xmvn_resolve.py
@@ -48,14 +48,14 @@ class XMvnResolve(object):
@staticmethod
def process_raw_request(raw_request_list, scl=None):
binpath = XMvnResolve._load_path_from_config()
- request = XMvnResolve.__join_raw_requests(raw_request_list)
+ request = XMvnResolve._join_raw_requests(raw_request_list)
rc, stdout, stderr = execute_command(binpath, args=["--raw-request"],
input=request, enable_scl=scl)
if rc != 0:
raise Exception(stderr)
- result = XMvnResolve.__process_results(stdout)
+ result = XMvnResolve._process_results(stdout)
return result
@staticmethod
@@ -72,7 +72,7 @@ class XMvnResolve(object):
return path
@staticmethod
- def __join_raw_requests(raw_request_list):
+ def _join_raw_requests(raw_request_list):
request = "<requests>"
for r in raw_request_list:
request += r.get_xml()
@@ -81,7 +81,7 @@ class XMvnResolve(object):
return request
@staticmethod
- def __process_results(result_xml):
+ def _process_results(result_xml):
results = []
doc = lxml.etree.fromstring(result_xml.encode("UTF-8"))
@@ -117,7 +117,8 @@ class ResolutionResult(object):
class ResolutionRequest(object):
- def __init__(self, groupId, artifactId, extension="", classifier="", version=""):
+ def __init__(self, groupId, artifactId, extension="",
+ classifier="", version=""):
self.groupId = groupId
self.artifactId = artifactId
self.extension = extension
@@ -125,10 +126,15 @@ class ResolutionRequest(object):
self.version = version
def get_xml(self):
- return ResolutionRequest.create_raw_request_xml(self.groupId, self.artifactId, self.extension, self.classifier, self.version)
+ return ResolutionRequest.create_raw_request_xml(self.groupId,
+ self.artifactId,
+ self.extension,
+ self.classifier,
+ self.version)
@staticmethod
- def create_raw_request_xml(groupId, artifactId, extension="", classifier="", version=""):
+ def create_raw_request_xml(groupId, artifactId, extension="",
+ classifier="", version=""):
template = """
<request>
<artifact>
9 years, 7 months
[javapackages] SCL-ize calls to xmvn-resolve
by Michal Srb
commit 5df2e90f89197f0dcf26d30b6c30b77475617bf2
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 13:45:00 2014 +0100
SCL-ize calls to xmvn-resolve
depgenerators/maven.req | 4 ++--
python/javapackages/xmvn/xmvn_resolve.py | 18 ++++++++++--------
2 files changed, 12 insertions(+), 10 deletions(-)
---
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
index 8837f04..7f97480 100755
--- a/depgenerators/maven.req
+++ b/depgenerators/maven.req
@@ -278,7 +278,7 @@ class TagBuilder(object):
version=dep.requestedVersion)
requests.append(request)
if requests:
- results = XMvnResolve.process_raw_request(requests)
+ results = XMvnResolve.process_raw_request(requests, rpmconf.scl)
for i, r in enumerate(results):
if not r:
unresolvable.append(deps[i])
@@ -307,7 +307,7 @@ class TagBuilder(object):
reqs = []
for d in deps:
reqs.append(ResolutionRequest(d.groupId, d.artifactId, version=d.version))
- results = XMvnResolve.process_raw_request(reqs)
+ results = XMvnResolve.process_raw_request(reqs, rpmconf.scl)
pom_requires = set()
for i, r in enumerate(results):
dep = MetadataDependency(deps[i].groupId, deps[i].artifactId,
diff --git a/python/javapackages/xmvn/xmvn_resolve.py b/python/javapackages/xmvn/xmvn_resolve.py
index 300d29b..706200b 100644
--- a/python/javapackages/xmvn/xmvn_resolve.py
+++ b/python/javapackages/xmvn/xmvn_resolve.py
@@ -30,12 +30,12 @@
#
# Authors: Michal Srb <msrb(a)redhat.com>
-from javapackages.common.config import get_configs
-
-import subprocess
import lxml.etree
import os
+from javapackages.common.config import get_configs
+from javapackages.common.util import execute_command
+
class XMvnResolve(object):
# TODO:
@@ -46,13 +46,15 @@ class XMvnResolve(object):
return os.path.exists(XMvnResolve._load_path_from_config())
@staticmethod
- def process_raw_request(raw_request_list):
+ def process_raw_request(raw_request_list, scl=None):
binpath = XMvnResolve._load_path_from_config()
request = XMvnResolve.__join_raw_requests(raw_request_list)
- procargs = [binpath, '--raw-request']
- proc = subprocess.Popen(procargs, shell=False, stdout=subprocess.PIPE, stdin=subprocess.PIPE, universal_newlines=True)
- stdout = proc.communicate(input=request)[0]
- proc.wait()
+ rc, stdout, stderr = execute_command(binpath, args=["--raw-request"],
+ input=request, enable_scl=scl)
+
+ if rc != 0:
+ raise Exception(stderr)
+
result = XMvnResolve.__process_results(stdout)
return result
9 years, 7 months
[javapackages] Refactoring
by Michal Srb
commit d63bd791984a88f0cc6bbc234b31a6dc82fe7aae
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 13:20:50 2014 +0100
Refactoring
depgenerators/maven.req | 4 ++--
python/javapackages/xmvn/xmvn_resolve.py | 26 +++++++++++++++-----------
2 files changed, 17 insertions(+), 13 deletions(-)
---
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
index f01de9c..8837f04 100755
--- a/depgenerators/maven.req
+++ b/depgenerators/maven.req
@@ -93,7 +93,7 @@ class TagBuilder(object):
# generate also R on plugins and extensions from POM file, but only
# if this is POM-only package and xmvn-resolve is installed
- if os.path.exists(XMvnResolve._load_path_from_config()):
+ if XMvnResolve.is_available():
if curr_metadata.contains_only_poms():
self.print_pom_requires(curr_metadata)
@@ -129,7 +129,7 @@ class TagBuilder(object):
unknown_deps = []
# check if dependencies on POM files are satisfiable
- if os.path.exists(XMvnResolve._load_path_from_config()):
+ if XMvnResolve.is_available():
unknown_deps = self._check_pom_deps()
for dependency in metadata.get_required_artifacts():
diff --git a/python/javapackages/xmvn/xmvn_resolve.py b/python/javapackages/xmvn/xmvn_resolve.py
index 260d33e..300d29b 100644
--- a/python/javapackages/xmvn/xmvn_resolve.py
+++ b/python/javapackages/xmvn/xmvn_resolve.py
@@ -42,17 +42,8 @@ class XMvnResolve(object):
# - documentation
@staticmethod
- def _load_path_from_config():
- configs = get_configs()
- path = None
- for config in configs:
- path = config.get('path', "")
- if os.path.exists(path):
- break
- if not path:
- # default path
- path = "/usr/bin/xmvn-resolve"
- return path
+ def is_available():
+ return os.path.exists(XMvnResolve._load_path_from_config())
@staticmethod
def process_raw_request(raw_request_list):
@@ -66,6 +57,19 @@ class XMvnResolve(object):
return result
@staticmethod
+ def _load_path_from_config():
+ configs = get_configs()
+ path = None
+ for config in configs:
+ path = config.get('path', "")
+ if os.path.exists(path):
+ break
+ if not path:
+ # default path
+ path = "/usr/bin/xmvn-resolve"
+ return path
+
+ @staticmethod
def __join_raw_requests(raw_request_list):
request = "<requests>"
for r in raw_request_list:
9 years, 7 months
[javapackages] [test] Test for 508aad6
by Michal Srb
commit 0c2a701887e9c47979297d4f385788ffd9abf81f
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 13:09:48 2014 +0100
[test] Test for 508aad6
python/test/osgi_test.py | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/python/test/osgi_test.py b/python/test/osgi_test.py
index 936f4d5..4050945 100644
--- a/python/test/osgi_test.py
+++ b/python/test/osgi_test.py
@@ -27,6 +27,14 @@ class TestOSGi(unittest.TestCase):
self.assertEqual(b.get_rpm_str(), "osgi(bundle.name) = 1")
self.assertEqual(len(b.requires), 2)
+ def test_bundle_whitespaces(self):
+ b = OSGiBundle.from_string(" bundle.name() 1 req1.abc,req2(ns) ")
+ self.assertEqual(b.bundle, "bundle.name")
+ self.assertEqual(b.version, "1")
+ self.assertEqual(b.namespace, "")
+ self.assertEqual(b.get_rpm_str(), "osgi(bundle.name) = 1")
+ self.assertEqual(len(b.requires), 2)
+
def test_require(self):
r = OSGiRequire.from_string("osgi.req")
self.assertEqual(r.bundle, "osgi.req")
9 years, 7 months
[javapackages] [osgi] Improve whitespace handling
by Michal Srb
commit 508aad694f8b71610a889606996ca67efd82fdcf
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 13:09:10 2014 +0100
[osgi] Improve whitespace handling
python/javapackages/common/osgi.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/python/javapackages/common/osgi.py b/python/javapackages/common/osgi.py
index 292fb26..271bbdb 100644
--- a/python/javapackages/common/osgi.py
+++ b/python/javapackages/common/osgi.py
@@ -89,7 +89,7 @@ class OSGiBundle(object):
version = ""
reqstr = ""
requires = []
- result = osgistr.split(" ")
+ result = osgistr.split()
try:
bundle = result[0]
version = result[1]
9 years, 7 months
[javapackages] Move comment
by Michal Srb
commit d36ab017efb2230d92f2c5c90d67e2dc501158d4
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 11:17:30 2014 +0100
Move comment
depgenerators/maven.prov | 2 --
depgenerators/maven.req | 2 --
depgenerators/osgi.prov | 2 --
depgenerators/osgi.req | 2 --
python/javapackages/common/util.py | 2 ++
5 files changed, 2 insertions(+), 8 deletions(-)
---
diff --git a/depgenerators/maven.prov b/depgenerators/maven.prov
index e908a77..df1e4ea 100755
--- a/depgenerators/maven.prov
+++ b/depgenerators/maven.prov
@@ -71,6 +71,4 @@ if __name__ == "__main__":
builder = TagBuilder()
except Exception:
traceback.print_exc(file=sys.stderr)
- # rpmbuild ignores non-zero exit codes, but this is bad. Make sure
- # the build fails and doesn't silently ignore problems
kill_parent_process()
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
index 5bf9a6c..f01de9c 100755
--- a/depgenerators/maven.req
+++ b/depgenerators/maven.req
@@ -401,6 +401,4 @@ if __name__ == "__main__":
builder = TagBuilder()
except Exception:
traceback.print_exc(file=sys.stderr)
- # rpmbuild ignores non-zero exit codes, but this is bad. Make sure
- # the build fails and doesn't silently ignore problems
kill_parent_process()
diff --git a/depgenerators/osgi.prov b/depgenerators/osgi.prov
index 8be083a..5c64efd 100755
--- a/depgenerators/osgi.prov
+++ b/depgenerators/osgi.prov
@@ -76,6 +76,4 @@ if __name__ == "__main__":
builder = TagBuilder()
except Exception:
traceback.print_exc(file=sys.stderr)
- # rpmbuild ignores non-zero exit codes, but this is bad. Make sure
- # the build fails and doesn't silently ignore problems
kill_parent_process()
diff --git a/depgenerators/osgi.req b/depgenerators/osgi.req
index 6fb976e..7797112 100755
--- a/depgenerators/osgi.req
+++ b/depgenerators/osgi.req
@@ -85,6 +85,4 @@ if __name__ == "__main__":
builder = TagBuilder()
except Exception:
traceback.print_exc(file=sys.stderr)
- # rpmbuild ignores non-zero exit codes, but this is bad. Make sure
- # the build fails and doesn't silently ignore problems
kill_parent_process()
diff --git a/python/javapackages/common/util.py b/python/javapackages/common/util.py
index a54eb76..bfc9440 100644
--- a/python/javapackages/common/util.py
+++ b/python/javapackages/common/util.py
@@ -41,6 +41,8 @@ from optparse import OptionParser
def kill_parent_process():
+ # rpmbuild ignores non-zero exit codes, but this is bad. Make sure
+ # the build fails and doesn't silently ignore problems
os.kill(os.getppid(), signal.SIGTERM)
9 years, 7 months
[javapackages] [test] Fix tests
by Michal Srb
commit 53976f409e934bcf7e626696dd06ba46ca6f53bc
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 11:12:17 2014 +0100
[test] Fix tests
test/test_common.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/test/test_common.py b/test/test_common.py
index ebf38be..8a5b22c 100644
--- a/test/test_common.py
+++ b/test/test_common.py
@@ -132,7 +132,7 @@ def mavenprov(filelist):
scriptpath = path.join(DIRPATH, '..', 'depgenerators', 'maven.prov')
stdin = build_depmap_paths(filelist)
(stdout, stderr, return_value) = call_script(scriptpath,
- ["/tmp"], stdin=stdin, wrapped=True, extra_env=env)
+ ["--cachedir", "/tmp"], stdin=stdin, wrapped=True, extra_env=env)
fun(self, stdout, stderr, return_value)
return test_decorated
return test_decorator
@@ -144,7 +144,7 @@ def osgi_common(args, scriptpath):
extra_env = {"RPM_BUILD_ROOT": args[1]}
else:
extra_env = {"RPM_BUILD_ROOT": "/dev/null"}
- ret = call_script(scriptpath, ["/tmp"], stdin=stdin,
+ ret = call_script(scriptpath, ["--cachedir", "/tmp"], stdin=stdin,
wrapped=True, extra_env=extra_env)
shutil.rmtree("/tmp/.javapackages_cache/")
return ret
@@ -184,7 +184,7 @@ def requires_generator(name, filelist, config=None, javaconfdirs=None):
else:
config_path = os.path.join(DIRPATH, '..', 'etc')
(stdout, stderr, return_value) = call_script(scriptpath,
- ["/tmp"], stdin=stdin, wrapped=True, extra_env=env,
+ ["--cachedir", "/tmp"], stdin=stdin, wrapped=True, extra_env=env,
config_path=config_path)
fun(self, stdout, stderr, return_value)
return test_decorated
9 years, 7 months
[javapackages] Fix fileattrs
by Michal Srb
commit c89e0b9b3ca14d576fdb33dd34760bdb9bf88399
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 11:11:43 2014 +0100
Fix fileattrs
depgenerators/fileattrs/maven.attr | 4 ++--
depgenerators/fileattrs/osgi.attr | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/depgenerators/fileattrs/maven.attr b/depgenerators/fileattrs/maven.attr
index 792b668..16f4965 100644
--- a/depgenerators/fileattrs/maven.attr
+++ b/depgenerators/fileattrs/maven.attr
@@ -1,5 +1,5 @@
%__maven_provides %{_rpmconfigdir}/maven.prov
-%__maven_provides_opts %{_builddir}/%{?buildsubdir}
+%__maven_provides_opts --cachedir %{_builddir}/%{?buildsubdir} --scl %{?scl}
%__maven_requires %{_rpmconfigdir}/maven.req
-%__maven_requires_opts %{_builddir}/%{?buildsubdir}
+%__maven_requires_opts --cachedir %{_builddir}/%{?buildsubdir} --scl %{?scl}
%__maven_path ^%{_datadir}/maven-metadata/.*
diff --git a/depgenerators/fileattrs/osgi.attr b/depgenerators/fileattrs/osgi.attr
index 4a2c176..f62f0fd 100644
--- a/depgenerators/fileattrs/osgi.attr
+++ b/depgenerators/fileattrs/osgi.attr
@@ -1,5 +1,5 @@
%__osgi_provides %{_rpmconfigdir}/osgi.prov
-%__osgi_provides_opts %{_builddir}/%{?buildsubdir} %{?scl}
+%__osgi_provides_opts --cachedir %{_builddir}/%{?buildsubdir} --scl %{?scl}
%__osgi_requires %{_rpmconfigdir}/osgi.req
-%__osgi_requires_opts %{_builddir}/%{?buildsubdir} %{?scl}
+%__osgi_requires_opts --cachedir %{_builddir}/%{?buildsubdir} --scl %{?scl}
%__osgi_path ^(.*\\.jar|((%{_prefix}/lib(64)?|%{_datadir})/.*/META-INF/MANIFEST.MF))$
9 years, 7 months
[javapackages] Use optparse in RPM generators
by Michal Srb
commit 67ba29c71a094eec204a2f91dd7091aea8417e45
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 11:10:56 2014 +0100
Use optparse in RPM generators
depgenerators/maven.prov | 5 +--
depgenerators/maven.req | 21 +++++---------
depgenerators/osgi.prov | 16 +++--------
depgenerators/osgi.req | 16 +++--------
python/javapackages/common/logging.py | 49 ---------------------------------
python/javapackages/common/util.py | 47 +++++++++++++++++++++++++++-----
6 files changed, 58 insertions(+), 96 deletions(-)
---
diff --git a/depgenerators/maven.prov b/depgenerators/maven.prov
index 12b76b3..e908a77 100755
--- a/depgenerators/maven.prov
+++ b/depgenerators/maven.prov
@@ -38,8 +38,7 @@ import sys
import traceback
import logging
from javapackages.metadata.metadata import Metadata
-from javapackages.common.util import kill_parent_process
-from javapackages.common.logging import init_logging
+from javapackages.common.util import kill_parent_process, init_rpmgen
logging.basicConfig(level=logging.DEBUG)
_log = logging.getLogger("maven.prov")
@@ -68,7 +67,7 @@ class TagBuilder:
if __name__ == "__main__":
try:
- init_logging()
+ init_rpmgen(sys.argv)
builder = TagBuilder()
except Exception:
traceback.print_exc(file=sys.stderr)
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
index fd6018a..5bf9a6c 100755
--- a/depgenerators/maven.req
+++ b/depgenerators/maven.req
@@ -41,8 +41,7 @@ import logging
from lxml import etree
from javapackages.common.config import get_configs, get_buildroot
-from javapackages.common.util import kill_parent_process, get_cachedir
-from javapackages.common.logging import init_logging
+from javapackages.common.util import kill_parent_process, init_rpmgen
from javapackages.maven.pom import POM
from javapackages.maven.artifact import Artifact
from javapackages.metadata.metadata import Metadata
@@ -72,22 +71,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(rpmconf.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(rpmconf.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(rpmconf.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(rpmconf.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(rpmconf.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(rpmconf.cachedir) or {}
curr_metadata = Metadata(paths[0])
self.print_requires(curr_metadata)
@@ -398,11 +397,7 @@ class TagBuilder(object):
if __name__ == "__main__":
try:
- if len(sys.argv) > 1:
- _cachedir = get_cachedir(sys.argv[1])
- else:
- raise Exception("Missing param: cachedir")
- init_logging()
+ rpmconf = init_rpmgen(sys.argv)
builder = TagBuilder()
except Exception:
traceback.print_exc(file=sys.stderr)
diff --git a/depgenerators/osgi.prov b/depgenerators/osgi.prov
index a31a2dd..8be083a 100755
--- a/depgenerators/osgi.prov
+++ b/depgenerators/osgi.prov
@@ -36,8 +36,7 @@ import os
import traceback
import logging
from javapackages.common.osgi import OSGiCache, check_path_in_metadata
-from javapackages.common.util import kill_parent_process, get_cachedir
-from javapackages.common.logging import init_logging
+from javapackages.common.util import kill_parent_process, init_rpmgen
logging.basicConfig(level=logging.DEBUG)
_log = logging.getLogger("osgi.prov")
@@ -48,7 +47,7 @@ class TagBuilder(object):
if filelist == None:
filelist = sys.stdin
paths = [x.rstrip() for x in filelist.readlines()]
- cache = OSGiCache(_cachedir, scl=_scl)
+ cache = OSGiCache(rpmconf.cachedir, scl=rpmconf.scl)
provides = []
for path in paths:
@@ -59,7 +58,7 @@ class TagBuilder(object):
# check if OSGi provides for this path were handled by metadata
# if so, move on
- if check_path_in_metadata(path, _cachedir):
+ if check_path_in_metadata(path, rpmconf.cachedir):
continue
bundle = cache.get_bundle_for_path(path)
@@ -73,14 +72,7 @@ class TagBuilder(object):
if __name__ == "__main__":
try:
- if len(sys.argv) > 1:
- _cachedir = get_cachedir(sys.argv[1])
- else:
- raise Exception("Missing param: cachedir")
- _scl = None
- if len(sys.argv) > 2:
- _scl = sys.argv[2]
- init_logging()
+ rpmconf = init_rpmgen(sys.argv)
builder = TagBuilder()
except Exception:
traceback.print_exc(file=sys.stderr)
diff --git a/depgenerators/osgi.req b/depgenerators/osgi.req
index 451b8bd..6fb976e 100755
--- a/depgenerators/osgi.req
+++ b/depgenerators/osgi.req
@@ -37,8 +37,7 @@ import os
import traceback
import logging
from javapackages.common.osgi import OSGiCache, check_path_in_metadata
-from javapackages.common.util import kill_parent_process, get_cachedir
-from javapackages.common.logging import init_logging
+from javapackages.common.util import kill_parent_process, init_rpmgen
logging.basicConfig(level=logging.DEBUG)
_log = logging.getLogger("osgi.req")
@@ -51,7 +50,7 @@ class TagBuilder(object):
filelist = sys.stdin
paths = [x.rstrip() for x in filelist.readlines()]
- cache = OSGiCache(_cachedir, scl=_scl)
+ cache = OSGiCache(rpmconf.cachedir, scl=rpmconf.scl)
requires = []
for path in paths:
@@ -61,7 +60,7 @@ class TagBuilder(object):
# check if OSGi requires for this path were handled by metadata
# if so, move on
- if check_path_in_metadata(path, _cachedir):
+ if check_path_in_metadata(path, rpmconf.cachedir):
continue
bundle = cache.get_bundle_for_path(path)
@@ -82,14 +81,7 @@ class TagBuilder(object):
if __name__ == "__main__":
try:
- if len(sys.argv) > 1:
- _cachedir = get_cachedir(sys.argv[1])
- else:
- raise Exception("Missing param: cachedir")
- _scl = None
- if len(sys.argv) > 2:
- _scl = sys.argv[2]
- init_logging()
+ rpmconf = init_rpmgen(sys.argv)
builder = TagBuilder()
except Exception:
traceback.print_exc(file=sys.stderr)
diff --git a/python/javapackages/common/util.py b/python/javapackages/common/util.py
index 52c6667..a54eb76 100644
--- a/python/javapackages/common/util.py
+++ b/python/javapackages/common/util.py
@@ -36,19 +36,14 @@ import signal
import sys
import six
import subprocess
+import logging
+from optparse import OptionParser
def kill_parent_process():
os.kill(os.getppid(), signal.SIGTERM)
-def get_cachedir(path, create_if_not_exists=True):
- cachedir_path = os.path.join(path, ".javapackages_cache")
- if not os.path.exists(cachedir_path) and create_if_not_exists:
- os.makedirs(cachedir_path)
- return cachedir_path
-
-
def args_to_unicode(args):
if six.PY2:
for index, arg in enumerate(args):
@@ -74,3 +69,41 @@ def execute_command(binpath, args=[], env=None, input=None, shell=False,
stdout, stderr = proc.communicate(input=None)
proc.wait()
return proc.returncode, stdout, stderr
+
+
+def init_rpmgen(argv):
+ _init_rpmgen_logging()
+ return _parse_rpmgen_args(argv)
+
+
+class _SkipPyXBWarningsFilter(logging.Filter):
+ def filter(self, record):
+ return not record.getMessage().startswith("Unable to convert DOM node")
+
+
+def _init_rpmgen_logging():
+ # Omit PyXB "Unable to convert DOM node to binding" warnings
+ logger = logging.getLogger("pyxb.binding.basis")
+ f = _SkipPyXBWarningsFilter()
+ logger.addFilter(f)
+
+
+def _parse_rpmgen_args(argv):
+ parser = OptionParser()
+ parser.add_option("--cachedir", dest="cachedir")
+ parser.add_option("--scl", dest="scl", default=None)
+
+ options = parser.parse_args()[0]
+
+ if not options.cachedir:
+ raise Exception("Missing option: --cachedir")
+ options.cachedir = _get_cachedir(options.cachedir)
+
+ return options
+
+
+def _get_cachedir(path, create_if_not_exists=True):
+ cachedir_path = os.path.join(path, ".javapackages_cache")
+ if not os.path.exists(cachedir_path) and create_if_not_exists:
+ os.makedirs(cachedir_path)
+ return cachedir_path
9 years, 7 months
[javapackages] Pass %{?scl} into the OSGi RPM generators
by Michal Srb
commit c5c85c5fc952684e460f8fab26af470b42a365f6
Author: Michal Srb <msrb(a)redhat.com>
Date: Fri Nov 28 10:19:20 2014 +0100
Pass %{?scl} into the OSGi RPM generators
depgenerators/fileattrs/osgi.attr | 4 ++--
depgenerators/osgi.prov | 5 ++++-
depgenerators/osgi.req | 5 ++++-
3 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/depgenerators/fileattrs/osgi.attr b/depgenerators/fileattrs/osgi.attr
index 6d8860a..4a2c176 100644
--- a/depgenerators/fileattrs/osgi.attr
+++ b/depgenerators/fileattrs/osgi.attr
@@ -1,5 +1,5 @@
%__osgi_provides %{_rpmconfigdir}/osgi.prov
-%__osgi_provides_opts %{_builddir}/%{?buildsubdir}
+%__osgi_provides_opts %{_builddir}/%{?buildsubdir} %{?scl}
%__osgi_requires %{_rpmconfigdir}/osgi.req
-%__osgi_requires_opts %{_builddir}/%{?buildsubdir}
+%__osgi_requires_opts %{_builddir}/%{?buildsubdir} %{?scl}
%__osgi_path ^(.*\\.jar|((%{_prefix}/lib(64)?|%{_datadir})/.*/META-INF/MANIFEST.MF))$
diff --git a/depgenerators/osgi.prov b/depgenerators/osgi.prov
index c729f47..a31a2dd 100755
--- a/depgenerators/osgi.prov
+++ b/depgenerators/osgi.prov
@@ -48,7 +48,7 @@ class TagBuilder(object):
if filelist == None:
filelist = sys.stdin
paths = [x.rstrip() for x in filelist.readlines()]
- cache = OSGiCache(_cachedir)
+ cache = OSGiCache(_cachedir, scl=_scl)
provides = []
for path in paths:
@@ -77,6 +77,9 @@ if __name__ == "__main__":
_cachedir = get_cachedir(sys.argv[1])
else:
raise Exception("Missing param: cachedir")
+ _scl = None
+ if len(sys.argv) > 2:
+ _scl = sys.argv[2]
init_logging()
builder = TagBuilder()
except Exception:
diff --git a/depgenerators/osgi.req b/depgenerators/osgi.req
index 181aac2..451b8bd 100755
--- a/depgenerators/osgi.req
+++ b/depgenerators/osgi.req
@@ -51,7 +51,7 @@ class TagBuilder(object):
filelist = sys.stdin
paths = [x.rstrip() for x in filelist.readlines()]
- cache = OSGiCache(_cachedir)
+ cache = OSGiCache(_cachedir, scl=_scl)
requires = []
for path in paths:
@@ -86,6 +86,9 @@ if __name__ == "__main__":
_cachedir = get_cachedir(sys.argv[1])
else:
raise Exception("Missing param: cachedir")
+ _scl = None
+ if len(sys.argv) > 2:
+ _scl = sys.argv[2]
init_logging()
builder = TagBuilder()
except Exception:
9 years, 7 months