Commit 624d1e83 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

improved grunt build

parent e9addff9
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
cssmin: {
task: {
src: ['./service/src/main/resources/assets/statics/css/*'],
dest: './front_build/assets/statics/css/main.css.min'
},
options: {
'banner': null,
'keepSpecialComments': '*',
'report': 'min'
}
},
//todo: add jshint, clean and others
uglify: {
task: {
src: ['./service/src/main/resources/assets/statics/js/*.js',
'./service/src/main/resources/assets/statics/js/controllers/*'],
dest: './front_build/assets/statics/js/app.js.min'
},
options: {
'mangle': {},
'compress': {},
'beautify': false,
'expression': false,
'report': 'min',
'sourceMap': false,
'sourceMapName': undefined,
'sourceMapIn': undefined,
'sourceMapIncludeSources': false,
'enclose': undefined,
'wrap': undefined,
'exportAll': false,
'preserveComments': undefined,
'banner': '',
'footer': ''
}
}
});
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
cssmin: {
task: {
src: [
'./service/src/main/resources/assets/statics/css/*',
'./service/src/main/resources/assets/statics/libs/*.css'
],
dest: './service/src/main/resources/assets_build/statics/css/main.min.css'
},
options: {
'banner': null,
'keepSpecialComments': '*',
'report': 'min'
}
},
copy: {
main: {
files: [
// includes files within path
{expand: true, flatten: true, src: ['service/src/main/resources/assets/statics/img/**'], dest: 'service/src/main/resources/assets_build/statics/img/', filter: 'isFile'}
]
}
},
htmlmin: {
target: {
options: {
removeComments: true,
collapseWhitespace: true
},
files: {
'./service/src/main/resources/assets_build/index.html': './service/src/main/resources/assets/index.html',
'./service/src/main/resources/assets_build/about.html': './service/src/main/resources/assets/about.html',
'./service/src/main/resources/assets_build/home.html': './service/src/main/resources/assets/home.html',
'./service/src/main/resources/assets_build/login.html': './service/src/main/resources/assets/login.html',
'./service/src/main/resources/assets_build/scoresheet.html': './service/src/main/resources/assets/scoresheet.html',
'./service/src/main/resources/assets_build/submitflag.html': './service/src/main/resources/assets/submitflag.html',
'./service/src/main/resources/assets_build/task.html': './service/src/main/resources/assets/task.html',
'./service/src/main/resources/assets_build/tasks.html': './service/src/main/resources/assets/tasks.html'
}
}
},
jshint: {
files: ['./service/src/main/resources/assets/statics/js/main.js',
'./service/src/main/resources/assets/statics/js/services/*.js',
'./service/src/main/resources/assets/statics/js/providers/*.js',
'./service/src/main/resources/assets/statics/js/utils/*.js',
'./service/src/main/resources/assets/statics/js/controllers/*.js'
],
options: {
globals: {
jQuery: true
}
}
},
//todo: add clean?
uglify: {
task: {
src: [
'./service/src/main/resources/assets/statics/js/main.js',
'./service/src/main/resources/assets/statics/js/services/*.js',
'./service/src/main/resources/assets/statics/js/providers/*.js',
'./service/src/main/resources/assets/statics/js/utils/*.js',
'./service/src/main/resources/assets/statics/js/controllers/*.js',
'./service/src/main/resources/assets/statics/libs/*.js'
],
dest: './service/src/main/resources/assets_build/statics/js/app.min.js'
},
options: {
'mangle': false,
'compress': {},
'beautify': false,
'expression': false,
'report': 'min',
'sourceMap': false,
'sourceMapName': undefined,
'sourceMapIn': undefined,
'sourceMapIncludeSources': false,
'enclose': undefined,
'wrap': undefined,
'exportAll': false,
'preserveComments': undefined,
'banner': '',
'footer': ''
}
}
});
grunt.loadNpmTasks('grunt-contrib-cssmin');
// grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.registerTask('default', ['cssmin', 'uglify']);
// grunt.registerTask('default', ['cssmin', 'jshint', 'uglify']);
//todo: add clean
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-htmlmin');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.registerTask('default', ['jshint', 'copy', 'htmlmin', 'cssmin', 'uglify']);
};
\ No newline at end of file
......@@ -4,8 +4,13 @@
"version": "0.0.1",
"devDependencies": {
"grunt": "0.4.5",
"grunt-contrib-concat": "^1.0.0",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-cssmin": "*",
"grunt-contrib-htmlmin": "^1.0.0",
"grunt-contrib-jshint": "*",
"grunt-contrib-uglify": "*"
"grunt-contrib-uglify": "^1.0.1",
"grunt-ng-annotate": "^2.0.1",
"grunt-ngmin": "0.0.3"
}
}
\ No newline at end of file
}
......@@ -30,7 +30,8 @@ public class CTFApplication extends Application<ApplicationConfiguration>
@Override
public void initialize(final Bootstrap<ApplicationConfiguration> bootstrap)
{
bootstrap.addBundle(new AssetsBundle("/assets", "/page", "index.html"));
//todo: refactor, will not work on artifact?
bootstrap.addBundle(new AssetsBundle("/assets_build", "/page", "index.html"));
bootstrap.addCommand(new PurgeDatabaseCommand());
bootstrap.addCommand(new RegisterTasksCommand());
bootstrap.addCommand(new RegisterTeamsCommand());
......
......@@ -4,9 +4,8 @@
<meta charset="UTF-8">
<title>CTF</title>
<link rel="stylesheet" href="/webjars/materializecss/css/materialize.min.css">
<link rel="stylesheet" href="/page/statics/libs/angular-materialize.css">
<link rel="stylesheet" href="/webjars/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="/page/statics/css/main.css">
<link rel="stylesheet" href="/page/statics/css/main.min.css">
</head>
<nav ng-controller="NavigationController">
......@@ -34,28 +33,6 @@
<script type="text/javascript" src="/webjars/angularjs/angular.min.js"></script>
<script type="text/javascript" src="/webjars/angular-ui-router/angular-ui-router.min.js"></script>
<script type="text/javascript" src="/webjars/angular-cookies/angular-cookies.min.js"></script>
<script type="text/javascript" src="/page/statics/libs/angular-materialize.js"></script>
<script type="text/javascript" src="/page/statics/libs/angular-breadcrumb.min.js"></script>
<script type="text/javascript" src="/page/statics/libs/typed.js"></script>
<script type="text/javascript" src="/page/statics/js/main.js"></script>
<script type="text/javascript" src="/page/statics/js/base64.js"></script>
<script type="text/javascript" src="/page/statics/js/apiProvider.js"></script>
<script type="text/javascript" src="/page/statics/js/authenticationService.js"></script>
<script type="text/javascript" src="/page/statics/js/controllers/navigationController.js"></script>
<script type="text/javascript" src="/page/statics/js/controllers/loginController.js"></script>
<script type="text/javascript" src="/page/statics/js/controllers/taskController.js"></script>
<script type="text/javascript" src="/page/statics/js/controllers/tasksController.js"></script>
<script type="text/javascript" src="/page/statics/js/controllers/scoreboardController.js"></script>
<script>
</script>
<script type="text/javascript" src="/page/statics/js/app.min.js"></script>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment