114 lines
3.6 KiB
JavaScript
114 lines
3.6 KiB
JavaScript
/*jslint node: true */
|
||
module.exports = function (grunt) {
|
||
'use strict';
|
||
grunt.initConfig(
|
||
{
|
||
githash: {
|
||
main: {
|
||
options: {}
|
||
}
|
||
},
|
||
uglify: {
|
||
combine: {
|
||
files: {
|
||
'dist/main.js': ['js/cast.js']
|
||
}
|
||
}
|
||
},
|
||
cssmin: {
|
||
combine: {
|
||
files: {
|
||
'dist/main.css': ['css/*.css']
|
||
}
|
||
}
|
||
},
|
||
watch: {
|
||
scripts: {
|
||
files: ['js/*.js'],
|
||
tasks: ['uglify']
|
||
},
|
||
styles: {
|
||
files: ['css/*.css'],
|
||
tasks: ['cssmin']
|
||
}
|
||
},
|
||
phpcs: {
|
||
options: {
|
||
standard: 'PSR2',
|
||
bin: 'vendor/bin/phpcs'
|
||
},
|
||
php: {
|
||
src: ['*.php', 'classes/*.php', 'controllers/*.php']
|
||
},
|
||
tests: {
|
||
src: ['tests/*.php']
|
||
}
|
||
},
|
||
jslint: {
|
||
js: {
|
||
src: ['js/*.js']
|
||
},
|
||
Gruntfile: {
|
||
src: ['Gruntfile.js']
|
||
}
|
||
},
|
||
phpunit: {
|
||
options: {
|
||
bin: 'php -dzend_extension=xdebug.so ./vendor/bin/phpunit',
|
||
stopOnError: true,
|
||
stopOnFailure: true,
|
||
followOutput: true
|
||
},
|
||
classes: {
|
||
dir: 'tests/'
|
||
}
|
||
},
|
||
compress: {
|
||
release: {
|
||
options: {
|
||
archive: 'alltube-<%= githash.main.tag %>.zip'
|
||
},
|
||
src: ['*.php', '!config/config.yml', 'dist/**', '.htaccess', 'img/**', 'LICENSE', 'README.md', 'robots.txt', 'resources/sitemap.xml', 'templates/**', 'templates_c/', 'vendor/**', 'classes/**', 'controllers/**', 'bower_components/**', '!vendor/ffmpeg/**', '!vendor/bin/ffmpeg', '!vendor/phpunit/**', '!vendor/squizlabs/**']
|
||
}
|
||
},
|
||
phpdocumentor: {
|
||
doc: {
|
||
options: {
|
||
directory: 'classes/,controllers/,tests/'
|
||
}
|
||
}
|
||
},
|
||
jsonlint: {
|
||
manifests: {
|
||
src: ['*.json', 'resources/*.json'],
|
||
options: {
|
||
format: true
|
||
}
|
||
}
|
||
},
|
||
fixpack: {
|
||
package: {
|
||
src: 'package.json'
|
||
}
|
||
}
|
||
}
|
||
);
|
||
|
||
grunt.loadNpmTasks('grunt-githash');
|
||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||
grunt.loadNpmTasks('grunt-contrib-cssmin');
|
||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||
grunt.loadNpmTasks('grunt-phpcs');
|
||
grunt.loadNpmTasks('grunt-phpunit');
|
||
grunt.loadNpmTasks('grunt-contrib-compress');
|
||
grunt.loadNpmTasks('grunt-jslint');
|
||
grunt.loadNpmTasks('grunt-phpdocumentor');
|
||
grunt.loadNpmTasks('grunt-jsonlint');
|
||
grunt.loadNpmTasks('grunt-fixpack');
|
||
|
||
grunt.registerTask('default', ['uglify', 'cssmin']);
|
||
grunt.registerTask('lint', ['jslint', 'fixpack', 'jsonlint', 'phpcs']);
|
||
grunt.registerTask('test', ['phpunit']);
|
||
grunt.registerTask('doc', ['phpdocumentor']);
|
||
grunt.registerTask('release', ['default', 'githash', 'compress']);
|
||
};
|