set -e
mkdir -p src
rsync -Ert --inplace --no-whole-file --delete upstream/ash/ash/src/. src/ash
find src/ash -name \*.rs \
-exec sed -i \
-e 's/crate::/crate::ash::/g' \
-e 's/ ash::/ ash_tray::ash::/g' \
-e 's/debug_marker_fn: debug_marker_fn/debug_marker_fn/g' \
-e 's/swapchain_fn: swapchain_fn/swapchain_fn/g' \
-e 's/\([^_]\)surface_fn: surface_fn/\1surface_fn/g' \
-e 's/const LIB_PATH: &'\''static /const LIB_PATH: \&/' \
-e 's/result.len() == 0/result.is_empty()/g' \
-e 's/result.len() > 0/!result.is_empty()/g' \
-e 's/\*p_ptr == null_mut()/p_ptr.is_null()/' \
-e 's/|dl| Arc::new(dl)/Arc::new/g' \
{} \+
ed src/ash/lib.rs <<'EOF'
/extern crate ash
-1
d
d
i
//! use ash_tray::vk_make_version;
.
wq
EOF
ed src/ash/vk.rs <<'EOF'
/use std::ptr::null_mut;
d
wq
EOF
ed src/ash/entry.rs <<'EOF'
/extern crate ash
-1
d
d
i
/// use ash_tray::vk_make_version;
.
/extern crate ash
-1
d
d
i
/// use ash_tray::{vk_version_major,vk_version_minor,vk_version_patch};
.
wq
EOF
mv src/ash/lib.rs src/ash.rs
cargo fmt --all
cargo fmt --all
cargo test --verbose