summaryrefslogtreecommitdiffstats
path: root/js/Gruntfile.coffee
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-03-18 11:49:26 +0100
committerBernhard Posselt <nukeawhale@gmail.com>2013-03-18 11:49:26 +0100
commit8c5bf6f3173ce84c11cd1e0a77c30b71c3463d52 (patch)
tree77043acda22b45e6f0c1cd10a5246a30dbc6659c /js/Gruntfile.coffee
parent2eec5da48cb0ac1833a92ab73eb5bff68e7c84f7 (diff)
added rewritten js from appframwork-js branch
Diffstat (limited to 'js/Gruntfile.coffee')
-rw-r--r--js/Gruntfile.coffee118
1 files changed, 118 insertions, 0 deletions
diff --git a/js/Gruntfile.coffee b/js/Gruntfile.coffee
new file mode 100644
index 000000000..3280d94e8
--- /dev/null
+++ b/js/Gruntfile.coffee
@@ -0,0 +1,118 @@
+###
+
+ownCloud - News
+
+@author Bernhard Posselt
+@copyright 2012 Bernhard Posselt nukeawhale@gmail.com
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+License as published by the Free Software Foundation; either
+version 3 of the License, or any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+
+You should have received a copy of the GNU Affero General Public
+License along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+###
+
+
+module.exports = (grunt) ->
+
+ grunt.loadNpmTasks('grunt-contrib-concat')
+ grunt.loadNpmTasks('grunt-contrib-watch')
+ grunt.loadNpmTasks('grunt-coffeelint')
+ grunt.loadNpmTasks('grunt-wrap');
+ grunt.loadNpmTasks('grunt-phpunit');
+ grunt.loadNpmTasks('gruntacular');
+
+ grunt.initConfig
+
+ meta:
+ pkg: grunt.file.readJSON('package.json')
+ version: '<%= meta.pkg.version %>'
+ banner: '/**\n' +
+ ' * <%= meta.pkg.description %> - v<%= meta.version %>\n' +
+ ' *\n' +
+ ' * Copyright (c) <%= grunt.template.today("yyyy") %> - ' +
+ '<%= meta.pkg.author.name %> <<%= meta.pkg.author.email %>>\n' +
+ ' *\n' +
+ ' * This file is licensed under the Affero General Public License version 3 or later.\n' +
+ ' * See the COPYING-README file\n' +
+ ' *\n' +
+ ' */\n\n'
+ build: 'build/'
+ production: 'public/'
+
+ concat:
+ app:
+ options:
+ banner: '<%= meta.banner %>\n'
+ stripBanners:
+ options: 'block'
+ src: [
+ '<%= meta.build %>app/app.js'
+ '<%= meta.build %>app/directives/*.js'
+ '<%= meta.build %>app/controllers/*.js'
+ '<%= meta.build %>app/services/**/*.js'
+ ]
+ dest: '<%= meta.production %>app.js'
+ wrap:
+ app:
+ src: '<%= meta.production %>app.js'
+ dest: ''
+ wrapper: [
+ '(function(angular, $, undefined){\n\n'
+ '\n})(window.angular, jQuery);'
+ ]
+
+ coffeelint:
+ app: [
+ 'app/**/*.coffee'
+ 'tests/**/*.coffee'
+ ]
+ options:
+ 'no_tabs':
+ 'level': 'ignore'
+ 'indentation':
+ 'level': 'ignore'
+ 'no_trailing_whitespace':
+ 'level': 'warn'
+
+ watch:
+ concat:
+ files: [
+ '<%= meta.build %>app/**/*.js'
+ '<%= meta.build %>tests/**/*.js'
+ ]
+ tasks: 'compile'
+ phpunit:
+ files: '../**/*.php'
+ tasks: 'phpunit'
+
+ testacular:
+ unit:
+ configFile: 'config/testacular_conf.js'
+ continuous:
+ configFile: 'config/testacular_conf.js'
+ singleRun: true
+ browsers: ['PhantomJS']
+ reporters: ['progress', 'junit']
+ junitReporter:
+ outputFile: 'test-results.xml'
+
+ phpunit:
+ classes:
+ dir: '../tests'
+ options:
+ colors: true
+
+
+ grunt.registerTask('run', ['watch:concat'])
+ grunt.registerTask('compile', ['concat', 'wrap', 'coffeelint'])
+ grunt.registerTask('ci', ['testacular:continuous'])
+ grunt.registerTask('testphp', ['watch:phpunit']) \ No newline at end of file