From: Kai Moritz Date: Mon, 24 Aug 2015 16:27:31 +0000 (+0200) Subject: Integration of the Grunt-Frontend- with the Maven-Backend-Project X-Git-Tag: 2.0.0 X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=HEAD;p=examples%2Fmaven-grunt-integration Integration of the Grunt-Frontend- with the Maven-Backend-Project --- diff --git a/.gitignore b/.gitignore index eb5a316..28dba0a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ target +node +**/node_modules +src/main/frontend/dist diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c37f606 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/main/frontend"] + path = src/main/frontend + url = ../template-development diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..a704356 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,35 @@ +module.exports = function(grunt) { + + grunt.loadNpmTasks('grunt-newer'); + + grunt.registerTask('frontend','Build HTML & CSS for Frontend', function() { + var + done = this.async(), + path = './src/main/frontend'; + + grunt.util.spawn({ + cmd: 'npm', + args: ['install'], + opts: { cwd: path, stdio: 'inherit' } + }, function (err, result, code) { + if (err || code > 0) { + grunt.fail.warn('Failed installing node modules in "' + path + '".'); + } + else { + grunt.log.ok('Installed node modules in "' + path + '".'); + } + + process.chdir(path); + require(path + '/Gruntfile.js')(grunt); + grunt.task.run('newer:copy'); + grunt.task.run('newer:less'); + grunt.task.run('newer:svgstore'); + + done(); + }); + }); + + + grunt.registerTask('default', [ 'frontend' ]); + +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..81fefa0 --- /dev/null +++ b/package.json @@ -0,0 +1,12 @@ +{ + "name": "maven-grunt-integration", + "description": "Example, how to ingegrat maven with a frontend developed with Grunt", + "homepage": "http://juplo.de/maven-grunt-integration", + "author": "kai@juplo.de", + "version": "1.0.0", + "devDependencies": { + "grunt": "~0.4.5", + "grunt-cli": "~0.1.13", + "grunt-newer": "~1.1.1" + } +} diff --git a/pom.xml b/pom.xml index 3cb5566..7cfed12 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ de.juplo maven-grunt-integration Juplo - Example Integration of Maven and Grunt - 0.1 + 2.0.0 war http://www.juplo.de/maven-grunt-integration @@ -134,6 +134,18 @@ true + + org.apache.maven.plugins + maven-war-plugin + 2.6 + + + + src/main/frontend/dist + + + + org.apache.maven.plugins maven-source-plugin @@ -153,9 +165,44 @@ jetty-maven-plugin 9.2.13.v20150730 + + + src/main/frontend/dist + src/main/webapp + + true + + com.github.eirslett + frontend-maven-plugin + 0.0.24 + + + install node and npm + + install-node-and-npm + + + v0.10.18 + 1.3.8 + + + + npm install + + npm + + + + grunt build + + grunt + + + + diff --git a/src/main/frontend b/src/main/frontend new file mode 160000 index 0000000..72b4e8d --- /dev/null +++ b/src/main/frontend @@ -0,0 +1 @@ +Subproject commit 72b4e8d3ea9ab5d4312605df4839779847a55773 diff --git a/src/main/webapp/thymeleaf/templates/layout.html b/src/main/webapp/thymeleaf/templates/layout.html deleted file mode 100644 index 7f69a65..0000000 --- a/src/main/webapp/thymeleaf/templates/layout.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - Layout-Template - - - - - -
-

Maven/Grunt-Integration :: Layout-Template

-
- - -
-
- - -
- -
-

Layout-Template

-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim - ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut - aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

-

Duis aute irure dolor

-
    -
  • Operators and other mathematical stuff: -+/*
  • -
  • - Characters offten used in programming languages: - {(<>)}@$?%*#;:&/\!^"'`~ -
  • -
  • Special german characters: ÄäÖöÜü
  • -
  • Other special characters: @?¢§%°
  • -
-

Excepteur sint occaecat cupidatat

-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit, - sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris - nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in - reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla - pariatur. Excepteur sint occaecat cupidatat non proident, sunt in - culpa qui officia deserunt mollit anim id est laborum. -

-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation - ullamco laboris nisi ut aliquip ex ea commodo consequat. - Duis aute irure dolor in reprehenderit in voluptate velit esse - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat - cupidatat non proident, sunt in culpa qui officia deserunt mollit - anim id est laborum. -

-
- -
- - - - - -