def install_css_validator_in_release_area(self, log): jar_dir = os.path.join(self._release_area, self._css_validator_path) release.clean_dir(self._env, jar_dir) in_jar_dir = release.CwdEnv(self._env, jar_dir) in_jar_dir.cmd([ "wget", "http://www.w3.org/QA/Tools/css-validator/css-validator.jar"]) in_jar_dir.cmd(["wget", "http://jigsaw.w3.org/Distrib/jigsaw_2.2.6.tar.bz2"]) in_jar_dir.cmd(["sh", "-c", "tar xf jigsaw_*.tar.bz2"]) in_jar_dir.cmd(["ln", "-s", "Jigsaw/classes/jigsaw.jar"])
def easy_install(self, log): release.clean_dir(self._env, self._install_dir) check_not_installed(self._install_dir_on_pythonpath, self._python) output = release.get_cmd_stdout( self._install_dir_on_pythonpath, self._easy_install_cmd + ["-d", self._install_dir, self._project_name]) # easy_install doesn't fail properly :-( if "SyntaxError" in output: raise Exception(output) check_version_equals(self._install_dir_on_pythonpath, self._expected_version, self._python)
def copy_test_dependencies(self, log): # so test.py can be run without the mechanize alongside it being on # sys.path # TODO: move mechanize package into a top-level directory, so it's not # automatically on sys.path def copy_in(src): self._env.cmd(["cp", "-r", src, self._test_deps_dir]) release.clean_dir(self._env, self._test_deps_dir) copy_in(os.path.join(self._repo_path, "test.py")) copy_in(os.path.join(self._repo_path, "test")) copy_in(os.path.join(self._repo_path, "test-tools")) copy_in(os.path.join(self._repo_path, "examples"))
def fetch_zope_testbrowser(self, log): release.clean_dir(self._env, self._zope_testbrowser_dir) in_testbrowser = release.CwdEnv(self._env, self._zope_testbrowser_dir) in_testbrowser.cmd(["easy_install", "--editable", "--build-directory", ".", "zope.testbrowser[test]"]) in_testbrowser.cmd( ["virtualenv", "--no-site-packages", "zope.testbrowser"]) project_dir = os.path.join(self._zope_testbrowser_dir, "zope.testbrowser") in_project_dir = clean_environ_env( release.CwdEnv(self._env, project_dir)) check_not_installed(in_project_dir, "bin/python") in_project_dir.cmd( ["sed", "-i", "-e", "s/mechanize[^\"']*/mechanize/", "setup.py"]) in_project_dir.cmd(["bin/easy_install", "zc.buildout"]) in_project_dir.cmd(["bin/buildout", "init"]) [mechanize_tarball] = list(d for d in self._source_distributions if d.endswith(".tar.gz")) tarball_path = os.path.join(self._repo_path, "dist", mechanize_tarball) in_project_dir.cmd(["bin/easy_install", tarball_path]) in_project_dir.cmd(["bin/buildout", "install"])
def clean_most(self, log): # not dependencies installed in release area (css validator) release.clean_dir(self._env, self._release_dir)
def clean(self, log): release.clean_dir(self._env, self._release_area)
def destroy(self, log): release.clean_dir(self._base_env, self._release_dir)