Global bash script with Linux and OSX compatibility.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,3 +12,4 @@ npm-debug.log
|
|||||||
/views/cache/**
|
/views/cache/**
|
||||||
temp
|
temp
|
||||||
.idea
|
.idea
|
||||||
|
wysija-newsletters.zip
|
||||||
|
55
RoboFile.php
55
RoboFile.php
@ -48,15 +48,15 @@ class RoboFile extends \Robo\Tasks {
|
|||||||
|
|
||||||
function makepot() {
|
function makepot() {
|
||||||
$this->_exec('grunt makepot'.
|
$this->_exec('grunt makepot'.
|
||||||
' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'.
|
' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'.
|
||||||
' --base_path '.__DIR__
|
' --base_path '.__DIR__
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function pushpot() {
|
function pushpot() {
|
||||||
$this->_exec('grunt pushpot'.
|
$this->_exec('grunt pushpot'.
|
||||||
' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'.
|
' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'.
|
||||||
' --base_path '.__DIR__
|
' --base_path '.__DIR__
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,53 +104,6 @@ class RoboFile extends \Robo\Tasks {
|
|||||||
$this->_exec('vendor/bin/codecept run unit --debug');
|
$this->_exec('vendor/bin/codecept run unit --debug');
|
||||||
}
|
}
|
||||||
|
|
||||||
function zip() {
|
|
||||||
$rootPath = realpath('wysija-newsletters');
|
|
||||||
$zip = new ZipArchive();
|
|
||||||
$zip->open('mailpoet.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
|
|
||||||
$directory = new \RecursiveDirectoryIterator(
|
|
||||||
$rootPath, \FilesystemIterator::FOLLOW_SYMLINKS
|
|
||||||
);
|
|
||||||
$filter = new \RecursiveCallbackFilterIterator(
|
|
||||||
$directory, function ($current, $key, $iterator) {
|
|
||||||
return ($current->getFilename()[0] !== '.');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
$files = new \RecursiveIteratorIterator($filter);
|
|
||||||
foreach ($files as $name => $file) {
|
|
||||||
$filePath = $file->getRealPath();
|
|
||||||
$relativePath = substr($filePath, strlen($rootPath) + 1);
|
|
||||||
$zip->addFile($filePath, $relativePath);
|
|
||||||
}
|
|
||||||
$zip->close();
|
|
||||||
}
|
|
||||||
|
|
||||||
function build() {
|
|
||||||
$this->_exec('mkdir wysija-newsletters');
|
|
||||||
$this->_exec('mkdir wysija-newsletters/vendor');
|
|
||||||
$this->_exec('cp index.php wysija-newsletters/index.php');
|
|
||||||
$this->_exec('cp mailpoet.php wysija-newsletters/mailpoet.php');
|
|
||||||
$this->_exec('cp package.json wysija-newsletters/package.json');
|
|
||||||
$this->_exec('cp composer.* wysija-newsletters/');
|
|
||||||
$this->taskCopyDir(array(
|
|
||||||
'assets' => 'wysija-newsletters/assets',
|
|
||||||
'lang' => 'wysija-newsletters/lang',
|
|
||||||
'lib' => 'wysija-newsletters/lib',
|
|
||||||
'views' => 'wysija-newsletters/views'
|
|
||||||
))->run();
|
|
||||||
chdir('./wysija-newsletters');
|
|
||||||
$this->taskExecStack()
|
|
||||||
->stopOnFail()
|
|
||||||
// ->exec('cd wysija-newsletters') does not work as intended
|
|
||||||
->exec('./composer.phar install --no-dev')
|
|
||||||
->run();
|
|
||||||
chdir('..');
|
|
||||||
$this->_exec('rm wysija-newsletters/package.json');
|
|
||||||
$this->_exec('rm wysija-newsletters/composer.*');
|
|
||||||
$this->zip();
|
|
||||||
$this->taskDeleteDir('wysija-newsletters')->run();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function loadEnv() {
|
protected function loadEnv() {
|
||||||
$dotenv = new Dotenv\Dotenv(__DIR__);
|
$dotenv = new Dotenv\Dotenv(__DIR__);
|
||||||
$dotenv->load();
|
$dotenv->load();
|
||||||
|
47
build
Executable file
47
build
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# remove previouz build.
|
||||||
|
rm wysija-newsletters.zip;
|
||||||
|
|
||||||
|
# Create temp dir.
|
||||||
|
mkdir wysija-newsletters;
|
||||||
|
|
||||||
|
# Cleanup Composer and NPM.
|
||||||
|
rm -rf vendor;
|
||||||
|
rm -rf node_modules;
|
||||||
|
rm composer.lock;
|
||||||
|
|
||||||
|
# Install Composer and NPM deps.
|
||||||
|
./composer.phar install --no-dev;
|
||||||
|
npm install --production;
|
||||||
|
|
||||||
|
# Copy release folders.
|
||||||
|
cp -rf lang wysija-newsletters;
|
||||||
|
cp -rf assets wysija-newsletters;
|
||||||
|
cp -rf lib wysija-newsletters;
|
||||||
|
# cp -rf node_modules wysija-newsletters;
|
||||||
|
cp -rf vendor wysija-newsletters;
|
||||||
|
cp -rf views wysija-newsletters;
|
||||||
|
|
||||||
|
# Copy release files.
|
||||||
|
cp LICENSE wysija-newsletters;
|
||||||
|
cp index.php wysija-newsletters;
|
||||||
|
cp mailpoet.php wysija-newsletters;
|
||||||
|
cp readme.txt wysija-newsletters;
|
||||||
|
cp uninstall.php wysija-newsletters;
|
||||||
|
cp webpack.config.js wysija-newsletters;
|
||||||
|
|
||||||
|
# Zip final release.
|
||||||
|
zip -r wysija-newsletters.zip wysija-newsletters;
|
||||||
|
|
||||||
|
# Remove temp dir.
|
||||||
|
rm -rf wysija-newsletters;
|
||||||
|
|
||||||
|
# Cleanup Composer and NPM.
|
||||||
|
rm -rf vendor;
|
||||||
|
rm -rf node_modules;
|
||||||
|
rm composer.lock;
|
||||||
|
|
||||||
|
# Reinstall dev dependencies.
|
||||||
|
./composer.phar install;
|
||||||
|
./do install;
|
2
composer.lock
generated
2
composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"hash": "ff54fd1b75cd31ce67aaf2fa0ee617da",
|
"hash": "0e2b177a6de46c3a1263386f1b803faf",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "cerdic/css-tidy",
|
"name": "cerdic/css-tidy",
|
||||||
|
Reference in New Issue
Block a user