Skip to content

Commit

Permalink
Adds Oscar ; Updates Gruntfile
Browse files Browse the repository at this point in the history
  • Loading branch information
acadet committed Oct 17, 2014
1 parent 4fbb80b commit a7d64be
Show file tree
Hide file tree
Showing 47 changed files with 2,518 additions and 3,405 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ backup.json

# Transpiled files
app/ui/js/output.js
testing/output/test_output.js
testing/out
**/*.css

9 changes: 8 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
language: node_js
node_js:
- "0.11"
notifications:
email:
on_success: never
on_failure: always

before_install:
- "npm install -g grunt-cli"
install:
- "npm install grunt-ts"
script:
- "grunt ts:build --verbose --force"
- "grunt ts:testing --verbose --force"
- "grunt ts:testing --verbose --force"
- "python testing/buildLauncher.py testing/out/output.js testing/src 0 3000 false"
- "node testing/out/output.js"
208 changes: 96 additions & 112 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,36 +1,72 @@
module.exports = function (grunt) {
var pkg = require('./release/src/package.json');
var version = pkg.version;

// load the task
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-ts");
grunt.loadNpmTasks("grunt-csscomb");
grunt.loadNpmTasks("grunt-contrib-clean");
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.loadNpmTasks("grunt-remove");
//grunt.loadNpmTasks("grunt-csscomb");
grunt.loadNpmTasks("grunt-mkdir");
grunt.loadNpmTasks("grunt-zip");
grunt.loadNpmTasks("grunt-node-webkit-builder");
grunt.loadNpmTasks("grunt-shell");
grunt.loadNpmTasks("grunt-ts");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-zip");

// Configure grunt here
grunt.initConfig({
watch : {
build : {
files : 'app/**/*.ts',
tasks : ['ts:build'],
options : {
interrupt : true,
atBegin : true
}
},
testing : {
files : ['**/*.ts', '!testing/app_dependencies.ts'],
tasks : ['copy:appDependencies', 'ts:testing'],
options : {
interrupt : true,
atBegin : true
}
}
clean : {
build : [
'tscommand-*.txt'
],
release : [
'release/src/app',
'release/releases'
]
},
copy : {
release : {
src : 'app/ui/**/*',
dest : 'release/src/'
}
},
// csscomb : {
// release : {
// options : {
// config : 'csscomb-config.json'
// },
// expand : true,
// cwd : 'app/ui/assets/',
// src : ['**/*.scss'],
// dest : 'app/ui/assets/'
// }
// },
mkdir : {
release : {
mode : 0700,
create : ['release/src/app']
}
},
nodewebkit : {
options : {
build_dir : 'release',
mac : true,
win : true,
linux32 : true,
linux64 : true,
mac_icns : 'release/src/logo.icns'
},
src : ['release/src/**/*']
},
shell : {
testing : {
command : [
'cd testing',
'python buildLauncher.py out/output.js src 1 5000 false'
].join('&&')
}
},
ts: {
// A specific target
build: {
Expand Down Expand Up @@ -60,138 +96,86 @@ module.exports = function (grunt) {
removeComments: true
},
},
// Another target
testing: {
// The source TypeScript files, http://gruntjs.com/configuring-tasks#files
src: ["testing/**/*.ts"],
// The source html files, https://github.com/grunt-ts/grunt-ts#html-2-typescript-support
src: ["testing/src/**/*.ts"],
html: false,
// If specified, generate this file that to can use for reference management
reference: 'testing/test_dependencies.ts',
// If specified, generate an out.js file which is the merged js file
out: 'testing/output/test_output.js',
// If specified, the generate JavaScript files are placed here. Only works if out is not specified
reference: 'testing/src/references.ts',
out: 'testing/out/output.js',
outDir: false,
// If specified, watches this directory for changes, and re-runs the current target
watch: false,
// Use to override the default options, http://gruntjs.com/configuring-tasks#options
options: {
// 'es3' (default) | 'es5'
target: 'es3',
// 'amd' (default) | 'commonjs'
target: 'es3',
module: 'commonjs',
// true (default) | false
sourceMap: false,
// true | false (default)
declaration: false,
// true (default) | false
removeComments: true
},
}
},
csscomb : {
release : {
options : {
config : 'csscomb-config.json'
},
expand : true,
cwd : 'app/ui/assets/',
src : ['**/*.scss'],
dest : 'app/ui/assets/'
}
},
copy : {
appDependencies : {
src : 'app/dependencies.ts',
dest : 'testing/app_dependencies.ts',
options : {
process : function(content, srcpath) {
return content.replace(/\<reference path=\"(.+\.ts)\" \/\>/gi, '<reference path="../app/$1" />');
}
uglify: {
release: {
options : {
compress : true,
mangle : false,
preserveComments : false
},
files: {
'release/src/app/ui/js/output.js' : ['release/src/app/ui/js/output.js']
}
},
release : {
src : 'app/ui/**/*',
dest : 'release/src/'
}
},
mkdir : {
release : {
mode : 0700,
create : ['release/src/app']
}
},
remove : {
options : {
trace : true
},
release : {
fileList : [
'release/releases/yimello-win.zip',
'release/releases/yimello-mac.zip',
'release/releases/yimello-linux-32.zip',
'release/releases/yimello-linux-64.zip'
],
dirList : ['release/src/app', 'release/releases']
}
},
},
watch : {
build : {
files : 'app/**/*.ts',
tasks : ['ts:build', 'clean:build'],
options : {
interrupt : true,
atBegin : true
}
},
testing : {
files : ['**/*.ts'],
tasks : ['ts:testing', 'shell:testing', 'clean:build'],
options : {
interrupt : true,
atBegin : true
}
}
},
zip : {
releaseWin : {
cwd : 'release/releases/Yimello/win/',
src : ['release/releases/Yimello/win/**/*'],
dest : 'release/releases/yimello-win.zip',
dest : 'release/releases/yimello-win-' + version + '.zip',
compression : 'DEFLATE'
},
releaseMac : {
cwd : 'release/releases/Yimello/mac/',
src : ['release/releases/Yimello/mac/**/*'],
dest : 'release/releases/yimello-mac.zip',
dest : 'release/releases/yimello-mac-' + version + '.zip',
compression : 'DEFLATE'
},
releaseLinux32 : {
cwd : 'release/releases/Yimello/linux32/',
src : ['release/releases/Yimello/linux32/**/*'],
dest : 'release/releases/yimello-linux-32.zip',
dest : 'release/releases/yimello-linux-32-' + version + '.zip',
compression : 'DEFLATE'
},
releaseLinux64 : {
cwd : 'release/releases/Yimello/linux64/',
src : ['release/releases/Yimello/linux64/**/*'],
dest : 'release/releases/yimello-linux-64.zip',
dest : 'release/releases/yimello-linux-64-' + version + '.zip',
compression : 'DEFLATE'
}
},
nodewebkit : {
options : {
build_dir : 'release',
mac : true,
win : true,
linux32 : true,
linux64 : true,
mac_icns : 'release/src/logo.icns'
},
src : ['release/src/**/*']
},
uglify: {
release: {
options : {
compress : true,
mangle : false,
preserveComments : false
},
files: {
'release/src/app/ui/js/output.js' : ['release/src/app/ui/js/output.js']
}
}
}
}
});

grunt.registerTask('build', ['watch:build']);
grunt.registerTask('testing', ['watch:testing']);
grunt.registerTask(
'release',
[
'remove:release',
'clean:release',
'ts:build',
'mkdir:release',
'copy:release',
Expand Down
2 changes: 1 addition & 1 deletion app/helpers/VersionHelper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ class VersionHelper {
//region Fields

private static _target : string = 'http://yimello.adriencadet.com/version';
private static _version : string = '0.3.0';
private static _version : string = '0.3.1';

//endregion Fields

Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@
"grunt-ts": "~1.9.3",
"typescript": "~0.9.7",
"grunt-contrib-copy": "~0.5.0",
"grunt-remove": "0.1.0",
"grunt-mkdir": "~0.1.1",
"grunt-node-webkit-builder": "~0.1.21",
"grunt-zip": "~0.15.0",
"grunt-contrib-uglify": "~0.5.1",
"grunt-csscomb": "~3.0.0",
"grunt-contrib-watch": "~0.6.1"
"grunt-contrib-watch": "~0.6.1",
"grunt-contrib-clean": "~0.6.0",
"grunt-shell": "~1.1.1"
}
}
Loading

0 comments on commit a7d64be

Please sign in to comment.