Merge "Update oparent to latest 2.1.0, also update all dependencies minor version"
[externalapi/nbi.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3
4         Copyright (c) 2018 Orange
5
6         Licensed under the Apache License, Version 2.0 (the "License");
7         you may not use this file except in compliance with the License.
8         You may obtain a copy of the License at
9
10             http://www.apache.org/licenses/LICENSE-2.0
11
12         Unless required by applicable law or agreed to in writing, software
13         distributed under the License is distributed on an "AS IS" BASIS,
14         WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15         See the License for the specific language governing permissions and
16         limitations under the License.
17
18 -->
19 <!-- Copyright (c) 2018 Orange Licensed under the Apache License, Version 
20         2.0 (the "License"); you may not use this file except in compliance with 
21         the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
22         Unless required by applicable law or agreed to in writing, software distributed 
23         under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
24         OR CONDITIONS OF ANY KIND, either express or implied. See the License for 
25         the specific language governing permissions and limitations under the License. -->
26 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
27   xmlns="http://maven.apache.org/POM/4.0.0"
28   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
29   <modelVersion>4.0.0</modelVersion>
30
31   <groupId>org.onap.externalapi-nbi</groupId>
32   <artifactId>nbi-rest-services</artifactId>
33   <version>5.0.1-SNAPSHOT</version>
34   <packaging>jar</packaging>
35
36   <name>externalapi-nbi</name>
37
38   <parent>
39     <groupId>org.onap.oparent</groupId>
40     <artifactId>oparent</artifactId>
41     <version>2.1.0</version>
42   </parent>
43
44   <properties>
45     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
46     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
47     <maven.compiler.target>1.8</maven.compiler.target>
48     <maven.compiler.source>1.8</maven.compiler.source>
49     <start-class>org.onap.nbi.Application</start-class>
50     <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
51     <nexusproxy>https://nexus.onap.org</nexusproxy>
52     <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
53     <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
54     <stagingNexusPath>content/repositories/staging/</stagingNexusPath>
55     <java.version>1.8</java.version>
56     <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
57     <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
58     <timestamp>${maven.build.timestamp}</timestamp>
59     <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
60     <!--docker -->
61     <docker.tag>${project.version}-${timestamp}</docker.tag>
62     <docker.latest.tag>${project.version}-latest</docker.latest.tag>
63     <!--sonar -->
64     <sonar.language>java</sonar.language>
65     <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
66     <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports
67     </sonar.surefire.reportsPath>
68     <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec
69     </sonar.jacoco.reportPath>
70     <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec
71     </sonar.jacoco.itReportPath>
72     <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
73     <sonar.projectVersion>${project.version}</sonar.projectVersion>
74     <sonar.coverage.exclusions>**/model/**/*</sonar.coverage.exclusions>
75   </properties>
76
77   <!--<repositories>-->
78   <!--<repository>-->
79   <!--<id>maven2-repository.java.net</id>-->
80   <!--<name>Java.net Repository for Maven</name>-->
81   <!--<url>http://download.java.net/maven/2/</url>-->
82   <!--<layout>default</layout>-->
83   <!--</repository>-->
84   <!--<repository>-->
85   <!--<id>ecomp-release</id>-->
86   <!--<name>Snapshot Repository</name>-->
87   <!--<url>https://nexus.onap.org/content/repositories/releases/</url>-->
88   <!--</repository>-->
89   <!--<repository>-->
90   <!--<id>ecomp-staging</id>-->
91   <!--<name>Staging Repository</name>-->
92   <!--<url>https://nexus.onap.org/content/repositories/staging/</url>-->
93   <!--</repository>-->
94   <!--<repository>-->
95   <!--<id>ecomp-snapshots</id>-->
96   <!--<name>Snapshot Repository</name>-->
97   <!--<url>https://nexus.onap.org/content/repositories/snapshots/</url>-->
98   <!--</repository>-->
99   <!--</repositories>-->
100
101   <distributionManagement>
102     <repository>
103       <id>ecomp-releases</id>
104       <name>Release Repository</name>
105       <url>${nexusproxy}/${releaseNexusPath}</url>
106     </repository>
107     <snapshotRepository>
108       <id>ecomp-snapshots</id>
109       <name>Snapshot Repository</name>
110       <url>${nexusproxy}/${snapshotNexusPath}</url>
111     </snapshotRepository>
112   </distributionManagement>
113
114   <licenses>
115     <license>
116       <name>Apache2</name>
117       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
118     </license>
119   </licenses>
120
121   <dependencyManagement>
122     <dependencies>
123       <dependency>
124         <groupId>org.springframework.boot</groupId>
125         <artifactId>spring-boot-dependencies</artifactId>
126         <version>2.1.7.RELEASE</version>
127         <type>pom</type>
128         <scope>import</scope>
129       </dependency>
130     </dependencies>
131   </dependencyManagement>
132
133   <dependencies>
134
135     <dependency>
136       <groupId>org.springframework.boot</groupId>
137       <artifactId>spring-boot-starter-web</artifactId>
138       <exclusions>
139         <exclusion>
140           <groupId>org.apache.tomcat.embed</groupId>
141           <artifactId>tomcat-embed-core</artifactId>
142         </exclusion>
143       </exclusions>
144     </dependency>
145
146     <dependency>
147       <groupId>org.apache.tomcat.embed</groupId>
148       <artifactId>tomcat-embed-core</artifactId>
149       <version>9.0.24</version>
150     </dependency>
151
152     <dependency>
153       <groupId>org.springframework.boot</groupId>
154       <artifactId>spring-boot-starter-data-jpa</artifactId>
155     </dependency>
156
157     <dependency>
158       <groupId>org.springframework.boot</groupId>
159       <artifactId>spring-boot-starter-aop</artifactId>
160     </dependency>
161
162     <dependency>
163       <groupId>commons-io</groupId>
164       <artifactId>commons-io</artifactId>
165       <version>2.6</version>
166     </dependency>
167
168     <dependency>
169       <groupId>commons-beanutils</groupId>
170       <artifactId>commons-beanutils</artifactId>
171     </dependency>
172
173     <dependency>
174       <groupId>javax.validation</groupId>
175       <artifactId>validation-api</artifactId>
176     </dependency>
177
178     <dependency>
179       <groupId>org.apache.commons</groupId>
180       <artifactId>commons-lang3</artifactId>
181     </dependency>
182
183     <!-- mongo -->
184
185     <dependency>
186       <groupId>org.springframework.boot</groupId>
187       <artifactId>spring-boot-starter-data-mongodb</artifactId>
188     </dependency>
189
190     <!-- mysql -->
191
192     <dependency>
193       <groupId>org.mariadb.jdbc</groupId>
194       <artifactId>mariadb-java-client</artifactId>
195     </dependency>
196
197     <!-- swagger -->
198
199     <dependency>
200       <groupId>io.swagger</groupId>
201       <artifactId>swagger-annotations</artifactId>
202       <version>1.5.23</version>
203     </dependency>
204
205     <!-- swagger core -->
206     <dependency>
207       <groupId>io.swagger</groupId>
208       <artifactId>swagger-core</artifactId>
209       <version>1.5.23</version>
210     </dependency>
211
212     <!-- jackson -->
213     
214     <dependency>
215       <groupId>com.fasterxml.jackson.core</groupId>
216       <artifactId>jackson-databind</artifactId>
217       <version>2.9.9.3</version>
218         </dependency>   
219
220     <dependency>
221       <groupId>com.fasterxml.jackson.dataformat</groupId>
222       <artifactId>jackson-dataformat-yaml</artifactId>
223     </dependency>
224
225     <!-- sdc tosca parser -->
226
227     <dependency>
228       <groupId>org.onap.sdc.sdc-tosca</groupId>
229       <artifactId>sdc-tosca</artifactId>
230       <version>1.6.0</version>
231       <exclusions>
232         <exclusion>
233           <groupId>com.google.guava</groupId>
234           <artifactId>guava</artifactId>
235         </exclusion>
236         <exclusion>
237           <groupId>commons-codec</groupId>
238           <artifactId>commons-codec</artifactId>
239         </exclusion>
240       </exclusions>
241     </dependency>
242
243     <dependency>
244       <groupId>commons-codec</groupId>
245       <artifactId>commons-codec</artifactId>
246       <version>1.13</version>
247     </dependency>
248
249     <!-- jolt -->
250
251     <dependency>
252       <groupId>com.bazaarvoice.jolt</groupId>
253       <artifactId>jolt-core</artifactId>
254       <version>0.1.1</version>
255       <exclusions>
256         <exclusion>
257           <groupId>com.fasterxml.jackson.core</groupId>
258           <artifactId>jackson-databind</artifactId>
259         </exclusion>
260       </exclusions>
261     </dependency>
262
263     <dependency>
264       <groupId>com.bazaarvoice.jolt</groupId>
265       <artifactId>json-utils</artifactId>
266       <version>0.1.1</version>
267       <exclusions>
268         <exclusion>
269           <groupId>com.fasterxml.jackson.core</groupId>
270           <artifactId>jackson-databind</artifactId>
271         </exclusion>
272       </exclusions>
273     </dependency>
274
275     <!-- test -->
276
277     <dependency>
278       <groupId>org.springframework.boot</groupId>
279       <artifactId>spring-boot-starter-test</artifactId>
280       <scope>test</scope>
281     </dependency>
282
283     <!-- test h2 -->
284
285     <dependency>
286       <groupId>com.h2database</groupId>
287       <artifactId>h2</artifactId>
288       <scope>test</scope>
289     </dependency>
290
291     <dependency>
292       <groupId>de.flapdoodle.embed</groupId>
293       <artifactId>de.flapdoodle.embed.mongo</artifactId>
294       <scope>test</scope>
295     </dependency>
296
297     <!-- test wiremock -->
298
299     <dependency>
300       <groupId>org.springframework.cloud</groupId>
301       <artifactId>spring-cloud-contract-wiremock</artifactId>
302       <version>1.2.7.RELEASE</version>
303       <scope>test</scope>
304       <exclusions>
305         <exclusion>
306           <groupId>com.fasterxml.jackson.core</groupId>
307           <artifactId>jackson-databind</artifactId>
308         </exclusion>
309         <exclusion>
310           <groupId>commons-codec</groupId>
311           <artifactId>commons-codec</artifactId>
312         </exclusion>
313       </exclusions>
314     </dependency>
315
316     <dependency>
317       <groupId>org.eclipse.jetty</groupId>
318       <artifactId>jetty-servlet</artifactId>
319       <scope>test</scope>
320     </dependency>
321
322     <dependency>
323       <groupId>org.eclipse.jetty</groupId>
324       <artifactId>jetty-servlets</artifactId>
325       <scope>test</scope>
326     </dependency>
327
328     <!-- runtime dev -->
329
330     <dependency>
331       <groupId>org.springframework.boot</groupId>
332       <artifactId>spring-boot-devtools</artifactId>
333       <scope>runtime</scope>
334     </dependency>
335
336     <!-- MSB SDK -->
337     <dependency>
338       <groupId>org.onap.msb.java-sdk</groupId>
339       <artifactId>msb-java-sdk</artifactId>
340       <version>1.2.5</version>
341       <exclusions>
342         <exclusion>
343           <groupId>com.google.guava</groupId>
344           <artifactId>guava</artifactId>
345         </exclusion>
346         <exclusion>
347           <groupId>com.squareup.okhttp3</groupId>
348           <artifactId>okhttp</artifactId>
349         </exclusion>
350       </exclusions>
351     </dependency>
352
353     <dependency>
354       <groupId>com.squareup.okhttp3</groupId>
355       <artifactId>okhttp</artifactId>
356       <version>3.14.2</version>
357     </dependency>
358
359     <dependency>
360       <groupId>com.google.guava</groupId>
361       <artifactId>guava</artifactId>
362     </dependency>
363
364     <!-- karate -->
365
366     <dependency>
367       <groupId>com.intuit.karate</groupId>
368       <artifactId>karate-junit4</artifactId>
369       <version>0.9.4</version>
370       <scope>test</scope>
371     </dependency>
372
373     <dependency>
374       <groupId>com.intuit.karate</groupId>
375       <artifactId>karate-apache</artifactId>
376       <version>0.9.4</version>
377       <scope>test</scope>
378     </dependency>
379
380   </dependencies>
381
382   <build>
383     <testResources>
384       <testResource>
385         <directory>src/test/java</directory>
386         <excludes>
387           <exclude>**/*.java</exclude>
388         </excludes>
389       </testResource>
390       <testResource>
391         <directory>src/test/resources</directory>
392       </testResource>
393     </testResources>
394     <plugins>
395       <plugin>
396         <groupId>org.springframework.boot</groupId>
397         <artifactId>spring-boot-maven-plugin</artifactId>
398         <executions>
399           <execution>
400             <goals>
401               <goal>repackage</goal>
402             </goals>
403             <configuration>
404               <mainClass>org.onap.nbi.Application</mainClass>
405             </configuration>
406           </execution>
407         </executions>
408       </plugin>
409       <plugin>
410         <groupId>org.apache.maven.plugins</groupId>
411         <artifactId>maven-surefire-plugin</artifactId>
412         <version>2.22.2</version>
413         <configuration>
414 <!--          <argLine>-->
415 <!--            &#45;&#45;illegal-access=permit-->
416 <!--          </argLine>-->
417           <includes>
418             <include>org/onap/nbi/test/KarateApiTest.java</include>
419             <include>org/onap/nbi/test/ExecutionTaskTest.java</include>
420             <include>org/onap/nbi/test/ServiceOrderRepositoryTest.java</include>
421             <include>org/onap/nbi/apis/servicecatalog/ToscaInfosProcessorTest.java</include>
422           </includes>
423         </configuration>
424       </plugin>
425       <plugin>
426         <groupId>org.apache.maven.plugins</groupId>
427         <artifactId>maven-site-plugin</artifactId>
428         <dependencies>
429           <dependency>
430             <groupId>org.apache.maven.wagon</groupId>
431             <artifactId>wagon-webdav-jackrabbit</artifactId>
432             <version>2.10</version>
433           </dependency>
434         </dependencies>
435       </plugin>
436       <plugin>
437         <groupId>com.mycila</groupId>
438         <artifactId>license-maven-plugin</artifactId>
439         <version>3.0</version>
440         <configuration>
441           <header>LICENSE.TXT</header>
442           <includes>
443             <include>restclient/**</include>
444             <include>src/**</include>
445             <include>**/*.xml</include>
446             <include>**/*.xsd</include>
447             <include>**/*.yml</include>
448             <include>**/*.yaml</include>
449             <include>**/*.plantuml</include>
450           </includes>
451           <excludes>
452             <!-- karate-config.js doesn't support comment, and is mandatory by
453               karate -->
454             <exclude>src/test/java/karate-config.js</exclude>
455             <exclude>releases/**/*.yaml</exclude>
456           </excludes>
457           <skipExistingHeaders>true</skipExistingHeaders>
458           <skip>false</skip>
459           <mapping>
460             <http>SCRIPT_STYLE</http>
461             <xsd>XML_STYLE</xsd>
462             <yaml>SCRIPT_STYLE</yaml>
463             <yml>SCRIPT_STYLE</yml>
464             <feature>SCRIPT_STYLE</feature>
465             <plantuml>SCRIPT_STYLE</plantuml>
466           </mapping>
467         </configuration>
468         <executions>
469           <execution>
470             <goals>
471               <!-- Set goal to "format" to auto update license headers -->
472               <goal>check</goal>
473             </goals>
474             <phase>process-sources</phase>
475           </execution>
476         </executions>
477       </plugin>
478       <plugin>
479         <groupId>org.codehaus.mojo</groupId>
480         <artifactId>sonar-maven-plugin</artifactId>
481         <version>3.2</version>
482       </plugin>
483       <plugin>
484         <groupId>org.jacoco</groupId>
485         <artifactId>jacoco-maven-plugin</artifactId>
486         <version>0.8.1</version>
487         <configuration>
488           <dumpOnExit>true</dumpOnExit>
489           <includes>
490             <include>org.onap.nbi.*</include>
491           </includes>
492           <excludes>
493             <exclude>**/model/**/*</exclude>
494           </excludes>
495         </configuration>
496         <executions>
497           <execution>
498             <id>pre-unit-test</id>
499             <goals>
500               <goal>prepare-agent</goal>
501             </goals>
502             <configuration>
503               <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
504             </configuration>
505           </execution>
506           <execution>
507             <id>pre-integration-test</id>
508             <phase>pre-integration-test</phase>
509             <goals>
510               <goal>prepare-agent</goal>
511             </goals>
512             <configuration>
513               <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
514             </configuration>
515           </execution>
516           <execution>
517             <goals>
518               <goal>merge</goal>
519             </goals>
520             <phase>post-integration-test</phase>
521             <configuration>
522               <fileSets>
523                 <fileSet
524                   implementation="org.apache.maven.shared.model.fileset.FileSet">
525                   <directory>${project.build.directory}/coverage-reports</directory>
526                   <includes>
527                     <include>*.exec</include>
528                   </includes>
529                 </fileSet>
530               </fileSets>
531               <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
532             </configuration>
533           </execution>
534         </executions>
535       </plugin>
536       <plugin>
537         <artifactId>maven-source-plugin</artifactId>
538         <executions>
539           <execution>
540             <id>attach-sources</id>
541             <phase>deploy</phase>
542             <goals>
543               <goal>jar-no-fork</goal>
544             </goals>
545           </execution>
546         </executions>
547       </plugin>
548     </plugins>
549   </build>
550
551   <profiles>
552     <profile>
553       <id>docker</id>
554       <build>
555         <plugins>
556           <plugin>
557             <groupId>io.fabric8</groupId>
558             <artifactId>docker-maven-plugin</artifactId>
559             <version>0.28.0</version>
560             <configuration>
561               <verbose>true</verbose>
562               <apiVersion>1.23</apiVersion>
563               <pullRegistry>${docker.pull.registry}</pullRegistry>
564               <pushRegistry>${docker.push.registry}</pushRegistry>
565               <images>
566                 <image>
567                   <name>onap/externalapi/nbi:${docker.tag}</name>
568                   <build>
569                     <cleanup>true</cleanup>
570                     <tags>
571                       <tag>latest</tag>
572                       <tag>${docker.latest.tag}</tag>
573                     </tags>
574                     <dockerFileDir>${project.basedir}</dockerFileDir>
575                     <args>
576                       <PKG_FILENAME>${project.build.finalName}.${project.packaging}</PKG_FILENAME>
577                     </args>
578                   </build>
579                 </image>
580               </images>
581             </configuration>
582             <executions>
583               <execution>
584                 <id>clean-images</id>
585                 <phase>pre-clean</phase>
586                 <goals>
587                   <goal>remove</goal>
588                 </goals>
589                 <configuration>
590                   <removeMode>all</removeMode>
591                 </configuration>
592               </execution>
593               <execution>
594                 <id>generate-images</id>
595                 <phase>package</phase>
596                 <goals>
597                   <goal>build</goal>
598                 </goals>
599               </execution>
600               <execution>
601                 <id>push-images</id>
602                 <phase>deploy</phase>
603                 <goals>
604                   <goal>push</goal>
605                 </goals>
606               </execution>
607             </executions>
608           </plugin>
609         </plugins>
610       </build>
611     </profile>
612     <profile>
613       <id>onap-settings</id>
614       <properties>
615         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
616         <onap.nexus.rawrepo.baseurl.upload>https://nexus.onap.org/content/sites/raw
617         </onap.nexus.rawrepo.baseurl.upload>
618         <onap.nexus.rawrepo.baseurl.download>
619           https://nexus.onap.org/service/local/repositories/raw/content
620         </onap.nexus.rawrepo.baseurl.download>
621         <onap.nexus.rawrepo.serverid>ecomp-raw</onap.nexus.rawrepo.serverid>
622
623         <!-- properties for Nexus Docker registry -->
624         <onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily>
625         <onap.nexus.dockerregistry.release>nexus3.onap.org:10002</onap.nexus.dockerregistry.release>
626         <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
627         <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
628       </properties>
629     </profile>
630     <profile>
631       <id>onap-snapshots</id>
632       <repositories>
633         <repository>
634           <id>onap-snapshots</id>
635           <name>onap-snapshots</name>
636           <url>https://nexus.onap.org/content/repositories/snapshots/</url>
637           <releases>
638             <enabled>false</enabled>
639           </releases>
640           <snapshots>
641             <enabled>true</enabled>
642           </snapshots>
643         </repository>
644       </repositories>
645       <pluginRepositories>
646         <pluginRepository>
647           <id>onap-snapshots</id>
648           <name>onap-snapshots</name>
649           <url>https://nexus.onap.org/content/repositories/snapshots/</url>
650           <releases>
651             <enabled>false</enabled>
652           </releases>
653           <snapshots>
654             <enabled>true</enabled>
655           </snapshots>
656         </pluginRepository>
657       </pluginRepositories>
658     </profile>
659     <profile>
660       <id>onap-releases</id>
661       <repositories>
662         <repository>
663           <id>onap-releases</id>
664           <name>onap-releases</name>
665           <url>https://nexus.onap.org/content/repositories/releases/</url>
666           <releases>
667             <enabled>true</enabled>
668           </releases>
669           <snapshots>
670             <enabled>false</enabled>
671           </snapshots>
672         </repository>
673       </repositories>
674       <pluginRepositories>
675         <pluginRepository>
676           <id>onap-releases</id>
677           <name>onap-releases</name>
678           <url>https://nexus.onap.org/content/repositories/releases/</url>
679           <releases>
680             <enabled>true</enabled>
681           </releases>
682           <snapshots>
683             <enabled>false</enabled>
684           </snapshots>
685         </pluginRepository>
686       </pluginRepositories>
687     </profile>
688     <profile>
689       <id>onap-public</id>
690       <repositories>
691         <repository>
692           <id>central</id>
693           <url>http://repo1.maven.org/maven2/</url>
694         </repository>
695         <repository>
696           <id>onap-public</id>
697           <name>onap-public</name>
698           <url>https://nexus.onap.org/content/repositories/public/</url>
699           <releases>
700             <enabled>true</enabled>
701           </releases>
702           <snapshots>
703             <enabled>false</enabled>
704           </snapshots>
705         </repository>
706       </repositories>
707       <pluginRepositories>
708         <pluginRepository>
709           <id>central</id>
710           <url>http://repo1.maven.org/maven2/</url>
711         </pluginRepository>
712         <pluginRepository>
713           <id>onap-public</id>
714           <name>onap-public</name>
715           <url>https://nexus.onap.org/content/repositories/public/</url>
716           <releases>
717             <enabled>true</enabled>
718           </releases>
719           <snapshots>
720             <enabled>false</enabled>
721           </snapshots>
722         </pluginRepository>
723       </pluginRepositories>
724     </profile>
725   </profiles>
726
727 </project>