Global bash script with Linux and OSX compatibility.

This commit is contained in:
marco
2015-08-14 23:39:38 +02:00
parent 0b0539dc83
commit 745700e5fe
4 changed files with 53 additions and 52 deletions

1
.gitignore vendored
View File

@ -12,3 +12,4 @@ npm-debug.log
/views/cache/**
temp
.idea
wysija-newsletters.zip

View File

@ -48,15 +48,15 @@ class RoboFile extends \Robo\Tasks {
function makepot() {
$this->_exec('grunt makepot'.
' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'.
' --base_path '.__DIR__
' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'.
' --base_path '.__DIR__
);
}
function pushpot() {
$this->_exec('grunt pushpot'.
' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'.
' --base_path '.__DIR__
' --gruntfile '.__DIR__.'/tasks/makepot/makepot.js'.
' --base_path '.__DIR__
);
}
@ -104,53 +104,6 @@ class RoboFile extends \Robo\Tasks {
$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() {
$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();

47
build Executable file
View 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
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "ff54fd1b75cd31ce67aaf2fa0ee617da",
"hash": "0e2b177a6de46c3a1263386f1b803faf",
"packages": [
{
"name": "cerdic/css-tidy",