diff options
author | Samson <16504129+sagudev@users.noreply.github.com> | 2023-12-01 16:50:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-01 15:50:52 +0000 |
commit | 604979e367faa6aa09805e8fa0223b8883ea009d (patch) | |
tree | b61c5ffefbd4c43aa3e81bd89b70dad41d7c2626 /python/servo | |
parent | 20a73721de2f1a8a0b29905617783148bd3cfaff (diff) | |
download | servo-604979e367faa6aa09805e8fa0223b8883ea009d.tar.gz servo-604979e367faa6aa09805e8fa0223b8883ea009d.zip |
Replace script_plugins with a clippy like rustc driver (named crown) (#30508)
* Remove script_plugins
* Use crown instead of script_plugins
* crown_is_not_used
* Use crown in command base
* bootstrap crown
* tidy happy
* disable sccache
* Bring crown in tree
* Install crown from tree
* fix windows ci
* fix warning
* fix mac
libscript_plugins.dylib is not available anymore
* Update components/script/lib.rs
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Update for nightly-2023-03-18
Mostly just based off https://github.com/servo/servo/pull/30630
* Always install crown
it's slow only when there is new version
* Run crown test with `mach test-unit`
* Small fixups; better trace_in_no_trace tests
* Better doc
* crown in config.toml
* Fix tidy for real
* no sccache on rustc_wrapper
* document rustc overrides
* fixup of compiletest
* Make a few minor comment adjustments
* Fix a typo in python/servo/platform/base.py
Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
* Proper test types
* Ignore tidy on crown/tests
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'python/servo')
-rw-r--r-- | python/servo/platform/base.py | 13 | ||||
-rw-r--r-- | python/servo/testing_commands.py | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/python/servo/platform/base.py b/python/servo/platform/base.py index d3d03cf80ef..e8a62400bd9 100644 --- a/python/servo/platform/base.py +++ b/python/servo/platform/base.py @@ -97,6 +97,7 @@ class Base: def bootstrap(self, force: bool): installed_something = self._platform_bootstrap(force) installed_something |= self.install_taplo(force) + installed_something |= self.install_crown(force) if not installed_something: print("Dependencies were already installed!") @@ -110,6 +111,18 @@ class Base: return True + def install_crown(self, force: bool) -> bool: + # We need to override the rustc set in cargo/config.toml because crown + # may not be installed yet. + env = dict(os.environ) + env["CARGO_BUILD_RUSTC"] = "rustc" + + if subprocess.call(["cargo", "install", "--path", "support/crown"], + stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env) != 0: + raise EnvironmentError("Installation of crown failed.") + + return True + def passive_bootstrap(self) -> bool: """A bootstrap method that is called without explicitly invoking `./mach bootstrap` but that is executed in the process of other `./mach` commands. This should be diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py index 06272f555b4..4cbae6acd80 100644 --- a/python/servo/testing_commands.py +++ b/python/servo/testing_commands.py @@ -218,6 +218,7 @@ class MachCommands(CommandBase): "script_traits", "servo_config", "servo_remutex", + "crown", ] if not packages: packages = set(os.listdir(path.join(self.context.topdir, "tests", "unit"))) - set(['.DS_Store']) |