diff --git a/README.md b/README.md index 35ed10d5b77f15d49ad7b365e7dc3007eb58c7d4..f90c5a3d342b21b223f815f3c3ed3678244bb18b 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Ingeniería Informática de la Universidad de Vigo. La configuración de Maven ha sido preparada para permitir varios tipos de ejecución. -### Ejecución de la aplicación con Tomcat y MySQL +### Ejecución El proyecto está configurado para poder ejecutar la aplicación sin tener que realizar ninguna configuración adicional salvo tener disponible un servidor @@ -26,24 +26,40 @@ comandos (desde la raíz el proyecto): Una vez configurada la base de datos podemos lanzar la ejecución con el comando: -`mvn -Prun-tomcat-mysql -DskipTests=true package cargo:run` +`mvn -Prun package cargo:run` La aplicación se servirá en la URL local: http://localhost:9080/DAAExample Para detener la ejecución podemos utilizar `Ctrl+C`. -### Ejecución de la aplicación con Tomcat y MySQL con redespliegue automático +### Ejecución con redespliegue automático Durante el desarrollo es interesante que la apliación se redespliegue de forma automática cada vez que se hace un cambio. Para ello podemos utilizar el siguiente comand: -`mvn -Prun-tomcat-mysql -DskipTests=true package cargo:start fizzed-watcher:run` +`mvn -Prun package cargo:start fizzed-watcher:run` La aplicación se servirá en la URL local: http://localhost:9080/DAAExample Para detener la ejecución podemos utilizar `Ctrl+C`. +### Ejecución con redespliegue automático independiente para backend y frontend (recomendado) + +A diferencia del modo de redespliegue automático anterior, en este caso +*backend* y *frontend* se ejecutarán de forma independiente. Esto hace que los +cambios en las clases Java harán que se redespliegue el *backend*, mientras que +los cambios en Angular harán que se redespliegue el *frontend*. + +`mvn -Prun-independent-autoredeploy exec:exec@npm-build exec:exec@npm-start package cargo:start fizzed-watcher:run` + +La aplicación se servirá en local: + + * **Backend**: http://localhost:9080/DAAExample + * **Frontend**: http://localhost:4200 + +Para detener la ejecución podemos utilizar `Ctrl+C`. + ### Construcción con tests de unidad e integración En esta construcción se ejecutarán todos los tests relacionados con el backend: diff --git a/pom.xml b/pom.xml index 09fcb7eb338ba211f32358f30892e804fd8f1162..0d297dac3cbfa2ead6ee56770e21a627737312b2 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,7 @@ UTF-8 ${project.basedir}/servers false + false true 8.5.27 6300 @@ -201,7 +202,6 @@ - maven-war-plugin org.apache.maven.plugins @@ -247,6 +247,7 @@ exec-npm-ng-build generate-sources + ${skip-npm-build} ${project.basedir}/src/main/angular npm @@ -360,6 +361,7 @@ + @@ -597,11 +599,12 @@ - run-tomcat-mysql + run false + true true @@ -674,6 +677,119 @@ + + run-independent-autoredeploy + + false + + + true + true + true + + + + + + org.codehaus.mojo + exec-maven-plugin + ${exec-maven-plugin.version} + + ${project.basedir}/src/main/angular + npm + exec + + + + npm-build + + + run + build + + + + + + npm-start + + true + true + + start + + + + + + + + com.fizzed + fizzed-watcher-maven-plugin + ${fizzed-watcher-maven-plugin.version} + + true + + + src/main + src/main/angular + + + + package + cargo:redeploy + + + + + + org.codehaus.cargo + cargo-maven2-plugin + ${cargo-maven2-plugin.version} + + + tomcat8x + + https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/${tomcat.version}/tomcat-${tomcat.version}.zip + ${project.servers.directory}/downloads + ${project.servers.directory}/extracts + + + + mysql + mysql-connector-java + + + + + + ${project.build.directory}/catalina-base + + + tomcat/server.mysql.xml + conf/server.xml + + + + 9080 + + cargo.datasource.jndi=jdbc/daaexample| + cargo.datasource.driver=com.mysql.jdbc.Driver| + cargo.datasource.url=jdbc:mysql://localhost/daaexample| + cargo.datasource.username=daa| + cargo.datasource.password=daa| + cargo.datasource.maxActive=8| + cargo.datasource.maxIdle=4| + cargo.datasource.maxWait=10000 + + + + + + + + + geckodriver-download-unix diff --git a/src/main/angular/package-lock.json b/src/main/angular/package-lock.json index 1d3e8aef9d8c32bcab127aea03a0aa67999a2250..1df608a07eb717c0d4853b0e7e5f9988f0f25cfc 100644 --- a/src/main/angular/package-lock.json +++ b/src/main/angular/package-lock.json @@ -1,6 +1,6 @@ { "name": "daa-example", - "version": "0.2.0-alpha.6", + "version": "0.2.0-alpha.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/src/main/angular/package.json b/src/main/angular/package.json index 553c5fb4bb48ba5cc2f1e061028353e309568e66..2b3d585c1105c6852e1bd09823a8a384a6ea4c68 100644 --- a/src/main/angular/package.json +++ b/src/main/angular/package.json @@ -1,6 +1,6 @@ { "name": "daa-example", - "version": "0.2.0-alpha.6", + "version": "0.2.0-alpha.7", "scripts": { "ng": "./node_modules/.bin/ng", "start": "./node_modules/.bin/ng serve", diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index d920eed51bf816bc55de65bd515db92042a44b7b..a32d8cda80ed2600c9eabbc15ea88849b7f4b3ff 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -9,7 +9,7 @@ index.html - + CorsFilter org.apache.catalina.filters.CorsFilter @@ -17,6 +17,14 @@ cors.allowed.origins * + + cors.allowed.headers + Authorization + + + cors.allowed.methods + GET, POST, DELETE, PUT + CorsFilter @@ -31,7 +39,6 @@ DELETE GET POST - OPTIONS ADMIN @@ -43,11 +50,10 @@ Admin Area /rest/people/* + GET PUT DELETE - GET POST - OPTIONS ADMIN