Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
media-resource
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨昕
media-resource
Commits
b9674722
Commit
b9674722
authored
Aug 05, 2020
by
杨昕
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add bin
parent
63d8e09a
Pipeline
#10442
passed with stages
in 44 seconds
Changes
3
Pipelines
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
222 additions
and
0 deletions
+222
-0
fswatch
bin/fswatch
+27
-0
inotify
bin/inotify
+29
-0
laravels
bin/laravels
+166
-0
No files found.
bin/fswatch
0 → 100755
View file @
b9674722
#!/usr/bin/env bash
WORK_DIR
=
$1
if
[
!
-n
"
${
WORK_DIR
}
"
]
;
then
WORK_DIR
=
"."
fi
echo
"Restarting LaravelS..."
./bin/laravels restart
-d
-i
echo
"Starting fswatch..."
LOCKING
=
0
fswatch
-e
".*"
-i
"
\\
.php$"
-r
${
WORK_DIR
}
|
while
read
file
do
if
[[
!
${
file
}
=
~ .php
$
]]
;
then
continue
fi
if
[
${
LOCKING
}
-eq
1
]
;
then
echo
"Reloading, skipped."
continue
fi
echo
"File
${
file
}
has been modified."
LOCKING
=
1
./bin/laravels reload
LOCKING
=
0
done
exit
0
\ No newline at end of file
bin/inotify
0 → 100755
View file @
b9674722
#!/usr/bin/env bash
WORK_DIR
=
$1
if
[
!
-n
"
${
WORK_DIR
}
"
]
;
then
WORK_DIR
=
"."
fi
echo
"Restarting LaravelS..."
./bin/laravels restart
-d
-i
echo
"Starting inotifywait..."
LOCKING
=
0
inotifywait
--event
modify
--event
create
--event
move
--event
delete
-mrq
${
WORK_DIR
}
|
while
read
file
do
if
[[
!
${
file
}
=
~ .php
$
]]
;
then
continue
fi
if
[
${
LOCKING
}
-eq
1
]
;
then
echo
"Reloading, skipped."
continue
fi
echo
"File
${
file
}
has been modified."
LOCKING
=
1
./bin/laravels reload
LOCKING
=
0
done
exit
0
\ No newline at end of file
bin/laravels
0 → 100755
View file @
b9674722
#!/usr/bin/env php
<?php
/**
* This autoloader is only used to pull laravel-s.
* Class Psr4Autoloader
*/
class
Psr4Autoloader
{
/**
* An associative array where the key is a namespace prefix and the value
* is an array of base directories for classes in that namespace.
*
* @var array
*/
protected
$prefixes
=
array
();
/**
* Register loader with SPL autoloader stack.
*
* @return void
*/
public
function
register
()
{
spl_autoload_register
(
array
(
$this
,
'loadClass'
));
}
/**
* Adds a base directory for a namespace prefix.
*
* @param string $prefix The namespace prefix.
* @param string $base_dir A base directory for class files in the
* namespace.
* @param bool $prepend If true, prepend the base directory to the stack
* instead of appending it; this causes it to be searched first rather
* than last.
* @return void
*/
public
function
addNamespace
(
$prefix
,
$base_dir
,
$prepend
=
false
)
{
// normalize namespace prefix
$prefix
=
trim
(
$prefix
,
'\\'
)
.
'\\'
;
// normalize the base directory with a trailing separator
$base_dir
=
rtrim
(
$base_dir
,
DIRECTORY_SEPARATOR
)
.
'/'
;
// initialize the namespace prefix array
if
(
isset
(
$this
->
prefixes
[
$prefix
])
===
false
)
{
$this
->
prefixes
[
$prefix
]
=
array
();
}
// retain the base directory for the namespace prefix
if
(
$prepend
)
{
array_unshift
(
$this
->
prefixes
[
$prefix
],
$base_dir
);
}
else
{
array_push
(
$this
->
prefixes
[
$prefix
],
$base_dir
);
}
}
/**
* Loads the class file for a given class name.
*
* @param string $class The fully-qualified class name.
* @return mixed The mapped file name on success, or boolean false on
* failure.
*/
public
function
loadClass
(
$class
)
{
// the current namespace prefix
$prefix
=
$class
;
// work backwards through the namespace names of the fully-qualified
// class name to find a mapped file name
while
(
false
!==
$pos
=
strrpos
(
$prefix
,
'\\'
))
{
// retain the trailing namespace separator in the prefix
$prefix
=
substr
(
$class
,
0
,
$pos
+
1
);
// the rest is the relative class name
$relative_class
=
substr
(
$class
,
$pos
+
1
);
// try to load a mapped file for the prefix and relative class
$mapped_file
=
$this
->
loadMappedFile
(
$prefix
,
$relative_class
);
if
(
$mapped_file
)
{
return
$mapped_file
;
}
// remove the trailing namespace separator for the next iteration
// of strrpos()
$prefix
=
rtrim
(
$prefix
,
'\\'
);
}
// never found a mapped file
return
false
;
}
/**
* Load the mapped file for a namespace prefix and relative class.
*
* @param string $prefix The namespace prefix.
* @param string $relative_class The relative class name.
* @return mixed Boolean false if no mapped file can be loaded, or the
* name of the mapped file that was loaded.
*/
protected
function
loadMappedFile
(
$prefix
,
$relative_class
)
{
// are there any base directories for this namespace prefix?
if
(
isset
(
$this
->
prefixes
[
$prefix
])
===
false
)
{
return
false
;
}
// look through base directories for this namespace prefix
foreach
(
$this
->
prefixes
[
$prefix
]
as
$base_dir
)
{
// replace the namespace prefix with the base directory,
// replace namespace separators with directory separators
// in the relative class name, append with .php
$file
=
$base_dir
.
str_replace
(
'\\'
,
'/'
,
$relative_class
)
.
'.php'
;
// if the mapped file exists, require it
if
(
$this
->
requireFile
(
$file
))
{
// yes, we're done
return
$file
;
}
}
// never found it
return
false
;
}
/**
* If a file exists, require it from the file system.
*
* @param string $file The file to require.
* @return bool True if the file exists, false if not.
*/
protected
function
requireFile
(
$file
)
{
if
(
file_exists
(
$file
))
{
require
$file
;
return
true
;
}
return
false
;
}
}
$basePath
=
realpath
(
__DIR__
.
'/../'
);
$loader
=
new
Psr4Autoloader
();
$loader
->
register
();
// Register laravel-s
$loader
->
addNamespace
(
'Hhxsv5\LaravelS'
,
$basePath
.
'/vendor/hhxsv5/laravel-s/src'
);
// Register laravel-s dependencies
$loader
->
addNamespace
(
'Symfony\Component\Console'
,
$basePath
.
'/vendor/symfony/console'
);
$loader
->
addNamespace
(
'Symfony\Contracts\Service'
,
$basePath
.
'/vendor/symfony/service-contracts'
);
$loader
->
addNamespace
(
'Symfony\Contracts'
,
$basePath
.
'/vendor/symfony/contracts'
);
$command
=
new
Hhxsv5\LaravelS\Console\Portal
(
$basePath
);
$input
=
new
Symfony\Component\Console\Input\ArgvInput
();
$output
=
new
Symfony\Component\Console\Output\ConsoleOutput
();
$code
=
$command
->
run
(
$input
,
$output
);
exit
(
$code
);
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment