ChrisC | 5e9feb2 | 2017-06-21 02:38:57 -0700 | [diff] [blame] | 1 | <?xml version="1.0" encoding="UTF-8"?> |
Determe, Sebastien (sd378r) | e35744d | 2017-08-29 04:21:41 -0700 | [diff] [blame] | 2 | <!-- |
| 3 | ============LICENSE_START======================================================= |
sebdet | bfabac9 | 2021-01-06 17:24:18 +0100 | [diff] [blame] | 4 | ONAP POLICY-CLAMP |
Determe, Sebastien (sd378r) | e35744d | 2017-08-29 04:21:41 -0700 | [diff] [blame] | 5 | ================================================================================ |
sebdet | bfabac9 | 2021-01-06 17:24:18 +0100 | [diff] [blame] | 6 | Copyright (C) 2017-2021 AT&T Intellectual Property. All rights |
Determe, Sebastien (sd378r) | e35744d | 2017-08-29 04:21:41 -0700 | [diff] [blame] | 7 | reserved. |
| 8 | ================================================================================ |
| 9 | Licensed under the Apache License, Version 2.0 (the "License"); |
| 10 | you may not use this file except in compliance with the License. |
| 11 | You may obtain a copy of the License at |
ChrisC | 6c9759e | 2017-08-30 01:13:58 -0700 | [diff] [blame] | 12 | |
Determe, Sebastien (sd378r) | e35744d | 2017-08-29 04:21:41 -0700 | [diff] [blame] | 13 | http://www.apache.org/licenses/LICENSE-2.0 |
ChrisC | 6c9759e | 2017-08-30 01:13:58 -0700 | [diff] [blame] | 14 | |
Determe, Sebastien (sd378r) | e35744d | 2017-08-29 04:21:41 -0700 | [diff] [blame] | 15 | Unless required by applicable law or agreed to in writing, software |
| 16 | distributed under the License is distributed on an "AS IS" BASIS, |
| 17 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 18 | See the License for the specific language governing permissions and |
| 19 | limitations under the License. |
| 20 | ============LICENSE_END============================================ |
| 21 | =================================================================== |
Determe, Sebastien (sd378r) | e35744d | 2017-08-29 04:21:41 -0700 | [diff] [blame] | 22 | --> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 23 | <project xmlns="http://maven.apache.org/POM/4.0.0" |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 24 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 25 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| 26 | <modelVersion>4.0.0</modelVersion> |
| 27 | <groupId>org.onap.policy</groupId> |
| 28 | <artifactId>clamp</artifactId> |
sebdet | e7e46e5 | 2021-03-25 09:48:06 +0100 | [diff] [blame] | 29 | <version>6.1.0-SNAPSHOT</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 30 | <name>policy-clamp</name> |
ChrisC | 5e9feb2 | 2017-06-21 02:38:57 -0700 | [diff] [blame] | 31 | |
sebdet | a5243a4 | 2019-06-13 13:48:04 +0200 | [diff] [blame] | 32 | |
sebdet | 025e65f | 2020-12-10 15:10:15 +0100 | [diff] [blame] | 33 | <parent> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 34 | <groupId>org.onap.policy.parent</groupId> |
| 35 | <artifactId>integration</artifactId> |
sebdet | 25f228a | 2021-02-17 12:01:01 +0100 | [diff] [blame] | 36 | <version>3.3.0</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 37 | <relativePath/> |
sebdet | 025e65f | 2020-12-10 15:10:15 +0100 | [diff] [blame] | 38 | </parent> |
Determe, Sebastien (sd378r) | a66fe45 | 2017-08-08 06:42:49 -0700 | [diff] [blame] | 39 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 40 | <description> |
| 41 | This is the MAVEN project that builds everything for ONAP POLICY-CLAMP. |
| 42 | Docker engine is normally requires to perfom all possible tasks (including integration tests) |
Ted Humphrey | 01e5fde | 2020-01-27 18:57:39 -0500 | [diff] [blame] | 43 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 44 | It can build: |
| 45 | - The ONAP POLICY-CLAMP JAR that contains CLAMP back-end code. |
| 46 | - The DOCKER images for: |
| 47 | * POLICY-CLAMP backend (Java Spring) |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 48 | * POLICY-CLAMP frontend (Javascript React) |
Determe, Sebastien (sd378r) | 8bf3343 | 2017-08-08 02:49:33 -0700 | [diff] [blame] | 49 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 50 | It can test: |
| 51 | - The POLICY-CLAMP backend, JAVA unit testing |
| 52 | - The POLICY-CLAMP backend, JAVA integration tests (with Spring + docker mariadb database + docker policy/dcae |
| 53 | emulator written in python) |
sebdet | eeaef28 | 2021-02-19 14:07:05 +0100 | [diff] [blame] | 54 | - The POLICY-CLAMP frontend, Javascript tests (NodeJS(NPM) + JEST and Enzyme for React) |
Ted Humphrey | 01e5fde | 2020-01-27 18:57:39 -0500 | [diff] [blame] | 55 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 56 | The test coverage for dev's can be found after a "clean install" build in: |
| 57 | - Clamp backend: target/jacoco-dev.exec (unit tests + integration tests merged) |
| 58 | or separately target/coverage-reports/jacoco.exec and target/coverage-reports/jacoco-it.exec |
| 59 | - Clamp frontend: target/ui-react/coverage |
Determe, Sebastien (sd378r) | 8bf3343 | 2017-08-08 02:49:33 -0700 | [diff] [blame] | 60 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 61 | Useful mvn commands: |
| 62 | - mvn clean install: Build Clamp backend JAR + unit tests + integration tests + NPM tests (+coverage for all) |
| 63 | - mvn clean install -DskipITs=true: Build Clamp backend JAR + unit tests + NPM tests (+coverage for all), it |
| 64 | does not require a DOCKER engine |
| 65 | - mvn clean install -DskipTests -P docker: Build Clamp backend JAR + all docker images |
Determe, Sebastien (sd378r) | 8bf3343 | 2017-08-08 02:49:33 -0700 | [diff] [blame] | 66 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 67 | To start POLICY-CLAMP (Build it before): |
| 68 | - Use docker-compose file in ./extra/docker/clamp/docker-compose.yml |
| 69 | - Use the script located in ./extra/bin/start-backend.sh + start-frontend.sh |
| 70 | - Use your IDE to use the Jar or start NVM/NPM |
Determe, Sebastien (sd378r) | 8bf3343 | 2017-08-08 02:49:33 -0700 | [diff] [blame] | 71 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 72 | </description> |
ChrisC | ae04cf3 | 2018-02-05 05:21:59 -0800 | [diff] [blame] | 73 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 74 | <properties> |
| 75 | <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> |
| 76 | <clamp.project.version>${project.version}</clamp.project.version> |
| 77 | <clamp.build.timestamp>${maven.build.timestamp}</clamp.build.timestamp> |
| 78 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| 79 | <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
Determe, Sebastien (sd378r) | 8bf3343 | 2017-08-08 02:49:33 -0700 | [diff] [blame] | 80 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 81 | <eelf.core.version>1.0.0</eelf.core.version> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 82 | <camel.version>3.7.3</camel.version> |
| 83 | <springboot.version>2.4.4</springboot.version> |
Determe, Sebastien (sd378r) | 8bf3343 | 2017-08-08 02:49:33 -0700 | [diff] [blame] | 84 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 85 | <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin> |
| 86 | <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath> |
| 87 | <sonar.coverage.jacoco.xmlReportPaths>${project.build.directory}/jacoco-html-xml-reports/jacoco.xml |
| 88 | </sonar.coverage.jacoco.xmlReportPaths> |
| 89 | <sonar.projectVersion>${project.version}</sonar.projectVersion> |
| 90 | <sonar.log.level>DEBUG</sonar.log.level> |
| 91 | <sonar.nodejs.executable>${project.build.directory}/${ui.react.src}/node/node</sonar.nodejs.executable> |
| 92 | <sonar.verbose>true</sonar.verbose> |
| 93 | <sonar.sources>src/main,${project.build.directory}/${ui.react.src}/src</sonar.sources> |
| 94 | <sonar.exclusions>src/main/resources/**</sonar.exclusions> |
| 95 | <sonar.scm.exclusions.disabled>true</sonar.scm.exclusions.disabled> |
| 96 | <sonar.javascript.lcov.reportPaths>${project.build.directory}/${ui.react.src}/coverage/lcov.info |
| 97 | </sonar.javascript.lcov.reportPaths> |
| 98 | <sonar.coverage.exclusions> |
| 99 | src/main/resources/**,target/ui-react/src/**/*.test.js,target/ui-react/src/setupTests.js |
| 100 | </sonar.coverage.exclusions> |
| 101 | <docker.push.registry>localhost:5000</docker.push.registry> |
| 102 | <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry> |
| 103 | <docker.skip.build>true</docker.skip.build> |
| 104 | <docker.skip.push>true</docker.skip.push> |
| 105 | <docker.skip.tag>true</docker.skip.tag> |
| 106 | <skip.staging.artifacts>false</skip.staging.artifacts> |
| 107 | <python.http.proxy.param/> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 108 | <tomcat.version>9.0.45</tomcat.version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 109 | <ui.react.src>ui-react</ui.react.src> |
| 110 | <ui.react.lib.src>ui-react-lib</ui.react.lib.src> |
| 111 | <npm.publish.url>https://nexus3.onap.org/repository/npm.snapshot/</npm.publish.url> |
sebdet | eeaef28 | 2021-02-19 14:07:05 +0100 | [diff] [blame] | 112 | |
| 113 | <policy.models.version>2.4.0</policy.models.version> |
sebdet | 7f685aa | 2021-03-25 18:19:29 +0100 | [diff] [blame] | 114 | <policy.common.version>1.8.1</policy.common.version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 115 | </properties> |
ChrisC | 5e9feb2 | 2017-06-21 02:38:57 -0700 | [diff] [blame] | 116 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 117 | <profiles> |
| 118 | <!-- BEGIN: NOT USABLE profiles, those are defined when specific flags are enabled --> |
| 119 | <profile> |
| 120 | <id>without-test</id> |
| 121 | <activation> |
| 122 | <property> |
| 123 | <name>maven.test.skip</name> |
| 124 | <value>true</value> |
| 125 | </property> |
| 126 | </activation> |
| 127 | <properties> |
| 128 | <docker.skip.run>true</docker.skip.run> |
| 129 | <docker.skip>true</docker.skip> |
| 130 | </properties> |
| 131 | </profile> |
| 132 | <profile> |
| 133 | <id>without-IT-only</id> |
| 134 | <activation> |
| 135 | <property> |
| 136 | <name>skipITs</name> |
| 137 | <value>true</value> |
| 138 | </property> |
| 139 | </activation> |
| 140 | <properties> |
| 141 | <docker.skip.run>true</docker.skip.run> |
| 142 | <docker.skip>true</docker.skip> |
| 143 | </properties> |
| 144 | </profile> |
| 145 | <profile> |
| 146 | <id>without-IT-only2</id> |
| 147 | <activation> |
| 148 | <property> |
| 149 | <name>skipTests</name> |
| 150 | <value>true</value> |
| 151 | </property> |
| 152 | </activation> |
| 153 | <properties> |
| 154 | <docker.skip.run>true</docker.skip.run> |
| 155 | <docker.skip>true</docker.skip> |
| 156 | </properties> |
| 157 | </profile> |
| 158 | <!-- END: NOT USABLE profiles, those are defined when specific flags are enabled --> |
| 159 | <profile> |
| 160 | <id>docker</id> |
| 161 | <properties> |
| 162 | <skip.staging.artifacts>true</skip.staging.artifacts> |
| 163 | <docker.skip.build>false</docker.skip.build> |
| 164 | <docker.skip.tag>false</docker.skip.tag> |
| 165 | <docker.skip.push>false</docker.skip.push> |
| 166 | <docker.skip>false</docker.skip> |
| 167 | </properties> |
| 168 | </profile> |
| 169 | </profiles> |
Determe, Sebastien (sd378r) | d3428d8 | 2018-06-26 15:05:55 +0200 | [diff] [blame] | 170 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 171 | <distributionManagement> |
| 172 | <repository> |
| 173 | <id>ecomp-releases</id> |
| 174 | <name>ONAP Release Repository</name> |
| 175 | <url>https://nexus.onap.org/content/repositories/releases/</url> |
| 176 | </repository> |
| 177 | <snapshotRepository> |
| 178 | <id>ecomp-snapshots</id> |
| 179 | <name>ONAP Snapshot Repository</name> |
| 180 | <url>https://nexus.onap.org/content/repositories/snapshots/</url> |
| 181 | </snapshotRepository> |
| 182 | <site> |
| 183 | <id>ecomp-site</id> |
| 184 | <url>dav:https://nexus.onap.org/content/sites/site/org/onap/policy/clamp/${project.version}</url> |
| 185 | </site> |
| 186 | </distributionManagement> |
ChrisC | 5e9feb2 | 2017-06-21 02:38:57 -0700 | [diff] [blame] | 187 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 188 | <repositories> |
| 189 | <repository> |
| 190 | <id>onap-public</id> |
| 191 | <name>onap-public</name> |
| 192 | <url>https://nexus.onap.org/content/repositories/public/</url> |
| 193 | <releases> |
| 194 | <enabled>true</enabled> |
| 195 | </releases> |
| 196 | <snapshots> |
| 197 | <enabled>false</enabled> |
| 198 | </snapshots> |
| 199 | </repository> |
| 200 | <repository> |
| 201 | <id>ecomp-releases</id> |
| 202 | <name>ONAP Release Repository</name> |
| 203 | <url>https://nexus.onap.org/content/repositories/releases/</url> |
| 204 | </repository> |
| 205 | <repository> |
| 206 | <id>ecomp-staging</id> |
| 207 | <name>ONAP Staging Repository</name> |
| 208 | <url>https://nexus.onap.org/content/repositories/staging/</url> |
| 209 | </repository> |
| 210 | <repository> |
| 211 | <id>ecomp-snapshots</id> |
| 212 | <name>ONAP Snapshot Repository</name> |
| 213 | <url>https://nexus.onap.org/content/repositories/snapshots/</url> |
| 214 | <snapshots> |
| 215 | <enabled>true</enabled> |
| 216 | </snapshots> |
| 217 | <releases> |
| 218 | <enabled>false</enabled> |
| 219 | </releases> |
| 220 | </repository> |
| 221 | <repository> |
| 222 | <id>central</id> |
| 223 | <url>http://repo1.maven.org/maven2/</url> |
| 224 | </repository> |
| 225 | </repositories> |
| 226 | <pluginRepositories> |
| 227 | <pluginRepository> |
| 228 | <id>onap-public</id> |
| 229 | <name>onap-public</name> |
| 230 | <url>https://nexus.onap.org/content/repositories/public/</url> |
| 231 | <releases> |
| 232 | <enabled>true</enabled> |
| 233 | </releases> |
| 234 | <snapshots> |
| 235 | <enabled>false</enabled> |
| 236 | </snapshots> |
| 237 | </pluginRepository> |
| 238 | <pluginRepository> |
| 239 | <id>central</id> |
| 240 | <url>http://repo1.maven.org/maven2/</url> |
| 241 | </pluginRepository> |
| 242 | </pluginRepositories> |
ChrisC | 5e9feb2 | 2017-06-21 02:38:57 -0700 | [diff] [blame] | 243 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 244 | <dependencyManagement> |
| 245 | <dependencies> |
| 246 | <!-- Spring Boot BOM --> |
| 247 | <dependency> |
| 248 | <groupId>org.springframework.boot</groupId> |
| 249 | <artifactId>spring-boot-dependencies</artifactId> |
| 250 | <version>${springboot.version}</version> |
| 251 | <type>pom</type> |
| 252 | <scope>import</scope> |
| 253 | </dependency> |
| 254 | <!-- Camel BOM --> |
| 255 | <dependency> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 256 | <groupId>org.apache.camel.springboot</groupId> |
| 257 | <artifactId>camel-spring-boot-bom</artifactId> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 258 | <version>${camel.version}</version> |
| 259 | <type>pom</type> |
| 260 | <scope>import</scope> |
| 261 | </dependency> |
| 262 | </dependencies> |
| 263 | </dependencyManagement> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 264 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 265 | <dependencies> |
| 266 | <dependency> |
| 267 | <groupId>com.att.eelf</groupId> |
| 268 | <artifactId>eelf-core</artifactId> |
| 269 | <version>${eelf.core.version}</version> |
| 270 | <exclusions> |
| 271 | <exclusion> |
| 272 | <groupId>org.powermock</groupId> |
| 273 | <artifactId>powermock-module-junit4</artifactId> |
| 274 | </exclusion> |
| 275 | <exclusion> |
| 276 | <groupId>org.powermock</groupId> |
| 277 | <artifactId>powermock-api-mockito</artifactId> |
| 278 | </exclusion> |
| 279 | </exclusions> |
| 280 | </dependency> |
| 281 | <dependency> |
| 282 | <groupId>org.codehaus.janino</groupId> |
| 283 | <artifactId>janino</artifactId> |
| 284 | <version>3.0.8</version> |
| 285 | </dependency> |
| 286 | <dependency> |
| 287 | <groupId>org.apache.tomcat.embed</groupId> |
| 288 | <artifactId>tomcat-embed-core</artifactId> |
| 289 | <version>${tomcat.version}</version> |
| 290 | </dependency> |
| 291 | <dependency> |
| 292 | <groupId>org.apache.tomcat.embed</groupId> |
| 293 | <artifactId>tomcat-embed-el</artifactId> |
| 294 | <version>${tomcat.version}</version> |
| 295 | </dependency> |
| 296 | <dependency> |
| 297 | <groupId>org.apache.tomcat.embed</groupId> |
| 298 | <artifactId>tomcat-embed-websocket</artifactId> |
| 299 | <version>${tomcat.version}</version> |
| 300 | </dependency> |
| 301 | <dependency> |
| 302 | <groupId>org.apache.tomcat</groupId> |
| 303 | <artifactId>tomcat-annotations-api</artifactId> |
| 304 | <version>${tomcat.version}</version> |
| 305 | </dependency> |
| 306 | <!-- For CAMEL --> |
| 307 | <dependency> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 308 | <groupId>org.apache.camel.springboot</groupId> |
| 309 | <artifactId>camel-http-starter</artifactId> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 310 | </dependency> |
| 311 | <dependency> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 312 | <groupId>org.apache.camel.springboot</groupId> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 313 | <artifactId>camel-spring-boot-starter</artifactId> |
| 314 | </dependency> |
| 315 | <dependency> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 316 | <groupId>org.apache.camel.springboot</groupId> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 317 | <artifactId>camel-jaxb-starter</artifactId> |
| 318 | </dependency> |
| 319 | <dependency> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 320 | <groupId>org.apache.camel.springboot</groupId> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 321 | <artifactId>camel-servlet-starter</artifactId> |
| 322 | </dependency> |
| 323 | <dependency> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 324 | <groupId>org.apache.camel.springboot</groupId> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 325 | <artifactId>camel-gson-starter</artifactId> |
| 326 | </dependency> |
| 327 | <dependency> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 328 | <groupId>org.apache.camel.springboot</groupId> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 329 | <artifactId>camel-swagger-java-starter</artifactId> |
| 330 | <exclusions> |
| 331 | <exclusion> |
| 332 | <groupId>javax.ws.rs</groupId> |
| 333 | <artifactId>jsr311-api</artifactId> |
| 334 | </exclusion> |
| 335 | <exclusion> |
| 336 | <groupId>org.slf4j</groupId> |
| 337 | <artifactId>slf4j-ext</artifactId> |
| 338 | </exclusion> |
| 339 | </exclusions> |
| 340 | </dependency> |
| 341 | <!-- Spring famework --> |
| 342 | <dependency> |
| 343 | <groupId>org.springframework.boot</groupId> |
| 344 | <artifactId>spring-boot-starter-web</artifactId> |
| 345 | <exclusions> |
| 346 | <exclusion> |
| 347 | <groupId>org.springframework.boot</groupId> |
| 348 | <artifactId>spring-boot-starter-json</artifactId> |
| 349 | </exclusion> |
| 350 | </exclusions> |
| 351 | </dependency> |
| 352 | <dependency> |
| 353 | <groupId>org.springframework.boot</groupId> |
| 354 | <artifactId>spring-boot-starter-tomcat</artifactId> |
sebdet | 001e042 | 2021-04-19 15:23:56 +0200 | [diff] [blame] | 355 | <exclusions> |
| 356 | <exclusion> |
| 357 | <groupId>org.glassfish</groupId> |
| 358 | <artifactId>jakarta.el</artifactId> |
| 359 | </exclusion> |
| 360 | </exclusions> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 361 | </dependency> |
| 362 | <dependency> |
| 363 | <groupId>org.springframework</groupId> |
| 364 | <artifactId>spring-jdbc</artifactId> |
| 365 | </dependency> |
| 366 | <dependency> |
| 367 | <groupId>org.springframework.boot</groupId> |
| 368 | <artifactId>spring-boot-starter-security</artifactId> |
| 369 | </dependency> |
| 370 | <dependency> |
| 371 | <groupId>org.springframework.boot</groupId> |
| 372 | <artifactId>spring-boot-autoconfigure</artifactId> |
| 373 | </dependency> |
| 374 | <dependency> |
| 375 | <groupId>org.springframework.boot</groupId> |
| 376 | <artifactId>spring-boot-starter-test</artifactId> |
| 377 | <scope>test</scope> |
| 378 | <exclusions> |
| 379 | <exclusion> |
| 380 | <groupId>com.vaadin.external.google</groupId> |
| 381 | <artifactId>android-json</artifactId> |
| 382 | </exclusion> |
| 383 | </exclusions> |
| 384 | </dependency> |
| 385 | <dependency> |
| 386 | <groupId>org.springframework.boot</groupId> |
| 387 | <artifactId>spring-boot-starter-data-jpa</artifactId> |
| 388 | </dependency> |
| 389 | <!-- Policy dependencies mainly for the models required --> |
| 390 | <dependency> |
| 391 | <groupId>org.onap.policy.models</groupId> |
| 392 | <artifactId>policy-models-pdp</artifactId> |
sebdet | eeaef28 | 2021-02-19 14:07:05 +0100 | [diff] [blame] | 393 | <version>${policy.models.version}</version> |
sebdet | 001e042 | 2021-04-19 15:23:56 +0200 | [diff] [blame] | 394 | <exclusions> |
| 395 | <exclusion> |
| 396 | <groupId>org.eclipse.jetty</groupId> |
| 397 | <artifactId>jetty-server</artifactId> |
| 398 | </exclusion> |
| 399 | <exclusion> |
| 400 | <groupId>org.glassfish.jersey.containers</groupId> |
| 401 | <artifactId>jersey-container-servlet</artifactId> |
| 402 | </exclusion> |
sebdet | 9b5272f | 2021-04-22 09:33:47 +0200 | [diff] [blame] | 403 | <exclusion> |
| 404 | <groupId>org.jetbrains.kotlin</groupId> |
| 405 | <artifactId>kotlin-reflect</artifactId> |
| 406 | </exclusion> |
| 407 | <exclusion> |
| 408 | <groupId>org.jetbrains.kotlin</groupId> |
| 409 | <artifactId>kotlin-stdlib</artifactId> |
| 410 | </exclusion> |
| 411 | <exclusion> |
| 412 | <groupId>org.jetbrains.kotlin</groupId> |
| 413 | <artifactId>kotlin-stdlib-common</artifactId> |
| 414 | </exclusion> |
sebdet | 001e042 | 2021-04-19 15:23:56 +0200 | [diff] [blame] | 415 | </exclusions> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 416 | </dependency> |
sebdet | 5ec88e4 | 2020-08-03 15:25:07 +0200 | [diff] [blame] | 417 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 418 | <!-- Others dependencies --> |
| 419 | <!-- Jaxws is required for AAF --> |
| 420 | <dependency> |
| 421 | <groupId>javax.xml.ws</groupId> |
| 422 | <artifactId>jaxws-api</artifactId> |
| 423 | <version>2.3.1</version> |
| 424 | </dependency> |
| 425 | <dependency> |
| 426 | <groupId>org.onap.aaf.authz</groupId> |
| 427 | <artifactId>aaf-cadi-aaf</artifactId> |
| 428 | <version>2.1.15</version> |
| 429 | <exclusions> |
| 430 | <exclusion> |
| 431 | <groupId>javax.servlet</groupId> |
| 432 | <artifactId>servlet-api</artifactId> |
| 433 | </exclusion> |
| 434 | <exclusion> |
| 435 | <groupId>log4j</groupId> |
| 436 | <artifactId>log4j</artifactId> |
| 437 | </exclusion> |
| 438 | </exclusions> |
| 439 | </dependency> |
| 440 | <dependency> |
| 441 | <groupId>ch.qos.logback</groupId> |
| 442 | <artifactId>logback-core</artifactId> |
| 443 | <version>1.2.3</version> |
| 444 | </dependency> |
| 445 | <dependency> |
| 446 | <groupId>ch.qos.logback</groupId> |
| 447 | <artifactId>logback-classic</artifactId> |
| 448 | <version>1.2.3</version> |
| 449 | </dependency> |
| 450 | <dependency> |
| 451 | <groupId>commons-io</groupId> |
| 452 | <artifactId>commons-io</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 453 | <version>2.8.0</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 454 | </dependency> |
| 455 | <dependency> |
| 456 | <groupId>com.googlecode.json-simple</groupId> |
| 457 | <artifactId>json-simple</artifactId> |
| 458 | <version>1.1.1</version> |
| 459 | </dependency> |
| 460 | <dependency> |
| 461 | <groupId>org.apache.commons</groupId> |
| 462 | <artifactId>commons-vfs2</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 463 | <version>2.8.0</version> |
sebdet | 001e042 | 2021-04-19 15:23:56 +0200 | [diff] [blame] | 464 | <exclusions> |
| 465 | <exclusion> |
| 466 | <groupId>com.squareup.okhttp</groupId> |
| 467 | <artifactId>okhttp</artifactId> |
| 468 | </exclusion> |
| 469 | </exclusions> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 470 | </dependency> |
| 471 | <dependency> |
| 472 | <groupId>org.slf4j</groupId> |
| 473 | <artifactId>slf4j-api</artifactId> |
| 474 | </dependency> |
| 475 | <dependency> |
| 476 | <groupId>javax.transaction</groupId> |
| 477 | <artifactId>jta</artifactId> |
| 478 | <version>1.1</version> |
| 479 | </dependency> |
| 480 | <dependency> |
| 481 | <groupId>javax.persistence</groupId> |
| 482 | <artifactId>persistence-api</artifactId> |
| 483 | <version>1.0.2</version> |
| 484 | </dependency> |
| 485 | <!-- Other dependencies to fix nexus IQ reported vulnerabilities --> |
| 486 | <dependency> |
| 487 | <groupId>commons-codec</groupId> |
| 488 | <artifactId>commons-codec</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 489 | <version>1.15</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 490 | </dependency> |
| 491 | <dependency> |
| 492 | <groupId>org.codehaus.plexus</groupId> |
| 493 | <artifactId>plexus-utils</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 494 | <version>3.3.0</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 495 | </dependency> |
| 496 | <dependency> |
| 497 | <groupId>org.jboss.spec.javax.ws.rs</groupId> |
| 498 | <artifactId>jboss-jaxrs-api_2.0_spec</artifactId> |
| 499 | <version>1.0.1.Final</version> |
| 500 | </dependency> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 501 | |
sebdet | 3b01773 | 2020-04-20 15:30:45 +0200 | [diff] [blame] | 502 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 503 | <!-- Remove the MYSQL connector and replace it by Mariadb --> |
| 504 | <dependency> |
| 505 | <groupId>org.mariadb.jdbc</groupId> |
| 506 | <artifactId>mariadb-java-client</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 507 | <version>2.7.2</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 508 | </dependency> |
| 509 | <!-- For SDC Controller --> |
| 510 | <dependency> |
| 511 | <groupId>org.onap.sdc.sdc-distribution-client</groupId> |
| 512 | <artifactId>sdc-distribution-client</artifactId> |
| 513 | <version>1.4.1</version> |
| 514 | </dependency> |
| 515 | <dependency> |
| 516 | <groupId>org.onap.sdc.sdc-tosca</groupId> |
| 517 | <artifactId>sdc-tosca</artifactId> |
| 518 | <version>1.5.1</version> |
| 519 | <exclusions> |
| 520 | <exclusion> |
| 521 | <groupId>com.fasterxml.jackson.core</groupId> |
| 522 | <artifactId>jackson-databind</artifactId> |
| 523 | </exclusion> |
| 524 | </exclusions> |
| 525 | </dependency> |
| 526 | <dependency> |
| 527 | <groupId>org.yaml</groupId> |
| 528 | <artifactId>snakeyaml</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 529 | <version>1.28</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 530 | </dependency> |
| 531 | <dependency> |
| 532 | <groupId>org.dom4j</groupId> |
| 533 | <artifactId>dom4j</artifactId> |
| 534 | <version>2.1.3</version> |
| 535 | </dependency> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 536 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 537 | <!-- TESTING --> |
| 538 | <dependency> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 539 | <groupId>org.junit.vintage</groupId> |
| 540 | <artifactId>junit-vintage-engine</artifactId> |
| 541 | <version>5.7.1</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 542 | <scope>test</scope> |
| 543 | </dependency> |
| 544 | <dependency> |
| 545 | <groupId>org.assertj</groupId> |
| 546 | <artifactId>assertj-core</artifactId> |
| 547 | <version>3.10.0</version> |
| 548 | <scope>test</scope> |
| 549 | </dependency> |
| 550 | <dependency> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 551 | <groupId>com.github.docker-java</groupId> |
| 552 | <artifactId>docker-java-core</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 553 | <version>3.2.7</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 554 | <scope>test</scope> |
| 555 | <exclusions> |
| 556 | <exclusion> |
| 557 | <groupId>com.fasterxml.jackson.core</groupId> |
| 558 | <artifactId>jackson-databind</artifactId> |
| 559 | </exclusion> |
| 560 | </exclusions> |
| 561 | </dependency> |
| 562 | <dependency> |
| 563 | <groupId>com.github.docker-java</groupId> |
| 564 | <artifactId>docker-java</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 565 | <version>3.2.7</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 566 | <scope>test</scope> |
| 567 | </dependency> |
sebdet | 7f685aa | 2021-03-25 18:19:29 +0100 | [diff] [blame] | 568 | <dependency> |
| 569 | <groupId>org.onap.policy.common</groupId> |
| 570 | <artifactId>utils-test</artifactId> |
| 571 | <version>${policy.common.version}</version> |
| 572 | <scope>test</scope> |
| 573 | </dependency> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 574 | </dependencies> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 575 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 576 | <build> |
| 577 | <finalName>policy-clamp-backend</finalName> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 578 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 579 | <testResources> |
| 580 | <testResource> |
| 581 | <directory>src/main/resources</directory> |
| 582 | <filtering>true</filtering> |
| 583 | <excludes> |
| 584 | <exclude>clds/aaf/**</exclude> |
| 585 | </excludes> |
| 586 | </testResource> |
| 587 | <testResource> |
| 588 | <directory>src/main/resources</directory> |
| 589 | <filtering>false</filtering> |
| 590 | <includes> |
| 591 | <include>clds/aaf/**</include> |
| 592 | </includes> |
| 593 | </testResource> |
| 594 | <testResource> |
| 595 | <directory>src/test/resources</directory> |
| 596 | <excludes> |
| 597 | <exclude>**/*.jks</exclude> |
| 598 | <exclude>**/*.csar</exclude> |
| 599 | </excludes> |
| 600 | <filtering>true</filtering> |
| 601 | </testResource> |
| 602 | <testResource> |
| 603 | <directory>src/test/resources/https</directory> |
| 604 | <includes> |
| 605 | <include>**.jks</include> |
| 606 | </includes> |
| 607 | <filtering>false</filtering> |
| 608 | <targetPath>https</targetPath> |
| 609 | </testResource> |
| 610 | <testResource> |
| 611 | <directory>src/test/resources/example/sdc</directory> |
| 612 | <includes> |
| 613 | <include>**.csar</include> |
| 614 | </includes> |
| 615 | <filtering>false</filtering> |
| 616 | <targetPath>example/sdc</targetPath> |
| 617 | </testResource> |
| 618 | </testResources> |
| 619 | <resources> |
| 620 | <!-- For AAF folder maven should not try to filter Keystores/Truststores ... Otherwise |
| 621 | they will be broken and unreadable --> |
| 622 | <resource> |
| 623 | <directory>src/main/resources</directory> |
| 624 | <filtering>true</filtering> |
| 625 | <excludes> |
| 626 | <exclude>clds/aaf/**</exclude> |
| 627 | </excludes> |
| 628 | </resource> |
| 629 | <resource> |
| 630 | <directory>src/main/resources</directory> |
| 631 | <filtering>false</filtering> |
| 632 | <includes> |
| 633 | <include>clds/aaf/**</include> |
| 634 | </includes> |
| 635 | </resource> |
| 636 | <resource> |
| 637 | <directory>${ui.react.src}</directory> |
| 638 | <excludes> |
| 639 | <exclude>node_modules</exclude> |
| 640 | </excludes> |
| 641 | <includes> |
| 642 | <include>src/**</include> |
| 643 | <include>public/**</include> |
| 644 | <include>package.json</include> |
| 645 | <include>package-lock.json</include> |
| 646 | </includes> |
| 647 | <filtering>true</filtering> |
| 648 | <targetPath>${project.build.directory}/${ui.react.src}</targetPath> |
| 649 | </resource> |
| 650 | <resource> |
| 651 | <directory>${ui.react.src}</directory> |
| 652 | <includes> |
| 653 | <include>src/**</include> |
| 654 | </includes> |
| 655 | <excludes> |
| 656 | <exclude>**/__snapshots__/**</exclude> |
| 657 | <exclude>**/**.test.js</exclude> |
| 658 | </excludes> |
| 659 | <filtering>true</filtering> |
| 660 | <targetPath>${project.build.directory}/${ui.react.lib.src}</targetPath> |
| 661 | </resource> |
| 662 | <resource> |
| 663 | <directory>${ui.react.lib.src}</directory> |
| 664 | <includes> |
| 665 | <include>**</include> |
| 666 | </includes> |
| 667 | <excludes> |
| 668 | <exclude>node_modules/**</exclude> |
| 669 | <exclude>package-lock.json</exclude> |
| 670 | </excludes> |
| 671 | <filtering>true</filtering> |
| 672 | <targetPath>${project.build.directory}/${ui.react.lib.src}</targetPath> |
| 673 | </resource> |
| 674 | </resources> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 675 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 676 | <plugins> |
| 677 | <plugin> |
| 678 | <groupId>de.jpdigital</groupId> |
| 679 | <artifactId>hibernate52-ddl-maven-plugin</artifactId> |
| 680 | <version>2.2.0</version> |
| 681 | <dependencies> |
| 682 | <dependency> |
| 683 | <groupId>javax.xml.bind</groupId> |
| 684 | <artifactId>jaxb-api</artifactId> |
| 685 | <version>2.3.0</version> |
| 686 | </dependency> |
| 687 | </dependencies> |
| 688 | <executions> |
| 689 | <execution> |
| 690 | <phase>process-classes</phase> |
| 691 | <goals> |
| 692 | <goal>gen-ddl</goal> |
| 693 | </goals> |
| 694 | <configuration> |
| 695 | <packages> |
| 696 | <param>org.onap.policy.clamp</param> |
| 697 | </packages> |
| 698 | <dialects> |
| 699 | <param>MARIADB53</param> |
| 700 | </dialects> |
| 701 | <outputDirectory>${project.basedir}/extra/sql/bulkload/</outputDirectory> |
| 702 | <outputFileNameSuffix>create-tables</outputFileNameSuffix> |
| 703 | <!-- <createDropStatements>true</createDropStatements> --> |
| 704 | <omitDialectFromFileName>true</omitDialectFromFileName> |
| 705 | </configuration> |
| 706 | </execution> |
| 707 | </executions> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 708 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 709 | </plugin> |
| 710 | <!-- Read the swagger.json file and the definition from SwaggerConfig.java; generate |
| 711 | a list of .adoc files containing the APIs info in more structured way --> |
| 712 | <plugin> |
| 713 | <groupId>io.github.swagger2markup</groupId> |
| 714 | <artifactId>swagger2markup-maven-plugin</artifactId> |
| 715 | <version>1.3.3</version> |
| 716 | <dependencies> |
| 717 | <dependency> |
| 718 | <groupId>io.github.swagger2markup</groupId> |
| 719 | <artifactId>swagger2markup-import-files-ext</artifactId> |
| 720 | <version>1.3.3</version> |
| 721 | </dependency> |
| 722 | <dependency> |
| 723 | <groupId>io.github.swagger2markup</groupId> |
| 724 | <artifactId>swagger2markup-spring-restdocs-ext</artifactId> |
| 725 | <version>1.3.3</version> |
| 726 | </dependency> |
| 727 | </dependencies> |
| 728 | <configuration> |
| 729 | <swaggerInput>${project.basedir}/docs/swagger/swagger.json</swaggerInput> |
| 730 | <outputDir>${project.build.directory}/asciidoc/generated</outputDir> |
| 731 | <config> |
| 732 | <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage> |
| 733 | </config> |
| 734 | </configuration> |
| 735 | <executions> |
| 736 | <execution> |
| 737 | <phase>post-integration-test</phase> |
| 738 | <goals> |
| 739 | <goal>convertSwagger2markup</goal> |
| 740 | </goals> |
| 741 | </execution> |
| 742 | </executions> |
| 743 | </plugin> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 744 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 745 | <!-- Run the generated asciidoc through Asciidoctor to generate other documentation |
| 746 | types, such as PDFs or HTML5 --> |
| 747 | <plugin> |
| 748 | <groupId>org.asciidoctor</groupId> |
| 749 | <artifactId>asciidoctor-maven-plugin</artifactId> |
| 750 | <version>1.5.7.1</version> |
| 751 | <dependencies> |
| 752 | <dependency> |
| 753 | <groupId>org.asciidoctor</groupId> |
| 754 | <artifactId>asciidoctorj-pdf</artifactId> |
| 755 | <version>1.5.0-alpha.10.1</version> |
| 756 | </dependency> |
| 757 | </dependencies> |
| 758 | <configuration> |
| 759 | <sourceDirectory>${project.basedir}/src/main/resources/asciidoc</sourceDirectory> |
| 760 | <sourceDocumentName>swagger.adoc</sourceDocumentName> |
| 761 | <attributes> |
| 762 | <doctype>book</doctype> |
| 763 | <toc>left</toc> |
| 764 | <toclevels>3</toclevels> |
| 765 | <numbered/> |
| 766 | <hardbreaks/> |
| 767 | <sectlinks/> |
| 768 | <sectanchors/> |
| 769 | <generated>${project.build.directory}/asciidoc/generated</generated> |
| 770 | </attributes> |
| 771 | </configuration> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 772 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 773 | <executions> |
| 774 | <execution> |
| 775 | <id>output-html</id> |
| 776 | <phase>post-integration-test</phase> |
| 777 | <goals> |
| 778 | <goal>process-asciidoc</goal> |
| 779 | </goals> |
| 780 | <configuration> |
| 781 | <backend>html5</backend> |
| 782 | <outputDirectory>${project.basedir}/docs/swagger</outputDirectory> |
| 783 | <outputDirectory>${project.basedir}/src/main/resources/META-INF/resources/</outputDirectory> |
| 784 | </configuration> |
| 785 | </execution> |
| 786 | <execution> |
| 787 | <id>output-pdf</id> |
| 788 | <phase>post-integration-test</phase> |
| 789 | <goals> |
| 790 | <goal>process-asciidoc</goal> |
| 791 | </goals> |
| 792 | <configuration> |
| 793 | <backend>pdf</backend> |
| 794 | <outputDirectory>${project.basedir}/docs/swagger</outputDirectory> |
| 795 | </configuration> |
| 796 | </execution> |
| 797 | </executions> |
| 798 | </plugin> |
| 799 | <plugin> |
| 800 | <groupId>org.codehaus.groovy.maven</groupId> |
| 801 | <artifactId>gmaven-plugin</artifactId> |
| 802 | <version>1.0</version> |
| 803 | <executions> |
| 804 | <execution> |
| 805 | <id>docker-tags</id> |
| 806 | <phase>validate</phase> |
| 807 | <goals> |
| 808 | <goal>execute</goal> |
| 809 | </goals> |
| 810 | <configuration> |
| 811 | <source>${project.basedir}/src/main/script/TagVersion.groovy</source> |
| 812 | </configuration> |
| 813 | </execution> |
| 814 | <execution> |
| 815 | <id>npm-repos-selection</id> |
| 816 | <phase>validate</phase> |
| 817 | <goals> |
| 818 | <goal>execute</goal> |
| 819 | </goals> |
| 820 | <configuration> |
| 821 | <source>${project.basedir}/src/main/script/SelectNpmRepo.groovy</source> |
| 822 | </configuration> |
| 823 | </execution> |
| 824 | </executions> |
| 825 | </plugin> |
| 826 | <plugin> |
| 827 | <groupId>org.apache.maven.plugins</groupId> |
| 828 | <artifactId>maven-jar-plugin</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 829 | <version>3.2.0</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 830 | <executions> |
| 831 | <execution> |
| 832 | <id>jar-with-only-classes</id> |
| 833 | <phase>package</phase> |
| 834 | <goals> |
| 835 | <goal>jar</goal> |
| 836 | </goals> |
| 837 | <configuration> |
| 838 | <classifier>classes</classifier> |
| 839 | <includes> |
| 840 | <include>org/**</include> |
| 841 | </includes> |
| 842 | </configuration> |
| 843 | </execution> |
| 844 | </executions> |
| 845 | </plugin> |
| 846 | <plugin> |
| 847 | <groupId>org.codehaus.mojo</groupId> |
| 848 | <artifactId>build-helper-maven-plugin</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 849 | <version>3.2.0</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 850 | <executions> |
| 851 | <execution> |
| 852 | <goals> |
| 853 | <goal>attach-artifact</goal> |
| 854 | </goals> |
| 855 | <phase>package</phase> |
| 856 | <configuration> |
| 857 | <artifacts> |
| 858 | <artifact> |
| 859 | <file>${project.build.directory}/policy-clamp-backend-classes.jar</file> |
| 860 | <type>jar</type> |
| 861 | <classifier>classes</classifier> |
| 862 | </artifact> |
| 863 | </artifacts> |
| 864 | </configuration> |
| 865 | </execution> |
| 866 | <execution> |
| 867 | <id>reserve-port-for-tests</id> |
| 868 | <phase>process-resources</phase> |
| 869 | <goals> |
| 870 | <goal>reserve-network-port</goal> |
| 871 | </goals> |
| 872 | <configuration> |
| 873 | <portNames> |
| 874 | <portName>docker.mariadb.port.host</portName> |
| 875 | <portName>docker.http-cache.port.host</portName> |
| 876 | <portName>clamp.it.tests.http-redirected</portName> |
| 877 | <portName>clamp.it.tests.robotframework.http</portName> |
| 878 | <portName>clamp.it.tests.https</portName> |
| 879 | <portName>clamp.it.tests.http</portName> |
| 880 | </portNames> |
| 881 | </configuration> |
| 882 | </execution> |
| 883 | </executions> |
| 884 | </plugin> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 885 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 886 | <plugin> |
| 887 | <groupId>org.springframework.boot</groupId> |
| 888 | <artifactId>spring-boot-maven-plugin</artifactId> |
| 889 | <version>${springboot.version}</version> |
| 890 | <executions> |
| 891 | <execution> |
| 892 | <goals> |
| 893 | <goal>repackage</goal> |
| 894 | </goals> |
| 895 | <phase>package</phase> |
| 896 | </execution> |
| 897 | </executions> |
| 898 | </plugin> |
| 899 | <plugin> |
| 900 | <groupId>org.apache.maven.plugins</groupId> |
| 901 | <artifactId>maven-surefire-plugin</artifactId> |
| 902 | <version>2.22.2</version> |
| 903 | <configuration> |
| 904 | <forkCount>1C</forkCount> |
| 905 | <reuseForks>true</reuseForks> |
| 906 | <useSystemClassLoader>false</useSystemClassLoader> |
| 907 | <argLine>${surefireArgLine}</argLine> |
| 908 | </configuration> |
| 909 | </plugin> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 910 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 911 | <plugin> |
| 912 | <groupId>org.apache.maven.plugins</groupId> |
| 913 | <artifactId>maven-failsafe-plugin</artifactId> |
| 914 | <version>2.22.2</version> |
| 915 | <executions> |
| 916 | <execution> |
| 917 | <id>integration-tests</id> |
| 918 | <goals> |
| 919 | <goal>integration-test</goal> |
| 920 | <goal>verify</goal> |
| 921 | </goals> |
| 922 | <configuration> |
| 923 | <additionalClasspathElements> |
| 924 | <additionalClasspathElement>${project.build.directory}/classes |
| 925 | </additionalClasspathElement> |
| 926 | </additionalClasspathElements> |
| 927 | <includes> |
| 928 | <include>**/*ItCase.java</include> |
| 929 | </includes> |
| 930 | <forkCount>1C</forkCount> |
| 931 | <reuseForks>true</reuseForks> |
| 932 | <useSystemClassLoader>false</useSystemClassLoader> |
| 933 | <argLine>${failsafeArgLine}</argLine> |
| 934 | </configuration> |
| 935 | </execution> |
| 936 | </executions> |
| 937 | </plugin> |
| 938 | <plugin> |
| 939 | <groupId>io.fabric8</groupId> |
| 940 | <artifactId>docker-maven-plugin</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 941 | <version>0.35.0</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 942 | <dependencies> |
| 943 | <dependency> |
| 944 | <groupId>org.apache.httpcomponents</groupId> |
| 945 | <artifactId>httpclient</artifactId> |
| 946 | <version>4.5.5</version> |
| 947 | </dependency> |
| 948 | </dependencies> |
| 949 | <configuration> |
| 950 | <verbose>true</verbose> |
| 951 | <apiVersion>1.35</apiVersion> |
| 952 | <images> |
| 953 | <image> |
| 954 | <name>docker.io/mariadb:10.5.4</name> |
| 955 | <alias>mariadb</alias> |
| 956 | <run> |
| 957 | <env> |
| 958 | <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD> |
| 959 | </env> |
| 960 | <hostname>mariadb</hostname> |
| 961 | <volumes> |
| 962 | <bind> |
| 963 | <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d:rw</volume> |
| 964 | <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume> |
| 965 | </bind> |
| 966 | </volumes> |
| 967 | <wait> |
sebdet | b8831e5 | 2021-03-12 19:30:22 +0100 | [diff] [blame] | 968 | <log>port: 3306</log> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 969 | <time>300000</time> |
| 970 | <exec> |
| 971 | <preStop>/docker-entrypoint-initdb.d/dump/backup-data-only.sh</preStop> |
| 972 | </exec> |
| 973 | </wait> |
| 974 | <ports> |
| 975 | <port>${docker.mariadb.port.host}:3306</port> |
| 976 | </ports> |
| 977 | <network> |
| 978 | <mode>bridge</mode> |
| 979 | </network> |
| 980 | </run> |
| 981 | </image> |
| 982 | <image> |
| 983 | <name>docker.io/python:2-slim</name> |
| 984 | <alias>python</alias> |
| 985 | <run> |
| 986 | <hostname>python</hostname> |
| 987 | <volumes> |
| 988 | <bind> |
| 989 | <volume> |
| 990 | ${project.basedir}/src/test/resources/http-cache/:/usr/src/http-cache-app |
| 991 | </volume> |
| 992 | <volume> |
| 993 | ${project.basedir}/src/test/resources/http-cache/example/:/usr/src/http-cache-app/data-cache |
| 994 | </volume> |
| 995 | </bind> |
| 996 | </volumes> |
| 997 | <wait> |
| 998 | <tcp> |
| 999 | <ports> |
| 1000 | <port>8080</port> |
| 1001 | </ports> |
| 1002 | <mode>direct</mode> |
| 1003 | </tcp> |
| 1004 | <time>120000</time> |
| 1005 | </wait> |
| 1006 | <ports> |
| 1007 | <port>${docker.http-cache.port.host}:8080</port> |
| 1008 | </ports> |
| 1009 | <workingDir>/usr/src/http-cache-app</workingDir> |
| 1010 | <cmd> |
| 1011 | <shell>./start_http_cache.sh ${python.http.proxy.param} |
| 1012 | --python_proxyaddress=localhost:${docker.http-cache.port.host} |
| 1013 | </shell> |
| 1014 | </cmd> |
| 1015 | <network> |
| 1016 | <mode>bridge</mode> |
| 1017 | </network> |
| 1018 | </run> |
| 1019 | </image> |
| 1020 | <image> |
| 1021 | <name>onap/policy-clamp-backend</name> |
| 1022 | <alias>onap-policy-clamp-backend</alias> |
| 1023 | <run> |
| 1024 | <skip>true</skip> |
| 1025 | </run> |
| 1026 | <build> |
| 1027 | <cleanup>true</cleanup> |
| 1028 | <tags> |
| 1029 | <tag>latest</tag> |
| 1030 | <tag>${project.docker.latesttagtimestamp.version}</tag> |
| 1031 | <tag>${project.docker.latesttag.version}</tag> |
| 1032 | </tags> |
| 1033 | <!-- A relative path is looked up in ${project.basedir}/src/main/docker by |
| 1034 | default --> |
| 1035 | <dockerFile>backend/Dockerfile</dockerFile> |
| 1036 | <assembly> |
| 1037 | <descriptor>backend/backend-files.xml</descriptor> |
| 1038 | <name>onap-policy-clamp-backend</name> |
| 1039 | </assembly> |
| 1040 | </build> |
| 1041 | </image> |
| 1042 | <image> |
| 1043 | <name>onap/policy-clamp-frontend</name> |
| 1044 | <alias>onap-policy-clamp-frontend</alias> |
| 1045 | <run> |
| 1046 | <skip>true</skip> |
| 1047 | </run> |
| 1048 | <build> |
| 1049 | <cleanup>true</cleanup> |
| 1050 | <tags> |
| 1051 | <tag>latest</tag> |
| 1052 | <tag>${project.docker.latesttagtimestamp.version}</tag> |
| 1053 | <tag>${project.docker.latesttag.version}</tag> |
| 1054 | </tags> |
| 1055 | <!-- A relative path is looked up in ${project.basedir}/src/main/docker by |
| 1056 | default --> |
| 1057 | <dockerFile>frontend/Dockerfile</dockerFile> |
| 1058 | <assembly> |
| 1059 | <descriptor>frontend/frontend-files.xml</descriptor> |
| 1060 | <name>onap-policy-clamp-frontend</name> |
| 1061 | </assembly> |
| 1062 | </build> |
| 1063 | </image> |
| 1064 | </images> |
| 1065 | </configuration> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 1066 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 1067 | <executions> |
| 1068 | <execution> |
| 1069 | <id>generate-images</id> |
| 1070 | <phase>install</phase> |
| 1071 | <goals> |
| 1072 | <goal>build</goal> |
| 1073 | </goals> |
| 1074 | </execution> |
| 1075 | <execution> |
| 1076 | <id>push-images</id> |
| 1077 | <phase>deploy</phase> |
| 1078 | <goals> |
| 1079 | <goal>push</goal> |
| 1080 | </goals> |
| 1081 | </execution> |
| 1082 | <execution> |
| 1083 | <id>docker-start-for-it</id> |
| 1084 | <phase>pre-integration-test</phase> |
| 1085 | <goals> |
| 1086 | <goal>start</goal> |
| 1087 | </goals> |
| 1088 | </execution> |
| 1089 | <execution> |
| 1090 | <id>docker-stop-for-it</id> |
| 1091 | <phase>post-integration-test</phase> |
| 1092 | <goals> |
| 1093 | <goal>stop</goal> |
| 1094 | </goals> |
| 1095 | </execution> |
| 1096 | </executions> |
| 1097 | </plugin> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 1098 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 1099 | <plugin> |
| 1100 | <groupId>org.jacoco</groupId> |
| 1101 | <artifactId>jacoco-maven-plugin</artifactId> |
| 1102 | <version>0.8.5</version> |
| 1103 | <configuration> |
| 1104 | <dumpOnExit>true</dumpOnExit> |
| 1105 | <append>true</append> |
| 1106 | <includes> |
| 1107 | <include>org/onap/policy/clamp/**</include> |
| 1108 | </includes> |
| 1109 | </configuration> |
| 1110 | <executions> |
| 1111 | <execution> |
| 1112 | <id>pre-unit-test</id> |
| 1113 | <goals> |
| 1114 | <goal>prepare-agent</goal> |
| 1115 | </goals> |
| 1116 | <configuration> |
| 1117 | <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile> |
| 1118 | <propertyName>surefireArgLine</propertyName> |
| 1119 | <!-- <append>true</append> --> |
| 1120 | </configuration> |
| 1121 | </execution> |
| 1122 | <execution> |
| 1123 | <id>pre-integration-test</id> |
| 1124 | <phase>pre-integration-test</phase> |
| 1125 | <goals> |
| 1126 | <goal>prepare-agent</goal> |
| 1127 | </goals> |
| 1128 | <configuration> |
| 1129 | <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile> |
| 1130 | <propertyName>failsafeArgLine</propertyName> |
| 1131 | <!-- <append>true</append> --> |
| 1132 | <!-- Need to overwrite the policy integration parent flag --> |
| 1133 | <skip>false</skip> |
| 1134 | </configuration> |
| 1135 | </execution> |
| 1136 | <execution> |
| 1137 | <goals> |
| 1138 | <goal>merge</goal> |
| 1139 | </goals> |
| 1140 | <phase>post-integration-test</phase> |
| 1141 | <configuration> |
| 1142 | <fileSets> |
| 1143 | <fileSet |
| 1144 | implementation="org.apache.maven.shared.model.fileset.FileSet"> |
| 1145 | <directory>${project.build.directory}/coverage-reports</directory> |
| 1146 | <includes> |
| 1147 | <include>*.exec</include> |
| 1148 | </includes> |
| 1149 | </fileSet> |
| 1150 | </fileSets> |
| 1151 | <destFile>${project.build.directory}/jacoco.exec</destFile> |
| 1152 | </configuration> |
| 1153 | </execution> |
| 1154 | <execution> |
| 1155 | <id>report-xml</id> |
| 1156 | <goals> |
| 1157 | <goal>report</goal> |
| 1158 | </goals> |
| 1159 | <configuration> |
| 1160 | <!-- Setting explicit path, so that we remember where it picks them up from --> |
| 1161 | <dataFile>${project.build.directory}/jacoco.exec</dataFile> |
| 1162 | <outputDirectory>${project.build.directory}/jacoco-html-xml-reports</outputDirectory> |
| 1163 | </configuration> |
| 1164 | </execution> |
| 1165 | </executions> |
| 1166 | </plugin> |
sebdet | 101193d | 2019-09-05 18:25:59 +0200 | [diff] [blame] | 1167 | |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 1168 | <!-- This plugin will be useful when we will have multi-modules project --> |
| 1169 | <plugin> |
| 1170 | <groupId>org.codehaus.mojo</groupId> |
| 1171 | <artifactId>versions-maven-plugin</artifactId> |
| 1172 | <version>1.3.1</version> |
| 1173 | </plugin> |
| 1174 | |
| 1175 | <plugin> |
| 1176 | <groupId>com.github.eirslett</groupId> |
| 1177 | <artifactId>frontend-maven-plugin</artifactId> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 1178 | <version>1.11.3</version> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 1179 | <configuration> |
| 1180 | <installDirectory>${project.build.directory}/${ui.react.src}</installDirectory> |
Jim Hahn | 44946f6 | 2021-04-09 14:50:26 -0400 | [diff] [blame] | 1181 | <npmDownloadRoot>${repo.npm}</npmDownloadRoot> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 1182 | </configuration> |
| 1183 | <executions> |
| 1184 | <execution> |
| 1185 | <id>install_node_and_npm</id> |
| 1186 | <goals> |
| 1187 | <goal>install-node-and-npm</goal> |
| 1188 | </goals> |
| 1189 | <phase>generate-sources</phase> |
| 1190 | <configuration> |
sebdet | 1f2d62d | 2021-04-07 10:10:45 +0200 | [diff] [blame] | 1191 | <nodeVersion>v14.16.1</nodeVersion> |
| 1192 | <npmVersion>6.14.12</npmVersion> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 1193 | </configuration> |
| 1194 | </execution> |
| 1195 | <execution> |
| 1196 | <id>npm_install</id> |
| 1197 | <goals> |
| 1198 | <goal>npm</goal> |
| 1199 | </goals> |
| 1200 | <phase>compile</phase> |
| 1201 | <configuration> |
| 1202 | <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory> |
| 1203 | <arguments>install</arguments> |
| 1204 | </configuration> |
| 1205 | </execution> |
| 1206 | <execution> |
| 1207 | <id>npm_test</id> |
| 1208 | <goals> |
| 1209 | <goal>npm</goal> |
| 1210 | </goals> |
| 1211 | <phase>test</phase> |
| 1212 | <configuration> |
| 1213 | <skip>${maven.test.skip}</skip> |
| 1214 | <arguments>run-script test:coverage</arguments> |
| 1215 | <workingDirectory>${project.build.directory}/${ui.react.src}</workingDirectory> |
| 1216 | </configuration> |
| 1217 | </execution> |
| 1218 | <execution> |
| 1219 | <id>npm_install_lib</id> |
| 1220 | <goals> |
| 1221 | <goal>npm</goal> |
| 1222 | </goals> |
| 1223 | <phase>deploy</phase> |
| 1224 | <configuration> |
| 1225 | <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory> |
| 1226 | <arguments>install</arguments> |
| 1227 | </configuration> |
| 1228 | </execution> |
| 1229 | <execution> |
| 1230 | <id>npm_build_lib</id> |
| 1231 | <goals> |
| 1232 | <goal>npm</goal> |
| 1233 | </goals> |
| 1234 | <phase>deploy</phase> |
| 1235 | <configuration> |
| 1236 | <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory> |
| 1237 | <arguments>run build</arguments> |
| 1238 | </configuration> |
| 1239 | </execution> |
| 1240 | <execution> |
| 1241 | <id>npm_publish</id> |
| 1242 | <goals> |
| 1243 | <goal>npm</goal> |
| 1244 | </goals> |
| 1245 | <phase>deploy</phase> |
| 1246 | <configuration> |
| 1247 | <workingDirectory>${project.build.directory}/${ui.react.lib.src}</workingDirectory> |
| 1248 | <arguments>publish</arguments> |
| 1249 | </configuration> |
| 1250 | </execution> |
| 1251 | </executions> |
| 1252 | </plugin> |
| 1253 | <plugin> |
| 1254 | <groupId>org.apache.maven.plugins</groupId> |
| 1255 | <artifactId>maven-compiler-plugin</artifactId> |
| 1256 | <version>3.8.1</version> |
| 1257 | <configuration> |
| 1258 | <source>11</source> |
| 1259 | <target>11</target> |
| 1260 | </configuration> |
| 1261 | </plugin> |
| 1262 | <plugin> |
| 1263 | <groupId>org.sonarsource.scanner.maven</groupId> |
| 1264 | <artifactId>sonar-maven-plugin</artifactId> |
| 1265 | <version>3.7.0.1746</version> |
| 1266 | </plugin> |
Ted Humphrey | fd8f013 | 2020-06-02 09:39:30 -0400 | [diff] [blame] | 1267 | <plugin> |
| 1268 | <groupId>org.codehaus.mojo</groupId> |
| 1269 | <artifactId>exec-maven-plugin</artifactId> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 1270 | <version>1.3.2</version> |
| 1271 | <executions> |
Ted Humphrey | fd8f013 | 2020-06-02 09:39:30 -0400 | [diff] [blame] | 1272 | <execution> |
| 1273 | <id>libIndexCheck</id> |
| 1274 | <phase>validate</phase> |
| 1275 | <goals> |
| 1276 | <goal>exec</goal> |
| 1277 | </goals> |
| 1278 | </execution> |
| 1279 | </executions> |
| 1280 | <configuration> |
| 1281 | <executable>bash</executable> |
| 1282 | <arguments> |
| 1283 | <argument>${project.basedir}/src/main/script/checkLibIndex.sh</argument> |
| 1284 | </arguments> |
| 1285 | </configuration> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 1286 | </plugin> |
sebdet | d2178bc | 2021-02-08 14:36:11 +0100 | [diff] [blame] | 1287 | <!-- Plugin to generate a X509 Certificate for https tests --> |
| 1288 | <plugin> |
| 1289 | <groupId>org.codehaus.mojo</groupId> |
| 1290 | <artifactId>keytool-maven-plugin</artifactId> |
| 1291 | <version>1.5</version> |
| 1292 | <executions> |
| 1293 | <execution> |
| 1294 | <id>add-certificate-for-dev</id> |
| 1295 | <configuration> |
| 1296 | <keystore>${project.build.directory}/classes/clds/aaf/org.onap.clamp.p12</keystore> |
| 1297 | <storepass>China in the Spring</storepass> |
| 1298 | <alias>clamptest</alias> |
| 1299 | <storetype>PKCS12</storetype> |
| 1300 | <keyalg>RSA</keyalg> |
| 1301 | <dname>cn=CN, ou=OU, o=O, c=C</dname> |
| 1302 | <validity>365</validity> |
| 1303 | </configuration> |
| 1304 | <goals> |
| 1305 | <goal>generateKeyPair</goal> |
| 1306 | </goals> |
| 1307 | <phase>generate-resources</phase> |
| 1308 | </execution> |
| 1309 | <execution> |
| 1310 | <id>add-certificate-for-test</id> |
| 1311 | <configuration> |
| 1312 | <keystore>${project.build.directory}/test-classes/clds/aaf/org.onap.clamp.p12</keystore> |
| 1313 | <storepass>China in the Spring</storepass> |
| 1314 | <alias>clamptest</alias> |
| 1315 | <storetype>PKCS12</storetype> |
| 1316 | <keyalg>RSA</keyalg> |
| 1317 | <dname>cn=CN, ou=OU, o=O, c=C</dname> |
| 1318 | <validity>365</validity> |
| 1319 | </configuration> |
| 1320 | <goals> |
| 1321 | <goal>generateKeyPair</goal> |
| 1322 | </goals> |
| 1323 | <phase>generate-test-resources</phase> |
| 1324 | </execution> |
| 1325 | </executions> |
| 1326 | </plugin> |
sebdet | 078c34d | 2021-01-20 23:02:17 +0100 | [diff] [blame] | 1327 | </plugins> |
| 1328 | </build> |
ChrisC | 5e9feb2 | 2017-06-21 02:38:57 -0700 | [diff] [blame] | 1329 | </project> |