Commit b97dccfb authored by Taylor Otwell's avatar Taylor Otwell

attempt to clean up working directory after bundle install.

parent e0c84a94
......@@ -23,7 +23,7 @@ abstract class Provider {
{
// When installing a bundle from a Zip archive, we'll first clone
// down the bundle zip into the bundles "working" directory so
// we have a spot to do all of our bundle extrations.
// we have a spot to do all of our bundle extration work.
$target = path('storage').'work/laravel-bundle.zip';
File::put($target, file_get_contents($url));
......@@ -46,6 +46,8 @@ abstract class Provider {
$path = $this->path($bundle);
File::cpdir($latest->getRealPath(), path('bundle').$path);
@unlink($target);
}
/**
......
<?php namespace Laravel; use Closure, FilesystemIterator;
<?php namespace Laravel; use Closure, FilesystemIterator as fIterator;
class File {
......@@ -174,15 +174,29 @@ class File {
return false;
}
/**
* Move a directory from one location to another.
*
* @param string $source
* @param string $destination
* @param int $options
* @return void
*/
public static function mvdir($source, $destination, $options = fIterator::SKIP_DOTS)
{
static::cpdir($source, $destination, true, $options);
}
/**
* Recursively copy directory contents to another directory.
*
* @param string $source
* @param string $destination
* @param bool $delete
* @param int $options
* @return void
*/
public static function cpdir($source, $destination, $delete = false)
public static function cpdir($source, $destination, $delete = false, $options = fIterator::SKIP_DOTS)
{
if ( ! is_dir($source)) return;
......@@ -194,7 +208,7 @@ class File {
mkdir($destination, 0777, true);
}
$items = new FilesystemIterator($source, FilesystemIterator::SKIP_DOTS);
$items = new fIterator($source, $options);
foreach ($items as $item)
{
......@@ -210,7 +224,7 @@ class File {
static::cpdir($path, $location);
if ($delete) rmdir($item->getRealPath());
if ($delete) @rmdir($item->getRealPath());
}
// If the file system item is an actual file, we can copy the
// file from the bundle asset directory to the public asset
......@@ -220,7 +234,7 @@ class File {
{
copy($item->getRealPath(), $location);
if ($delete) unlink($item->getRealPath());
if ($delete) @unlink($item->getRealPath());
}
}
......@@ -231,13 +245,14 @@ class File {
* Get the most recently modified file in a directory.
*
* @param string $directory
* @param int $options
* @return SplFileInfo
*/
public static function latest($directory)
public static function latest($directory, $options = fIterator::SKIP_DOTS)
{
$time = 0;
$items = new FilesystemIterator($directory, FilesystemIterator::SKIP_DOTS);
$items = new fIterator($directory, $options);
// To get the latest created file, we'll simply spin through the
// directory, setting the latest file if we encounter a file
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment