From 75d0921c9f163c7eb903b986805eada23f01d981 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Wed, 2 Oct 2024 23:42:31 +0200 Subject: [PATCH] Drop request-artifact.py script Closes #107 --- install | 1 - java-utils/mvn_build.py | 7 --- java-utils/request-artifact.py | 54 ----------------- python/javapackages/common/mock.py | 75 ----------------------- test/pm_request_test.py | 95 ------------------------------ 5 files changed, 232 deletions(-) delete mode 100644 java-utils/request-artifact.py delete mode 100644 python/javapackages/common/mock.py delete mode 100644 test/pm_request_test.py diff --git a/install b/install index 84a34cf1..9746249b 100755 --- a/install +++ b/install @@ -157,7 +157,6 @@ inst_exec target/xmvn-builddep "${bindir}" link "${bindir}/abs2rel" "${javadir}-utils/abs2rel.sh" inst_data java-utils/pom_editor.py "${javadir}-utils" -inst_data java-utils/request-artifact.py "${javadir}-utils" inst_data java-utils/builddep.py "${javadir}-utils" inst_data java-utils/mvn_alias.py "${javadir}-utils" inst_data java-utils/mvn_artifact.py "${javadir}-utils" diff --git a/java-utils/mvn_build.py b/java-utils/mvn_build.py index 3d6d3955..41f1b08d 100644 --- a/java-utils/mvn_build.py +++ b/java-utils/mvn_build.py @@ -41,7 +41,6 @@ from javapackages.maven.artifact import Artifact from javapackages.xmvn.xmvn_config import XMvnConfig from javapackages.common.util import command_exists -from javapackages.common.mock import socket_path as mock_socket def goal_callback(option, opt_str, value, parser): @@ -140,12 +139,6 @@ def goal_callback(option, opt_str, value, parser): else: base_goal = "package" - if mock_socket and os.path.exists(mock_socket): - interpreter = sys.executable - java_utils = os.path.dirname(os.path.abspath(__file__)) - cmd = "%s %s/request-artifact.py" % (interpreter, java_utils) - mvn_args.append("-Dxmvn.resolver.requestArtifactCmd='%s'" % cmd) - mvn_args.extend(args) if options.goal_before: diff --git a/java-utils/request-artifact.py b/java-utils/request-artifact.py deleted file mode 100644 index 3597635e..00000000 --- a/java-utils/request-artifact.py +++ /dev/null @@ -1,54 +0,0 @@ -# -# Copyright (c) 2015, Red Hat, Inc. -# -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the -# distribution. -# 3. Neither the name of the Red Hat nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# Authors: Michael Simacek - -import sys - -from javapackages.common.mock import (InstallationException, ConnectionException, - install_maven_artifact) - -if __name__ == '__main__': - if len(sys.argv) != 3: - print("Usage: artifact-type artifact-coordinates", file=sys.stderr) - sys.exit(1) - try: - if sys.argv[1] == 'maven': - install_maven_artifact(sys.argv[2]) - else: - print("Unsupported artifact type", file=sys.stderr) - sys.exit(1) - except InstallationException as e: - print("Cannot install {dep}".format(dep=e.dep), file=sys.stderr) - print(e.out, file=sys.stderr) - sys.exit(2) - except ConnectionException: - sys.exit(3) diff --git a/python/javapackages/common/mock.py b/python/javapackages/common/mock.py deleted file mode 100644 index 8ba01b4e..00000000 --- a/python/javapackages/common/mock.py +++ /dev/null @@ -1,75 +0,0 @@ -# -# Copyright (c) 2015, Red Hat, Inc. -# -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the -# distribution. -# 3. Neither the name of the Red Hat nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# Authors: Michael Simacek - -import os -import socket - -from javapackages.common.exception import JavaPackagesToolsException -from javapackages.maven.artifact import Artifact - -socket_path = os.environ.get('PM_REQUEST_SOCKET') - -class InstallationException(JavaPackagesToolsException): - def __init__(self, dep, out): - super(InstallationException, self).__init__() - self.dep = dep - self.out = out - -class ConnectionException(JavaPackagesToolsException): - pass - -def install_artifact(dep): - if not socket_path: - raise ConnectionException("PM_REQUEST_SOCKET environment variable not set") - sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - try: - sock.connect(socket_path) - sock.sendall("install '{0}'\n".format(dep).encode()) - fo = sock.makefile() - status = fo.readline() - out = fo.read() - if status != 'ok\n': - raise InstallationException(dep, out) - except socket.error as e: - raise ConnectionException(str(e)) - finally: - sock.close() - -def install_maven_artifact(artifact_spec): - artifact = Artifact.from_mvn_str(artifact_spec) - try: - install_artifact(artifact.get_rpm_str(compat_ver=artifact.version)) - except InstallationException: - if not artifact.version: - raise - install_artifact(artifact.get_rpm_str()) diff --git a/test/pm_request_test.py b/test/pm_request_test.py deleted file mode 100644 index 256ab56f..00000000 --- a/test/pm_request_test.py +++ /dev/null @@ -1,95 +0,0 @@ -import unittest -import socket - -from test_common import * - - -class PmRequestTest(unittest.TestCase): - - def setUp(self): - self.sock_path = "/tmp/test_pm_request_socket" - self.env = {'PM_REQUEST_SOCKET': self.sock_path} - - self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - self.sock.bind(self.sock_path) - self.sock.listen(1) - - self.scriptpath = path.join(DIRPATH, '..', 'java-utils', 'request-artifact.py') - - def test_ok(self): - (out, err, proc) = call_script(self.scriptpath, - ['maven', 'junit:junit'], - extra_env=self.env, wait=False) - conn, _ = self.sock.accept() - request = conn.makefile().readline().rstrip() - self.assertEqual(request, "install 'mvn(junit:junit)'") - conn.sendall(b"ok\n") - conn.close() - ret = proc.wait() - self.assertEqual(ret, 0) - - def test_nok(self): - (out, err, proc) = call_script(self.scriptpath, - ['maven', 'junit:junit'], - extra_env=self.env, wait=False) - conn, _ = self.sock.accept() - request = conn.makefile().readline().rstrip() - self.assertEqual(request, "install 'mvn(junit:junit)'") - conn.sendall(b"nok\n") - conn.close() - ret = proc.wait() - self.assertEqual(ret, 2) - - def test_jar(self): - (out, err, proc) = call_script(self.scriptpath, - ['maven', 'gid:aid:jar::'], - extra_env=self.env, wait=False) - conn, _ = self.sock.accept() - request = conn.makefile().readline().rstrip() - self.assertEqual(request, "install 'mvn(gid:aid)'") - conn.sendall(b"ok\n") - conn.close() - ret = proc.wait() - self.assertEqual(ret, 0) - - def test_full_coords(self): - (out, err, proc) = call_script(self.scriptpath, - ['maven', 'gid:aid:ext:cla:ver'], - extra_env=self.env, wait=False) - conn, _ = self.sock.accept() - request = conn.makefile().readline().rstrip() - self.assertEqual(request, "install 'mvn(gid:aid:ext:cla:ver)'") - conn.sendall(b"ok\n") - conn.close() - ret = proc.wait() - self.assertEqual(ret, 0) - - def test_connection_error(self): - (out, err, proc) = call_script(self.scriptpath, - ['maven', 'junit:junit'], - extra_env=self.env, wait=False) - conn, _ = self.sock.accept() - conn.close() - ret = proc.wait() - self.assertEqual(ret, 3) - - def test_unsupported_type(self): - (out, err, ret) = call_script(self.scriptpath, - ['foobar', 'coords']) - self.assertEqual(ret, 1) - self.assertEqual(err.rstrip(), "Unsupported artifact type") - - def test_usage(self): - (out, err, ret) = call_script(self.scriptpath, []) - self.assertEqual(ret, 1) - self.assertEqual(err.rstrip(), "Usage: artifact-type artifact-coordinates") - - def tearDown(self): - try: - os.unlink(self.sock_path) - except: - pass - - -if __name__ == '__main__': - unittest.main()