commit 48a6a381c6d0206e78d04a7b9b71a04bf6f76d56 Author: Michal Srb msrb@redhat.com Date: Wed Feb 4 22:10:48 2015 +0100
Prevent user errors from being handled by ABRT
java-utils/builddep.py | 3 +++ java-utils/maven_depmap.py | 20 ++++++++++++++------ java-utils/mvn_alias.py | 3 +++ java-utils/mvn_artifact.py | 23 +++++++++++++---------- java-utils/mvn_compat_version.py | 3 +++ java-utils/mvn_config.py | 6 +++++- java-utils/mvn_file.py | 3 +++ java-utils/mvn_package.py | 3 +++ java-utils/pom_editor.py | 8 ++++++-- python/javapackages/common/config.py | 3 ++- python/javapackages/common/manifest.py | 7 ++++++- python/javapackages/common/osgi.py | 4 ++-- python/javapackages/common/util.py | 5 +++-- python/javapackages/maven/artifact.py | 7 ++++--- python/javapackages/maven/pomreader.py | 3 ++- python/javapackages/metadata/metadata.py | 5 +++-- 16 files changed, 75 insertions(+), 31 deletions(-) --- diff --git a/java-utils/builddep.py b/java-utils/builddep.py index 8a2bb13..2d41dee 100644 --- a/java-utils/builddep.py +++ b/java-utils/builddep.py @@ -36,6 +36,7 @@ import sys from javapackages.maven.artifact import (Artifact, ArtifactFormatException, ArtifactValidationException) from javapackages.common.util import args_to_unicode +from javapackages.common.exception import JavaPackagesToolsException
from lxml import etree
@@ -68,3 +69,5 @@ if __name__ == "__main__": parser.error("{e}: Provided artifact strings were invalid. " "Please see help and check your arguments".format(e=e)) sys.exit(1) + except JavaPackagesToolsException as e: + sys.exit(e) diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py index 9a25211..c2d607f 100644 --- a/java-utils/maven_depmap.py +++ b/java-utils/maven_depmap.py @@ -52,26 +52,27 @@ from javapackages.metadata.alias import MetadataAlias
import javapackages.metadata.pyxbmetadata as m import javapackages.common.util as util +from javapackages.common.exception import JavaPackagesToolsException import pyxb
-class PackagingTypeMissingFile(Exception): +class PackagingTypeMissingFile(JavaPackagesToolsException): def __init__(self, pom_path): self.args=("Packaging type is not 'pom' and no artifact path has been provided for POM %s" % pom_path,)
-class IncompatibleFilenames(Exception): +class IncompatibleFilenames(JavaPackagesToolsException): def __init__(self, pom_path, jar_path): self.args=("Filenames of POM %s and JAR %s does not match properly. Check that JAR subdirectories matches '.' in pom name." % (pom_path, jar_path),)
-class ExtensionsDontMatch(Exception): +class ExtensionsDontMatch(JavaPackagesToolsException): def __init__(self, coordinates_ext, file_ext): self.args=("Extensions don't match: '%s' != '%s'" % (coordinates_ext, file_ext),)
-class MissingJarFile(Exception): +class MissingJarFile(JavaPackagesToolsException): def __init__(self): self.args=("JAR seems to be missing in standard directories. Make sure you have installed it",)
-class UnknownFileExtension(Exception): +class UnknownFileExtension(JavaPackagesToolsException): def __init__(self, jar_path): self.args=("Unknown file extension: %s" % (jar_path),)
@@ -202,8 +203,8 @@ def write_metadata(metadata_file, artifacts): with open(metadata_file, 'w') as f: util.write_metadata(f, root)
-if __name__ == "__main__":
+def _main(): usage="usage: %prog [options] metadata_path pom_path|<MVN spec> [jar_path]" parser = OptionParser(usage=usage) parser.add_option("-a","--append",type="str", @@ -305,3 +306,10 @@ if __name__ == "__main__": print(pom_path)
write_metadata(metadata_path, am) + + +if __name__ == "__main__": + try: + _main() + except JavaPackagesToolsException as e: + sys.exit(e) diff --git a/java-utils/mvn_alias.py b/java-utils/mvn_alias.py index 105e3f3..31e251f 100644 --- a/java-utils/mvn_alias.py +++ b/java-utils/mvn_alias.py @@ -37,6 +37,7 @@ from javapackages.maven.artifact import (Artifact, ArtifactFormatException, ArtifactValidationException) from javapackages.xmvn.xmvn_config import XMvnConfig from javapackages.common.util import args_to_unicode +from javapackages.common.exception import JavaPackagesToolsException
class SaneParser(optparse.OptionParser): @@ -81,3 +82,5 @@ if __name__ == "__main__": parser.error("{e}: Provided artifact strings were invalid. " "Please see help and check your arguments".format(e=e)) sys.exit(1) + except JavaPackagesToolsException as e: + sys.exit(e) diff --git a/java-utils/mvn_artifact.py b/java-utils/mvn_artifact.py index df28d00..85ca4b1 100644 --- a/java-utils/mvn_artifact.py +++ b/java-utils/mvn_artifact.py @@ -41,8 +41,9 @@ from javapackages.maven.artifact import Artifact, ArtifactFormatException from javapackages.maven.pom import POM, PomLoadingException from javapackages.ivy.ivyfile import IvyFile
-from javapackages.xmvn.xmvn_resolve import XMvnResolve, ResolutionResult, ResolutionRequest +from javapackages.xmvn.xmvn_resolve import XMvnResolve, ResolutionResult, ResolutionRequest, XMvnResolveException from javapackages.common.util import args_to_unicode, write_metadata +from javapackages.common.exception import JavaPackagesToolsException
import sys import os @@ -80,11 +81,7 @@ Path where Artifact file (usually JAR) is located. config = ".xmvn-reactor"
-class ExtensionsDontMatch(Exception): - pass - - -class UnknownVersion(Exception): +class ExtensionsDontMatch(JavaPackagesToolsException): pass
@@ -105,9 +102,9 @@ def get_parent_pom(pom): extension="pom", version=pom.version) result = XMvnResolve.process_raw_request([req])[0] if not result: - raise Exception("Unable to resolve parent POM {g}:{a}:{e}:{v}" - .format(g=pom.groupId, a=pom.artifactId, e="pom", - v=pom.version)) + raise XMvnResolveException("Unable to resolve parent POM {g}:{a}:{e}:{v}" + .format(g=pom.groupId, a=pom.artifactId, + e="pom", v=pom.version))
return POM(result.artifactPath)
@@ -240,7 +237,7 @@ def _get_dependencies(pom): return deps, depm, props
-if __name__ == "__main__": +def _main(): OptionParser.format_epilog = lambda self, formatter: self.epilog parser = OptionParser(usage=usage, epilog=epilog) @@ -317,3 +314,9 @@ if __name__ == "__main__":
with open(config, 'w') as f: write_metadata(f, metadata) + +if __name__ == "__main__": + try: + _main() + except JavaPackagesToolsException as e: + sys.exit(e) diff --git a/java-utils/mvn_compat_version.py b/java-utils/mvn_compat_version.py index 2614a00..f80e923 100644 --- a/java-utils/mvn_compat_version.py +++ b/java-utils/mvn_compat_version.py @@ -37,6 +37,7 @@ from javapackages.maven.artifact import (Artifact, ArtifactFormatException, ArtifactValidationException) from javapackages.xmvn.xmvn_config import XMvnConfig from javapackages.common.util import args_to_unicode +from javapackages.common.exception import JavaPackagesToolsException
class SaneParser(optparse.OptionParser): @@ -77,3 +78,5 @@ if __name__ == "__main__": parser.error("{e}: Provided artifact strings were invalid. " "Please see help and check your arguments".format(e=e)) sys.exit(1) + except JavaPackagesToolsException as e: + sys.exit(e) diff --git a/java-utils/mvn_config.py b/java-utils/mvn_config.py index 0480a68..4222613 100644 --- a/java-utils/mvn_config.py +++ b/java-utils/mvn_config.py @@ -35,6 +35,7 @@ import optparse
from javapackages.xmvn.xmvn_config import XMvnConfig from javapackages.common.util import args_to_unicode +from javapackages.common.exception import JavaPackagesToolsException
class SaneParser(optparse.OptionParser): @@ -65,4 +66,7 @@ if __name__ == "__main__": if len(args) != 2: parser.error("Exactly 2 arguments are required")
- XMvnConfig().add_custom_option(args[0], args[1]) + try: + XMvnConfig().add_custom_option(args[0], args[1]) + except JavaPackagesToolsException as e: + sys.exit(e) diff --git a/java-utils/mvn_file.py b/java-utils/mvn_file.py index 4f36161..4fe4870 100644 --- a/java-utils/mvn_file.py +++ b/java-utils/mvn_file.py @@ -37,6 +37,7 @@ from javapackages.maven.artifact import (Artifact, ArtifactFormatException, ArtifactValidationException) from javapackages.xmvn.xmvn_config import XMvnConfig, XMvnConfigException from javapackages.common.util import args_to_unicode +from javapackages.common.exception import JavaPackagesToolsException
class SaneParser(optparse.OptionParser): @@ -80,3 +81,5 @@ if __name__ == "__main__": except XMvnConfigException as e: parser.error("Incorrect configuration: {e}".format(e=e)) sys.exit(1) + except JavaPackagesToolsException as e: + sys.exit(e) diff --git a/java-utils/mvn_package.py b/java-utils/mvn_package.py index 8312b29..2a657cf 100644 --- a/java-utils/mvn_package.py +++ b/java-utils/mvn_package.py @@ -37,6 +37,7 @@ from javapackages.maven.artifact import (Artifact, ArtifactFormatException, ArtifactValidationException) from javapackages.xmvn.xmvn_config import XMvnConfig from javapackages.common.util import args_to_unicode +from javapackages.common.exception import JavaPackagesToolsException
class SaneParser(optparse.OptionParser): @@ -81,3 +82,5 @@ if __name__ == "__main__": parser.error("{e}: Provided artifact strings were invalid. " "Please see help and check your arguments".format(e=e)) sys.exit(1) + except JavaPackagesToolsException as e: + sys.exit(e) diff --git a/java-utils/pom_editor.py b/java-utils/pom_editor.py index b98a2f4..1c30878 100644 --- a/java-utils/pom_editor.py +++ b/java-utils/pom_editor.py @@ -12,6 +12,7 @@ import io from lxml import etree from os import path from textwrap import dedent +from javapackages.common.exception import JavaPackagesToolsException
# all macro fuctions that can be called from external world macros = {} @@ -29,7 +30,7 @@ def annotate(elements): return elements return [begin_comment] + elements + [end_comment]
-class PomException(Exception): +class PomException(JavaPackagesToolsException): pass class PomQueryNoMatch(PomException): pass @@ -620,4 +621,7 @@ if __name__ == '__main__': file=sys.stderr) sys.exit(1)
- macros[sys.argv[1]](*sys.argv[2:]) + try: + macros[sys.argv[1]](*sys.argv[2:]) + except JavaPackagesToolsException as e: + sys.exit(e) diff --git a/python/javapackages/common/config.py b/python/javapackages/common/config.py index b6b5949..3d92297 100644 --- a/python/javapackages/common/config.py +++ b/python/javapackages/common/config.py @@ -33,6 +33,7 @@
import os import json +from javapackages.common.exception import JavaPackagesToolsException
metadata_cache_f = "metadata.cache" osgi_cache_f = "osgi.cache" @@ -62,5 +63,5 @@ def get_buildroot(): try: buildroot = os.environ['RPM_BUILD_ROOT'] except KeyError: - raise Exception("RPM_BUILD_ROOT environment variable is not set") + raise JavaPackagesToolsException("RPM_BUILD_ROOT environment variable is not set") return os.path.abspath(buildroot) diff --git a/python/javapackages/common/manifest.py b/python/javapackages/common/manifest.py index 99a6853..83265a6 100644 --- a/python/javapackages/common/manifest.py +++ b/python/javapackages/common/manifest.py @@ -34,6 +34,11 @@
import zipfile from zipfile import ZipFile +from javapackages.common.exception import JavaPackagesToolsException + + +class ManifestException(JavaPackagesToolsException): + pass
class Manifest(object): @@ -43,7 +48,7 @@ class Manifest(object): self._manifest = self._read_manifest()
if self._manifest is None: - raise IOError("Unable to open MANIFEST.MF in {path}".format(path=self._path)) + raise ManifestException("Unable to open MANIFEST.MF in {path}".format(path=self._path))
def _read_manifest(self): mf = None diff --git a/python/javapackages/common/osgi.py b/python/javapackages/common/osgi.py index 760c587..9ea5eb0 100644 --- a/python/javapackages/common/osgi.py +++ b/python/javapackages/common/osgi.py @@ -34,7 +34,7 @@
import re
-from javapackages.common.manifest import Manifest +from javapackages.common.manifest import Manifest, ManifestException from javapackages.common.util import sanitize_version
@@ -130,7 +130,7 @@ class OSGiBundle(object): def from_manifest(cls, path): try: manifest = Manifest(path) - except IOError: + except ManifestException: return None bundle, version = manifest.get_provides() requires = [] diff --git a/python/javapackages/common/util.py b/python/javapackages/common/util.py index 4ad5474..f15671c 100644 --- a/python/javapackages/common/util.py +++ b/python/javapackages/common/util.py @@ -38,6 +38,7 @@ import pyxb.utils.six as six import subprocess import logging from optparse import OptionParser +from javapackages.common.exception import JavaPackagesToolsException
def kill_parent_process(rpmconf): @@ -103,11 +104,11 @@ def _parse_rpmgen_args(argv): options = _parse_argv(argv)[0]
if not options.cachedir: - raise Exception("Missing option: --cachedir") + raise JavaPackagesToolsException("Missing option: --cachedir") options.cachedir = _get_cachedir(options.cachedir)
if not options.rpm_pid: - raise Exception("Missing option: --rpm-pid") + raise JavaPackagesToolsException("Missing option: --rpm-pid") options.rpm_pid = int(options.rpm_pid)
return options diff --git a/python/javapackages/maven/artifact.py b/python/javapackages/maven/artifact.py index 8391b96..2c94679 100644 --- a/python/javapackages/maven/artifact.py +++ b/python/javapackages/maven/artifact.py @@ -38,18 +38,19 @@ import pyxb.utils.six as six
from javapackages.maven.pomreader import POMReader from javapackages.maven.printer import Printer +from javapackages.common.exception import JavaPackagesToolsException from lxml.etree import Element, SubElement, tostring
-class ArtifactException(Exception): +class ArtifactException(JavaPackagesToolsException): pass
-class ArtifactFormatException(Exception): +class ArtifactFormatException(JavaPackagesToolsException): pass
-class ArtifactValidationException(ArtifactException): +class ArtifactValidationException(JavaPackagesToolsException): pass
diff --git a/python/javapackages/maven/pomreader.py b/python/javapackages/maven/pomreader.py index 7cc2310..1d3bc86 100644 --- a/python/javapackages/maven/pomreader.py +++ b/python/javapackages/maven/pomreader.py @@ -32,9 +32,10 @@ # Authors: Michal Srb msrb@redhat.com
from lxml.etree import ElementTree, XMLParser +from javapackages.common.exception import JavaPackagesToolsException
-class PomLoadingException(Exception): +class PomLoadingException(JavaPackagesToolsException): pass
diff --git a/python/javapackages/metadata/metadata.py b/python/javapackages/metadata/metadata.py index 38dc3f2..39329d2 100644 --- a/python/javapackages/metadata/metadata.py +++ b/python/javapackages/metadata/metadata.py @@ -41,16 +41,17 @@ import xml from javapackages.metadata.artifact import MetadataArtifact from javapackages.metadata.dependency import MetadataDependency from javapackages.metadata.skippedartifact import MetadataSkippedArtifact +from javapackages.common.exception import JavaPackagesToolsException import javapackages.metadata.pyxbmetadata as m
import pyxb
-class MetadataLoadingException(Exception): +class MetadataLoadingException(JavaPackagesToolsException): pass
-class MetadataInvalidException(Exception): +class MetadataInvalidException(JavaPackagesToolsException): pass
java-sig-commits@lists.fedoraproject.org