diff --git a/.gitignore b/.gitignore index d5416de80679..35b7815ab7e3 100644 --- a/.gitignore +++ b/.gitignore @@ -23,7 +23,6 @@ Servo.app .config.mk.last /glfw capture_webrender/ -/components/compositing/webrender_revision.rs # Editors diff --git a/components/compositing/build.rs b/components/compositing/build.rs index d5c18728dc9e..db081f795add 100644 --- a/components/compositing/build.rs +++ b/components/compositing/build.rs @@ -7,27 +7,11 @@ extern crate toml; use std::env; use std::fs::File; use std::io::{Read, Write}; - -const WEBRENDER_REVISION_TEMPLATE: &'static str = -"/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/// auto-generated by cargo. do not manually modify. -pub const REVISION: &'static str = "; +use std::path::Path; fn main() { - let current_path = env::current_dir().expect("Failed to access path to lockfile"); - let lockfile_path = current_path.join("..").join("..").join("Cargo.lock"); - let revision_file_path = current_path.join("webrender_revision.rs"); - - let mut existing_revision_exported = String::new(); - match File::open(&revision_file_path) { - Ok(mut f) => { - f.read_to_string(&mut existing_revision_exported).unwrap_or_default(); - }, - Err(_) => () - } + let lockfile_path = Path::new(&env::var("CARGO_MANIFEST_DIR").unwrap()).join("..").join("..").join("Cargo.lock"); + let revision_file_path = Path::new(&env::var_os("OUT_DIR").unwrap()).join("webrender_revision.rs"); let mut lockfile = String::new(); File::open(lockfile_path).expect("Cannot open lockfile") @@ -49,13 +33,8 @@ fn main() { let parsed: Vec<&str> = source.split("#").collect(); let revision = if parsed.len() > 1 { parsed[1] } else { source }; - if let Some(_) = existing_revision_exported.find(revision) { - return - } - - let revision_contents = format!("{}\"{}\";", WEBRENDER_REVISION_TEMPLATE, revision); let mut revision_module_file = File::create(&revision_file_path).unwrap(); - write!(&mut revision_module_file, "{}", revision_contents).unwrap(); + write!(&mut revision_module_file, "{}", format!("\"{}\"", revision)).unwrap(); }, _ => panic!("Cannot find package definitions in lockfile") } diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 4f1575e3b499..8a4b1904a21f 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -37,7 +37,6 @@ use touch::{TouchHandler, TouchAction}; use webrender; use webrender_api::{self, DeviceIntPoint, DevicePoint, DeviceUintRect, DeviceUintSize, HitTestFlags, HitTestResult}; use webrender_api::{LayoutVector2D, ScrollEventPhase, ScrollLocation}; -use webrender_revision::REVISION; use windowing::{self, MouseWindowEvent, WebRenderDebugOption, WindowMethods}; #[derive(Debug, PartialEq)] @@ -1553,7 +1552,8 @@ impl IOCompositor { match File::create(revision_file_path) { Ok(mut file) => { - if let Err(err) = write!(&mut file, "{}", REVISION) { + let revision = include!(concat!(env!("OUT_DIR"), "/webrender_revision.rs")); + if let Err(err) = write!(&mut file, "{}", revision) { println!("Unable to write webrender revision: {:?}", err) } } diff --git a/components/compositing/lib.rs b/components/compositing/lib.rs index 98f1a99a4063..e1a870f96950 100644 --- a/components/compositing/lib.rs +++ b/components/compositing/lib.rs @@ -39,7 +39,6 @@ use style_traits::CSSPixel; mod compositor; pub mod compositor_thread; mod touch; -mod webrender_revision; pub mod windowing; pub struct SendableFrameTree {