Error: Could not find or load main class
[ccsdk/cds.git] / ms / blueprintsprocessor / parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~  Copyright © 2017-2019 AT&T, IBM, Bell Canada.
4   ~
5   ~  Licensed under the Apache License, Version 2.0 (the "License");
6   ~  you may not use this file except in compliance with the License.
7   ~  You may obtain a copy of the License at
8   ~
9   ~      http://www.apache.org/licenses/LICENSE-2.0
10   ~
11   ~  Unless required by applicable law or agreed to in writing, software
12   ~  distributed under the License is distributed on an "AS IS" BASIS,
13   ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   ~  See the License for the specific language governing permissions and
15   ~  limitations under the License.
16   -->
17 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
18     <modelVersion>4.0.0</modelVersion>
19     <parent>
20         <groupId>org.onap.ccsdk.cds</groupId>
21         <artifactId>blueprintsprocessor</artifactId>
22         <version>0.5.0-SNAPSHOT</version>
23     </parent>
24     <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
25     <artifactId>parent</artifactId>
26     <packaging>pom</packaging>
27     <name>Blueprints Processor Parent</name>
28     <description>Blueprints Processor Parent</description>
29     <properties>
30         <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
31         <spring.boot.version>2.1.3.RELEASE</spring.boot.version>
32         <spring.version>5.1.5.RELEASE</spring.version>
33         <kotlin.version>1.3.21</kotlin.version>
34         <kotlin.maven.version>1.3.21</kotlin.maven.version>
35         <kotlin.couroutines.version>1.1.1</kotlin.couroutines.version>
36         <grpc.version>1.18.0</grpc.version>
37         <sshd.version>2.2.0</sshd.version>
38         <jsch.version>0.1.55</jsch.version>
39         <protobuff.java.utils.version>3.6.1</protobuff.java.utils.version>
40         <spring.kafka.version>2.2.6.RELEASE</spring.kafka.version>
41         <kafka.version>2.2.0</kafka.version>
42         <eelf.version>1.0.0</eelf.version>
43         <sli.version>${ccsdk.sli.core.version}</sli.version>
44         <guava.version>27.0.1-jre</guava.version>
45         <jython.version>2.7.1</jython.version>
46         <springfox.swagger2.version>2.9.2</springfox.swagger2.version>
47         <h2database.version>1.4.197</h2database.version>
48         <onap.logger.slf4j>1.2.2</onap.logger.slf4j>
49         <powermock.version>1.7.4</powermock.version>
50         <mockk.version>1.9</mockk.version>
51         <dmaap.client.version>1.1.5</dmaap.client.version>
52         <jinja.version>2.5.0</jinja.version>
53         <mockkserver.version>5.5.1</mockkserver.version>
54     </properties>
55     <dependencyManagement>
56         <dependencies>
57             <!-- Spring Boot -->
58             <dependency>
59                 <groupId>org.springframework.boot</groupId>
60                 <artifactId>spring-boot-starter-parent</artifactId>
61                 <version>${spring.boot.version}</version>
62                 <type>pom</type>
63                 <scope>import</scope>
64             </dependency>
65
66             <dependency>
67                 <groupId>org.springframework.kafka</groupId>
68                 <artifactId>spring-kafka</artifactId>
69                 <version>${spring.kafka.version}</version>
70             </dependency>
71
72             <!--Swagger Dependencies -->
73             <dependency>
74                 <groupId>io.springfox</groupId>
75                 <artifactId>springfox-swagger2</artifactId>
76                 <version>${springfox.swagger2.version}</version>
77                 <exclusions>
78                     <exclusion>
79                         <groupId>org.slf4j</groupId>
80                         <artifactId>slf4j-api</artifactId>
81                     </exclusion>
82                 </exclusions>
83             </dependency>
84             <dependency>
85                 <groupId>io.springfox</groupId>
86                 <artifactId>springfox-swagger-ui</artifactId>
87                 <version>${springfox.swagger2.version}</version>
88             </dependency>
89
90             <!-- Common Utils Dependencies -->
91             <dependency>
92                 <groupId>org.apache.commons</groupId>
93                 <artifactId>commons-lang3</artifactId>
94                 <version>3.2.1</version>
95             </dependency>
96             <dependency>
97                 <groupId>commons-collections</groupId>
98                 <artifactId>commons-collections</artifactId>
99                 <version>3.2.2</version>
100             </dependency>
101             <dependency>
102                 <groupId>commons-io</groupId>
103                 <artifactId>commons-io</artifactId>
104                 <version>2.6</version>
105             </dependency>
106             <dependency>
107                 <groupId>org.apache.commons</groupId>
108                 <artifactId>commons-compress</artifactId>
109                 <version>1.15</version>
110             </dependency>
111             <dependency>
112                 <groupId>org.apache.velocity</groupId>
113                 <artifactId>velocity</artifactId>
114                 <version>1.7</version>
115                 <exclusions>
116                     <exclusion>
117                         <groupId>org.slf4j</groupId>
118                         <artifactId>slf4j-api</artifactId>
119                     </exclusion>
120                 </exclusions>
121             </dependency>
122             <dependency>
123                 <groupId>com.hubspot.jinjava</groupId>
124                 <artifactId>jinjava</artifactId>
125                 <version>${jinja.version}</version>
126             </dependency>
127             <dependency>
128                 <groupId>com.google.guava</groupId>
129                 <artifactId>guava</artifactId>
130                 <version>${guava.version}</version>
131             </dependency>
132             <dependency>
133                 <groupId>org.python</groupId>
134                 <artifactId>jython-standalone</artifactId>
135                 <version>${jython.version}</version>
136             </dependency>
137
138             <!-- Kotlin Dependencies -->
139             <dependency>
140                 <groupId>org.jetbrains.kotlin</groupId>
141                 <artifactId>kotlin-stdlib</artifactId>
142                 <version>${kotlin.version}</version>
143             </dependency>
144             <dependency>
145                 <groupId>org.jetbrains.kotlin</groupId>
146                 <artifactId>kotlin-stdlib-common</artifactId>
147                 <version>${kotlin.version}</version>
148             </dependency>
149             <!--Use kotlin-compiler-embeddable instead koltin-compiler wrap-->
150             <!--guava dependency inside kotlin-compiler creating classpath issues at runtime-->
151             <dependency>
152                 <groupId>org.jetbrains.kotlin</groupId>
153                 <artifactId>kotlin-scripting-jvm-host</artifactId>
154                 <version>${kotlin.version}</version>
155                 <exclusions>
156                     <exclusion>
157                         <groupId>org.jetbrains.kotlin</groupId>
158                         <artifactId>kotlin-compile</artifactId>
159                     </exclusion>
160                 </exclusions>
161             </dependency>
162             <dependency>
163                 <groupId>org.jetbrains.kotlin</groupId>
164                 <artifactId>kotlin-compiler-embeddable</artifactId>
165                 <version>${kotlin.version}</version>
166             </dependency>
167             <dependency>
168                 <groupId>org.jetbrains.kotlin</groupId>
169                 <artifactId>kotlin-script-util</artifactId>
170                 <version>${kotlin.version}</version>
171             </dependency>
172             <dependency>
173                 <groupId>org.jetbrains.kotlin</groupId>
174                 <artifactId>kotlin-script-runtime</artifactId>
175                 <version>${kotlin.version}</version>
176             </dependency>
177             <dependency>
178                 <groupId>org.jetbrains.kotlinx</groupId>
179                 <artifactId>kotlinx-coroutines-core</artifactId>
180                 <version>${kotlin.couroutines.version}</version>
181             </dependency>
182             <dependency>
183                 <groupId>org.jetbrains.kotlinx</groupId>
184                 <artifactId>kotlinx-coroutines-reactor</artifactId>
185                 <version>${kotlin.couroutines.version}</version>
186             </dependency>
187             <dependency>
188                 <groupId>org.jetbrains.kotlin</groupId>
189                 <artifactId>kotlin-reflect</artifactId>
190                 <version>${kotlin.version}</version>
191             </dependency>
192             <dependency>
193                 <groupId>org.jetbrains.kotlin</groupId>
194                 <artifactId>kotlin-stdlib-jdk8</artifactId>
195                 <version>${kotlin.version}</version>
196             </dependency>
197             <dependency>
198                 <groupId>org.jetbrains.kotlin</groupId>
199                 <artifactId>kotlin-stdlib-jdk7</artifactId>
200                 <version>${kotlin.version}</version>
201             </dependency>
202
203             <!-- GRPC Dependencies -->
204             <dependency>
205                 <groupId>io.grpc</groupId>
206                 <artifactId>grpc-core</artifactId>
207                 <version>${grpc.version}</version>
208             </dependency>
209             <dependency>
210                 <groupId>io.grpc</groupId>
211                 <artifactId>grpc-netty</artifactId>
212                 <version>${grpc.version}</version>
213             </dependency>
214             <dependency>
215                 <groupId>io.grpc</groupId>
216                 <artifactId>grpc-protobuf</artifactId>
217                 <version>${grpc.version}</version>
218             </dependency>
219             <dependency>
220                 <groupId>io.grpc</groupId>
221                 <artifactId>grpc-stub</artifactId>
222                 <version>${grpc.version}</version>
223             </dependency>
224             <dependency>
225                 <groupId>com.google.protobuf</groupId>
226                 <artifactId>protobuf-java-util</artifactId>
227                 <version>${protobuff.java.utils.version}</version>
228             </dependency>
229             <dependency>
230                 <groupId>org.onap.ccsdk.cds.components</groupId>
231                 <artifactId>proto-definition</artifactId>
232                 <version>${project.version}</version>
233             </dependency>
234
235             <!-- Adaptors -->
236             <dependency>
237                 <groupId>org.apache.sshd</groupId>
238                 <artifactId>sshd-core</artifactId>
239                 <version>${sshd.version}</version>
240                 <exclusions>
241                     <exclusion>
242                         <groupId>org.slf4j</groupId>
243                         <artifactId>slf4j-api</artifactId>
244                     </exclusion>
245                 </exclusions>
246             </dependency>
247             <dependency>
248                 <groupId>com.jcraft</groupId>
249                 <artifactId>jsch</artifactId>
250                 <version>${jsch.version}</version>
251             </dependency>
252
253             <dependency>
254                 <groupId>org.apache.kafka</groupId>
255                 <artifactId>kafka-clients</artifactId>
256                 <version>${kafka.version}</version>
257             </dependency>
258             <dependency>
259                 <groupId>org.apache.kafka</groupId>
260                 <artifactId>kafka-streams</artifactId>
261                 <version>${kafka.version}</version>
262             </dependency>
263
264             <!-- SLI Version -->
265             <dependency>
266                 <groupId>org.onap.ccsdk.sli.core</groupId>
267                 <artifactId>sli-provider</artifactId>
268                 <version>${sli.version}</version>
269                 <exclusions>
270                     <exclusion>
271                         <groupId>commons-lang</groupId>
272                         <artifactId>commons-lang</artifactId>
273                     </exclusion>
274                     <exclusion>
275                         <groupId>org.apache.commons</groupId>
276                         <artifactId>*</artifactId>
277                     </exclusion>
278                     <exclusion>
279                         <groupId>org.slf4j</groupId>
280                         <artifactId>*</artifactId>
281                     </exclusion>
282                     <exclusion>
283                         <groupId>org.opendaylight.mdsal.model</groupId>
284                         <artifactId>*</artifactId>
285                     </exclusion>
286                     <exclusion>
287                         <groupId>org.opendaylight.controller</groupId>
288                         <artifactId>*</artifactId>
289                     </exclusion>
290                     <exclusion>
291                         <groupId>org.apache.tomcat</groupId>
292                         <artifactId>*</artifactId>
293                     </exclusion>
294                     <exclusion>
295                         <groupId>org.apache.karaf.shell</groupId>
296                         <artifactId>*</artifactId>
297                     </exclusion>
298                     <exclusion>
299                         <groupId>org.mariadb.jdbc</groupId>
300                         <artifactId>*</artifactId>
301                     </exclusion>
302                     <exclusion>
303                         <groupId>org.powermock</groupId>
304                         <artifactId>*</artifactId>
305                     </exclusion>
306                 </exclusions>
307             </dependency>
308
309
310             <!-- Blueprint Processor Application Module Dependencies -->
311             <dependency>
312                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
313                 <artifactId>processor-core</artifactId>
314                 <version>${project.version}</version>
315             </dependency>
316             <dependency>
317                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
318                 <artifactId>db-lib</artifactId>
319                 <version>${project.version}</version>
320             </dependency>
321             <dependency>
322                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
323                 <artifactId>rest-lib</artifactId>
324                 <version>${project.version}</version>
325             </dependency>
326             <dependency>
327                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
328                 <artifactId>ssh-lib</artifactId>
329                 <version>${project.version}</version>
330             </dependency>
331             <dependency>
332                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
333                 <artifactId>dmaap-lib</artifactId>
334                 <version>${project.version}</version>
335             </dependency>
336             <dependency>
337                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
338                 <artifactId>grpc-lib</artifactId>
339                 <version>${project.version}</version>
340             </dependency>
341             <dependency>
342                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
343                 <artifactId>execution-service</artifactId>
344                 <version>${project.version}</version>
345             </dependency>
346             <dependency>
347                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
348                 <artifactId>workflow-service</artifactId>
349                 <version>${project.version}</version>
350             </dependency>
351             <dependency>
352                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
353                 <artifactId>resource-api</artifactId>
354                 <version>${project.version}</version>
355             </dependency>
356             <dependency>
357                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
358                 <artifactId>selfservice-api</artifactId>
359                 <version>${project.version}</version>
360             </dependency>
361             <dependency>
362                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
363                 <artifactId>application</artifactId>
364                 <version>${project.version}</version>
365             </dependency>
366
367             <!-- Functions -->
368             <dependency>
369                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
370                 <artifactId>resource-resolution</artifactId>
371                 <version>${project.version}</version>
372             </dependency>
373             <dependency>
374                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
375                 <artifactId>python-executor</artifactId>
376                 <version>${project.version}</version>
377             </dependency>
378             <dependency>
379                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
380                 <artifactId>ansible-awx-executor</artifactId>
381                 <version>${project.version}</version>
382             </dependency>
383             <dependency>
384                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
385                 <artifactId>netconf-executor</artifactId>
386                 <version>${project.version}</version>
387             </dependency>
388             <dependency>
389                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
390                 <artifactId>restconf-executor</artifactId>
391                 <version>${project.version}</version>
392             </dependency>
393             <dependency>
394                 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
395                 <artifactId>cli-executor</artifactId>
396                 <version>${project.version}</version>
397             </dependency>
398
399             <!-- Controller Blueprints Application Dependency -->
400             <dependency>
401                 <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
402                 <artifactId>resource-dict</artifactId>
403                 <version>${project.version}</version>
404             </dependency>
405             <dependency>
406                 <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
407                 <artifactId>blueprint-core</artifactId>
408                 <version>${project.version}</version>
409             </dependency>
410             <dependency>
411                 <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
412                 <artifactId>blueprint-scripts</artifactId>
413                 <version>${project.version}</version>
414             </dependency>
415             <dependency>
416                 <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
417                 <artifactId>db-resources</artifactId>
418                 <version>${project.version}</version>
419             </dependency>
420             <dependency>
421                 <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
422                 <artifactId>blueprint-validation</artifactId>
423                 <version>${project.version}</version>
424             </dependency>
425
426             <!-- Database -->
427             <dependency>
428                 <groupId>com.h2database</groupId>
429                 <artifactId>h2</artifactId>
430                 <version>${h2database.version}</version>
431                 <scope>test</scope>
432             </dependency>
433
434             <!-- Test Dependency -->
435             <dependency>
436                 <groupId>io.mockk</groupId>
437                 <artifactId>mockk</artifactId>
438                 <version>${mockk.version}</version>
439                 <scope>test</scope>
440             </dependency>
441             <dependency>
442                 <groupId>org.mock-server</groupId>
443                 <artifactId>mockserver-netty</artifactId>
444                 <version>${mockkserver.version}</version>
445                 <scope>test</scope>
446             </dependency>
447             <dependency>
448                 <groupId>org.powermock</groupId>
449                 <artifactId>powermock-api-mockito2</artifactId>
450                 <version>${powermock.version}</version>
451                 <scope>test</scope>
452             </dependency>
453             <dependency>
454                 <groupId>org.jetbrains.kotlin</groupId>
455                 <artifactId>kotlin-test-junit</artifactId>
456                 <version>${kotlin.version}</version>
457                 <scope>test</scope>
458             </dependency>
459             <dependency>
460                 <groupId>org.jetbrains.kotlinx</groupId>
461                 <artifactId>kotlinx-coroutines-test</artifactId>
462                 <version>${kotlin.couroutines.version}</version>
463                 <scope>test</scope>
464             </dependency>
465             <dependency>
466                 <groupId>io.grpc</groupId>
467                 <artifactId>grpc-testing</artifactId>
468                 <version>${grpc.version}</version>
469                 <scope>test</scope>
470             </dependency>
471
472             <!-- Spring Kafka -->
473             <dependency>
474                 <groupId>org.springframework.kafka</groupId>
475                 <artifactId>spring-kafka-test</artifactId>
476                 <version>${spring.kafka.version}</version>
477                 <scope>test</scope>
478             </dependency>
479
480         </dependencies>
481     </dependencyManagement>
482
483     <dependencies>
484         <dependency>
485             <groupId>org.apache.commons</groupId>
486             <artifactId>commons-lang3</artifactId>
487         </dependency>
488         <dependency>
489             <groupId>commons-collections</groupId>
490             <artifactId>commons-collections</artifactId>
491         </dependency>
492         <dependency>
493             <groupId>commons-io</groupId>
494             <artifactId>commons-io</artifactId>
495         </dependency>
496         <dependency>
497             <groupId>org.apache.commons</groupId>
498             <artifactId>commons-compress</artifactId>
499         </dependency>
500         <dependency>
501             <groupId>com.jayway.jsonpath</groupId>
502             <artifactId>json-path</artifactId>
503             <exclusions>
504                 <exclusion>
505                     <groupId>org.slf4j</groupId>
506                     <artifactId>slf4j-api</artifactId>
507                 </exclusion>
508             </exclusions>
509         </dependency>
510         <dependency>
511             <groupId>com.google.guava</groupId>
512             <artifactId>guava</artifactId>
513         </dependency>
514         <dependency>
515             <groupId>io.springfox</groupId>
516             <artifactId>springfox-swagger2</artifactId>
517             <exclusions>
518                 <exclusion>
519                     <groupId>org.slf4j</groupId>
520                     <artifactId>slf4j-api</artifactId>
521                 </exclusion>
522             </exclusions>
523         </dependency>
524         <dependency>
525             <groupId>io.springfox</groupId>
526             <artifactId>springfox-swagger-ui</artifactId>
527         </dependency>
528         <dependency>
529             <groupId>org.jetbrains.kotlin</groupId>
530             <artifactId>kotlin-stdlib</artifactId>
531         </dependency>
532         <dependency>
533             <groupId>org.jetbrains.kotlin</groupId>
534             <artifactId>kotlin-script-util</artifactId>
535         </dependency>
536         <dependency>
537             <groupId>org.jetbrains.kotlin</groupId>
538             <artifactId>kotlin-stdlib-jdk8</artifactId>
539         </dependency>
540         <dependency>
541             <groupId>org.jetbrains.kotlinx</groupId>
542             <artifactId>kotlinx-coroutines-core</artifactId>
543         </dependency>
544         <dependency>
545             <groupId>org.jetbrains.kotlinx</groupId>
546             <artifactId>kotlinx-coroutines-reactor</artifactId>
547         </dependency>
548         <dependency>
549             <groupId>com.fasterxml.jackson.module</groupId>
550             <artifactId>jackson-module-kotlin</artifactId>
551         </dependency>
552         <dependency>
553             <groupId>org.jetbrains.kotlin</groupId>
554             <artifactId>kotlin-compiler-embeddable</artifactId>
555         </dependency>
556         <dependency>
557             <groupId>org.jetbrains.kotlin</groupId>
558             <artifactId>kotlin-scripting-jvm-host</artifactId>
559             <!--Use kotlin-compiler-embeddable as koltin-compiler wrap-->
560             <!--guava dependency creating classpath issues at runtime-->
561             <exclusions>
562                 <exclusion>
563                     <groupId>org.jetbrains.kotlin</groupId>
564                     <artifactId>kotlin-compiler</artifactId>
565                 </exclusion>
566             </exclusions>
567         </dependency>
568         <!-- GRPC Dependencies -->
569         <dependency>
570             <groupId>io.grpc</groupId>
571             <artifactId>grpc-netty</artifactId>
572         </dependency>
573         <dependency>
574             <groupId>io.grpc</groupId>
575             <artifactId>grpc-protobuf</artifactId>
576         </dependency>
577         <dependency>
578             <groupId>io.grpc</groupId>
579             <artifactId>grpc-stub</artifactId>
580         </dependency>
581         <dependency>
582             <groupId>com.google.protobuf</groupId>
583             <artifactId>protobuf-java-util</artifactId>
584         </dependency>
585     </dependencies>
586
587     <build>
588         <plugins>
589             <plugin>
590                 <groupId>org.jetbrains.kotlin</groupId>
591                 <artifactId>kotlin-maven-plugin</artifactId>
592                 <version>${kotlin.maven.version}</version>
593                 <executions>
594                     <execution>
595                         <id>compile</id>
596                         <goals>
597                             <goal>compile</goal>
598                         </goals>
599                         <configuration>
600                             <sourceDirs>
601                                 <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
602                                 <sourceDir>${project.basedir}/src/main/java</sourceDir>
603                             </sourceDirs>
604                         </configuration>
605                     </execution>
606                     <execution>
607                         <id>test-compile</id>
608                         <goals>
609                             <goal>test-compile</goal>
610                         </goals>
611                         <configuration>
612                             <sourceDirs>
613                                 <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
614                                 <sourceDir>${project.basedir}/src/test/java</sourceDir>
615                             </sourceDirs>
616                         </configuration>
617                     </execution>
618                 </executions>
619             </plugin>
620             <plugin>
621                 <groupId>org.apache.maven.plugins</groupId>
622                 <artifactId>maven-compiler-plugin</artifactId>
623                 <version>3.5.1</version>
624                 <configuration>
625                     <source>${maven.compiler.source}</source>
626                     <target>${maven.compiler.target}</target>
627                 </configuration>
628             </plugin>
629         </plugins>
630     </build>
631 </project>