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/**
|
||||
temp
|
||||
.idea
|
||||
wysija-newsletters.zip
|
||||
|
55
RoboFile.php
55
RoboFile.php
@ -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
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",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "ff54fd1b75cd31ce67aaf2fa0ee617da",
|
||||
"hash": "0e2b177a6de46c3a1263386f1b803faf",
|
||||
"packages": [
|
||||
{
|
||||
"name": "cerdic/css-tidy",
|
||||
|
Reference in New Issue
Block a user