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

improved grunt build

parent e9addff9
...@@ -3,8 +3,11 @@ module.exports = function(grunt) { ...@@ -3,8 +3,11 @@ module.exports = function(grunt) {
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'
],
dest: './service/src/main/resources/assets_build/statics/css/main.min.css'
}, },
options: { options: {
'banner': null, 'banner': null,
...@@ -12,15 +15,60 @@ module.exports = function(grunt) { ...@@ -12,15 +15,60 @@ module.exports = function(grunt) {
'report': 'min' 'report': 'min'
} }
}, },
//todo: add jshint, clean and others 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: { uglify: {
task: { task: {
src: ['./service/src/main/resources/assets/statics/js/*.js', src: [
'./service/src/main/resources/assets/statics/js/controllers/*'], './service/src/main/resources/assets/statics/js/main.js',
dest: './front_build/assets/statics/js/app.js.min' './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: { options: {
'mangle': {}, 'mangle': false,
'compress': {}, 'compress': {},
'beautify': false, 'beautify': false,
'expression': false, 'expression': false,
...@@ -39,10 +87,13 @@ module.exports = function(grunt) { ...@@ -39,10 +87,13 @@ module.exports = function(grunt) {
} }
}); });
//todo: add clean
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-cssmin');
// grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-htmlmin');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.registerTask('default', ['cssmin', 'uglify']); grunt.registerTask('default', ['jshint', 'copy', 'htmlmin', 'cssmin', 'uglify']);
// grunt.registerTask('default', ['cssmin', 'jshint', '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"
} }
} }
...@@ -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