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

improved grunt build

parent e9addff9
module.exports = function(grunt) { module.exports = function(grunt) {
grunt.initConfig({ grunt.initConfig({
pkg: grunt.file.readJSON('package.json'), pkg: grunt.file.readJSON('package.json'),
cssmin: { cssmin: {
task: { task: {
src: ['./service/src/main/resources/assets/statics/css/*'], src: [
dest: './front_build/assets/statics/css/main.css.min' './service/src/main/resources/assets/statics/css/*',
}, './service/src/main/resources/assets/statics/libs/*.css'
options: { ],
'banner': null, dest: './service/src/main/resources/assets_build/statics/css/main.min.css'
'keepSpecialComments': '*', },
'report': 'min' options: {
} 'banner': null,
}, 'keepSpecialComments': '*',
//todo: add jshint, clean and others 'report': 'min'
uglify: { }
task: { },
src: ['./service/src/main/resources/assets/statics/js/*.js', copy: {
'./service/src/main/resources/assets/statics/js/controllers/*'], main: {
dest: './front_build/assets/statics/js/app.js.min' files: [
}, // includes files within path
options: { {expand: true, flatten: true, src: ['service/src/main/resources/assets/statics/img/**'], dest: 'service/src/main/resources/assets_build/statics/img/', filter: 'isFile'}
'mangle': {}, ]
'compress': {}, }
'beautify': false, },
'expression': false, htmlmin: {
'report': 'min', target: {
'sourceMap': false, options: {
'sourceMapName': undefined, removeComments: true,
'sourceMapIn': undefined, collapseWhitespace: true
'sourceMapIncludeSources': false, },
'enclose': undefined, files: {
'wrap': undefined, './service/src/main/resources/assets_build/index.html': './service/src/main/resources/assets/index.html',
'exportAll': false, './service/src/main/resources/assets_build/about.html': './service/src/main/resources/assets/about.html',
'preserveComments': undefined, './service/src/main/resources/assets_build/home.html': './service/src/main/resources/assets/home.html',
'banner': '', './service/src/main/resources/assets_build/login.html': './service/src/main/resources/assets/login.html',
'footer': '' './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']); //todo: add clean
// grunt.registerTask('default', ['cssmin', 'jshint', 'uglify']); 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 @@ ...@@ -4,8 +4,13 @@
"version": "0.0.1", "version": "0.0.1",
"devDependencies": { "devDependencies": {
"grunt": "0.4.5", "grunt": "0.4.5",
"grunt-contrib-concat": "^1.0.0",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-cssmin": "*", "grunt-contrib-cssmin": "*",
"grunt-contrib-htmlmin": "^1.0.0",
"grunt-contrib-jshint": "*", "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> ...@@ -30,7 +30,8 @@ public class CTFApplication extends Application<ApplicationConfiguration>
@Override @Override
public void initialize(final Bootstrap<ApplicationConfiguration> bootstrap) 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 PurgeDatabaseCommand());
bootstrap.addCommand(new RegisterTasksCommand()); bootstrap.addCommand(new RegisterTasksCommand());
bootstrap.addCommand(new RegisterTeamsCommand()); bootstrap.addCommand(new RegisterTeamsCommand());
......
...@@ -4,9 +4,8 @@ ...@@ -4,9 +4,8 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>CTF</title> <title>CTF</title>
<link rel="stylesheet" href="/webjars/materializecss/css/materialize.min.css"> <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="/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> </head>
<nav ng-controller="NavigationController"> <nav ng-controller="NavigationController">
...@@ -34,28 +33,6 @@ ...@@ -34,28 +33,6 @@
<script type="text/javascript" src="/webjars/angularjs/angular.min.js"></script> <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-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="/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/js/app.min.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>
</html> </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