Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
HAWKULAR-174: Added watcher task
Browse files Browse the repository at this point in the history
  • Loading branch information
Viliam Rockai committed May 15, 2015
1 parent 1300864 commit 64e3729
Show file tree
Hide file tree
Showing 2 changed files with 108 additions and 74 deletions.
180 changes: 107 additions & 73 deletions ui/console/src/main/scripts/gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,9 @@ var config = {
module: 'commonjs',
declarationFiles: true,
noExternalResolve: false
})
}),
srcPrefix: '../../src/main/scripts/',
serverPath: '../../../../kettle/target/wildfly-8.2.0.Final/modules/system/layers/base/org/hawkular/nest/main/deployments/hawkular-console.war/dist/'
};

gulp.task('bower', function () {
Expand Down Expand Up @@ -94,29 +96,37 @@ gulp.task('git-sha', function(cb) {
});
});

var gulpTsc = function() {
var cwd = process.cwd();
var tsResult = gulp.src(config.ts)
.pipe(plugins.typescript(config.tsProject))
.on('error', plugins.notify.onError({
message: '#{ error.message }',
title: 'Typescript compilation error'
}));

return eventStream.merge(
tsResult.js
.pipe(plugins.concat('compiled.js'))
.pipe(gulp.dest('.')),
tsResult.dts
.pipe(gulp.dest('d.ts')))
.pipe(map(function (buf, filename) {
if (!s.endsWith(filename, 'd.ts')) {
return buf;
}
var relative = path.relative(cwd, filename);
fs.appendFileSync('defs.d.ts', '/// <reference path="' + relative + '"/>\n');
return buf;
}));
};

gulp.task('tsc', ['clean-defs'], function () {
var cwd = process.cwd();
var tsResult = gulp.src(config.ts)
.pipe(plugins.typescript(config.tsProject))
.on('error', plugins.notify.onError({
message: '#{ error.message }',
title: 'Typescript compilation error'
}));
gulpTsc();
});

return eventStream.merge(
tsResult.js
.pipe(plugins.concat('compiled.js'))
.pipe(gulp.dest('.')),
tsResult.dts
.pipe(gulp.dest('d.ts')))
.pipe(map(function (buf, filename) {
if (!s.endsWith(filename, 'd.ts')) {
return buf;
}
var relative = path.relative(cwd, filename);
fs.appendFileSync('defs.d.ts', '/// <reference path="' + relative + '"/>\n');
return buf;
}));
gulp.task('tsc-live', ['copy-sources','clean-defs'], function () {
gulpTsc();
});

gulp.task('tslint', function () {
Expand All @@ -125,81 +135,108 @@ gulp.task('tslint', function () {
.pipe(tslint.report('verbose'));
});

gulp.task('tslint-watch', function () {
gulp.task('tslint-watch', ['copy-sources'], function () {
gulp.src(config.ts)
.pipe(tslint())
.pipe(tslint.report('prose', {
emitError: false
}));
});

var gulpTemplate = function(){
return gulp.src(config.templates)
.pipe(plugins.angularTemplatecache({
filename: 'templates.js',
root: '',
base: function(file){
var filename = /[^/]*$/.exec( file.relative).input;
var prefixIndex = filename.indexOf('/') + 1;
return filename.substring(prefixIndex, filename.length);
},
standalone: true,
module: config.templateModule,
templateFooter: '}]); hawtioPluginLoader.addModule("' + config.templateModule + '");'
}))
.pipe(gulp.dest('.'));
};

gulp.task('template', ['tsc', 'less'], function () {
return gulp.src(config.templates)
.pipe(plugins.angularTemplatecache({
filename: 'templates.js',
root: '',
base: function(file){
var filename = /[^/]*$/.exec( file.relative).input;
var prefixIndex = filename.indexOf('/') + 1;
return filename.substring(prefixIndex, filename.length);
},
standalone: true,
module: config.templateModule,
templateFooter: '}]); hawtioPluginLoader.addModule("' + config.templateModule + '");'
}))
.pipe(gulp.dest('.'));
return gulpTemplate();
});

gulp.task('less', function(){
return gulp.src(['plugins/**/*.less'])
gulp.task('template-live', ['tsc', 'less-live', 'copy-sources'], function () {
return gulpTemplate();
});

var gulpLess = function(done) {
gulp.src(['plugins/**/*.less'])
.pipe(plugins.less())
.pipe(plugins.concat('console-style.css'))
.pipe(gulp.dest(config.dist));
.pipe(plugins.concat('hawkular-console.css'))
.pipe(gulp.dest(config.dist))
.on('end', function(){
done && done();
});
};

gulp.task('less', function(){
gulpLess();
});

gulp.task('less-live', ['copy-sources'], function(done){
gulpLess(done);
});

var gulpConcat = function() {
var gZipSize = size(gZippedSizeOptions);

return gulp.src(['compiled.js', 'templates.js', 'version.js'])
.pipe(plugins.concat(config.js))
.pipe(gulp.dest(config.dist))
.pipe(size(normalSizeOptions))
.pipe(gZipSize);
};

gulp.task('concat', ['template', 'git-sha'], function () {
var gZipSize = size(gZippedSizeOptions);
return gulpConcat();
});

return gulp.src(['compiled.js', 'templates.js', 'version.js'])
.pipe(plugins.concat(config.js))
.pipe(gulp.dest(config.dist))
.pipe(size(normalSizeOptions))
.pipe(gZipSize);
gulp.task('concat-live', ['template-live', 'git-sha'], function () {
return gulpConcat();
});

gulp.task('clean', ['concat'], function () {
del(['templates.js', 'compiled.js']);
});

gulp.task('watch', ['build'], function () {
plugins.watch(['libs/**/*.js', 'libs/**/*.css', config.dist + '/**/*'], function () {
gulp.start('reload');
});
plugins.watch(['index.html'], function () {
gulp.start('bower', 'reload');
});
plugins.watch(['libs/**/*.d.ts', config.ts, config.templates], function () {
gulp.start(['tslint-watch', 'tsc', 'template', 'concat', 'clean']);
gulp.task('watch-server', ['build-live'], function () {
plugins.watch([config.srcPrefix + 'plugins/**/*.ts', config.srcPrefix + '/plugins/**/*.html'], function () {
gulp.start('copy-kettle-js');
});

/* If something in the src folder changes, just copy it and let the handlers above handle the situation */
plugins.watch(['../../src/main/scripts/**/*'], function () {
gulp.src('../../src/main/scripts/**/*')
.pipe(gulp.dest('.'));
plugins.watch([config.srcPrefix + '/plugins/**/*.less'], function () {
gulp.start('copy-kettle-css');
});
});

plugins.watch(['../../src/main/webapp/resources/**/*'], function () {
gulp.src('../../src/main/webapp/resources/**/*')
.pipe(gulp.dest('./resources/'));
});
gulp.task('copy-sources', function(done) {
var src = [config.srcPrefix + 'plugins/**/*'];

plugins.watch(['../../src/main/webapp/index.html'], function () {
gulp.src('../../src/main/webapp/index.html')
.pipe(plugins.replace('${hawkular.console.index.html.base.href}', '/'))
.pipe(gulp.dest('.'));
gulp.src(src)
.pipe(gulp.dest('./plugins')).on('end', function(){
done();
});
});

gulp.task('copy-kettle-js', ['build-live'] , function() {
gulp.src(['dist/hawkular-console.js'])
.pipe(gulp.dest(config.serverPath));
});

gulp.task('copy-kettle-css', ['less-live'] , function() {
gulp.src(['dist/hawkular-console.css'])
.pipe(gulp.dest(config.serverPath));
});

gulp.task('connect', ['watch'], function () {
plugins.connect.server({
root: '.',
Expand All @@ -215,8 +252,5 @@ gulp.task('reload', function () {
});

gulp.task('build', ['bower', 'path-adjust', 'tslint', 'tsc', 'template', 'concat', 'clean']);

gulp.task('default', ['connect']);



gulp.task('build-live', ['copy-sources', 'bower', 'path-adjust', 'tslint-watch', 'tsc', 'template-live', 'concat-live']);
gulp.task('default', ['connect']);
2 changes: 1 addition & 1 deletion ui/console/src/main/webapp/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<!-- bower:css -->
<!-- endbower -->
<link href="dist/console-style.css?v=${hawkular.console.timestamp}" rel="stylesheet">
<link href="dist/hawkular-console.css?v=${hawkular.console.timestamp}" rel="stylesheet">

<!-- ES6/ES6 shim -->
<!--[if IE 8]>
Expand Down

0 comments on commit 64e3729

Please sign in to comment.