1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ Copyright © 2017-2019 AT&T, IBM, Bell Canada.
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
9 ~ http://www.apache.org/licenses/LICENSE-2.0
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.
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>
21 <groupId>org.onap.ccsdk.cds</groupId>
22 <artifactId>blueprintsprocessor</artifactId>
23 <version>0.7.0-SNAPSHOT</version>
26 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
27 <artifactId>parent</artifactId>
28 <version>0.7.0-SNAPSHOT</version>
29 <packaging>pom</packaging>
31 <name>Blueprints Processor Parent</name>
32 <description>Blueprints Processor Parent</description>
35 <sli.version>${ccsdk.sli.core.version}</sli.version>
36 <!-- Override CDS version from parent to be project.version -->
37 <ccsdk.cds.version>${project.version}</ccsdk.cds.version>
38 <dmaap.client.version>1.1.5</dmaap.client.version>
39 <nats.version>2.6.6</nats.version>
40 <nats.streaming.version>2.2.3</nats.streaming.version>
42 <!-- Should be using released artifact as soon as available: -->
43 <!-- https://github.com/springfox/springfox/milestone/44 -->
44 <springfox.swagger2.version>2.9.2</springfox.swagger2.version>
45 <spring.kafka.version>2.2.6.RELEASE</spring.kafka.version>
46 <kafka.version>2.2.0</kafka.version>
47 <eelf.version>1.0.0</eelf.version>
48 <onap.logger.slf4j>1.2.2</onap.logger.slf4j>
50 <h2database.version>1.4.197</h2database.version>
51 <powermock.version>1.7.4</powermock.version>
52 <mockkserver.version>5.5.1</mockkserver.version>
53 <json.unit.version>2.8.0</json.unit.version>
54 <xmlunit.version>2.6.3</xmlunit.version>
56 <netty-ssl>2.0.26.Final</netty-ssl>
57 <sshd.version>2.2.0</sshd.version>
58 <jsch.version>0.1.55</jsch.version>
59 <jslt.version>0.1.8</jslt.version>
60 <jython.version>2.7.1</jython.version>
61 <jinja.version>2.5.1</jinja.version>
62 <velocity.version>1.7</velocity.version>
63 <guava.version>27.0.1-jre</guava.version>
64 <jsoup.version>1.10.3</jsoup.version>
65 <json-patch.version>1.9</json-patch.version>
66 <json-smart.version>2.3</json-smart.version>
68 <commons-io-version>2.6</commons-io-version>
69 <commons-lang3-version>3.2.1</commons-lang3-version>
70 <commons-collections-version>3.2.2</commons-collections-version>
73 <dependencyManagement>
77 <groupId>org.springframework.boot</groupId>
78 <artifactId>spring-boot-starter-parent</artifactId>
79 <version>${spring.boot.version}</version>
85 <groupId>org.jsoup</groupId>
86 <artifactId>jsoup</artifactId>
87 <version>${jsoup.version}</version>
91 <groupId>org.springframework.kafka</groupId>
92 <artifactId>spring-kafka</artifactId>
93 <version>${spring.kafka.version}</version>
96 <!--Swagger Dependencies -->
98 <groupId>io.springfox</groupId>
99 <artifactId>springfox-swagger2</artifactId>
100 <version>${springfox.swagger2.version}</version>
103 <groupId>org.slf4j</groupId>
104 <artifactId>slf4j-api</artifactId>
109 <groupId>io.springfox</groupId>
110 <artifactId>springfox-swagger-ui</artifactId>
111 <version>${springfox.swagger2.version}</version>
114 <groupId>org.slf4j</groupId>
115 <artifactId>slf4j-api</artifactId>
122 <groupId>io.springfox</groupId>
123 <artifactId>springfox-spring-webflux</artifactId>
124 <version>${springfox.swagger2.version}</version>
127 <groupId>org.slf4j</groupId>
128 <artifactId>slf4j-api</artifactId>
134 <!-- Common Utils Dependencies -->
136 <groupId>org.apache.commons</groupId>
137 <artifactId>commons-lang3</artifactId>
138 <version>${commons-lang3-version}</version>
141 <groupId>commons-collections</groupId>
142 <artifactId>commons-collections</artifactId>
143 <version>${commons-collections-version}</version>
146 <groupId>commons-io</groupId>
147 <artifactId>commons-io</artifactId>
148 <version>${commons-io-version}</version>
151 <groupId>org.apache.velocity</groupId>
152 <artifactId>velocity</artifactId>
153 <version>${velocity.version}</version>
156 <groupId>org.slf4j</groupId>
157 <artifactId>slf4j-api</artifactId>
162 <groupId>com.hubspot.jinjava</groupId>
163 <artifactId>jinjava</artifactId>
164 <version>${jinja.version}</version>
167 <groupId>com.schibsted.spt.data</groupId>
168 <artifactId>jslt</artifactId>
169 <version>${jslt.version}</version>
172 <groupId>com.google.guava</groupId>
173 <artifactId>guava</artifactId>
174 <version>${guava.version}</version>
177 <groupId>net.javacrumbs.json-unit</groupId>
178 <artifactId>json-unit-json-path</artifactId>
179 <version>${json.unit.version}</version>
180 <scope>compile</scope>
183 <groupId>org.python</groupId>
184 <artifactId>jython-standalone</artifactId>
185 <version>${jython.version}</version>
188 <groupId>net.minidev</groupId>
189 <artifactId>json-smart</artifactId>
190 <version>${json-smart.version}</version>
193 <!-- Kotlin Dependencies -->
195 <groupId>org.jetbrains.kotlin</groupId>
196 <artifactId>kotlin-stdlib</artifactId>
197 <version>${kotlin.version}</version>
200 <groupId>org.jetbrains.kotlin</groupId>
201 <artifactId>kotlin-stdlib-common</artifactId>
202 <version>${kotlin.version}</version>
204 <!--Use kotlin-compiler-embeddable instead koltin-compiler wrap-->
205 <!--guava dependency inside kotlin-compiler creating classpath issues at runtime-->
207 <groupId>org.jetbrains.kotlin</groupId>
208 <artifactId>kotlin-scripting-jvm-host</artifactId>
209 <version>${kotlin.version}</version>
212 <groupId>org.jetbrains.kotlin</groupId>
213 <artifactId>kotlin-compile</artifactId>
218 <groupId>org.jetbrains.kotlin</groupId>
219 <artifactId>kotlin-compiler-embeddable</artifactId>
220 <version>${kotlin.version}</version>
223 <groupId>org.jetbrains.kotlin</groupId>
224 <artifactId>kotlin-script-util</artifactId>
225 <version>${kotlin.version}</version>
228 <groupId>org.jetbrains.kotlin</groupId>
229 <artifactId>kotlin-script-runtime</artifactId>
230 <version>${kotlin.version}</version>
233 <groupId>org.jetbrains.kotlinx</groupId>
234 <artifactId>kotlinx-coroutines-core</artifactId>
235 <version>${kotlin.couroutines.version}</version>
238 <groupId>org.jetbrains.kotlinx</groupId>
239 <artifactId>kotlinx-coroutines-reactor</artifactId>
240 <version>${kotlin.couroutines.version}</version>
243 <groupId>org.jetbrains.kotlin</groupId>
244 <artifactId>kotlin-reflect</artifactId>
245 <version>${kotlin.version}</version>
248 <groupId>org.jetbrains.kotlin</groupId>
249 <artifactId>kotlin-stdlib-jdk8</artifactId>
250 <version>${kotlin.version}</version>
253 <groupId>org.jetbrains.kotlin</groupId>
254 <artifactId>kotlin-stdlib-jdk7</artifactId>
255 <version>${kotlin.version}</version>
258 <!-- GRPC Dependencies -->
260 <groupId>io.grpc</groupId>
261 <artifactId>grpc-core</artifactId>
262 <version>${grpc.version}</version>
265 <groupId>io.grpc</groupId>
266 <artifactId>grpc-netty</artifactId>
267 <version>${grpc.version}</version>
270 <groupId>io.grpc</groupId>
271 <artifactId>grpc-protobuf</artifactId>
272 <version>${grpc.version}</version>
275 <groupId>io.grpc</groupId>
276 <artifactId>grpc-stub</artifactId>
277 <version>${grpc.version}</version>
280 <groupId>io.grpc</groupId>
281 <artifactId>grpc-netty-shaded</artifactId>
282 <version>${grpc.version}</version>
285 <groupId>io.grpc</groupId>
286 <artifactId>grpc-grpclb</artifactId>
287 <version>${grpc.version}</version>
290 <groupId>com.google.protobuf</groupId>
291 <artifactId>protobuf-java</artifactId>
292 <version>${protobuff.java.version}</version>
295 <groupId>com.google.protobuf</groupId>
296 <artifactId>protobuf-java-util</artifactId>
297 <version>${protobuff.java.utils.version}</version>
300 <groupId>com.github.marcoferrer.krotoplus</groupId>
301 <artifactId>kroto-plus-coroutines</artifactId>
302 <version>${kroto-plus.version}</version>
305 <groupId>io.netty</groupId>
306 <artifactId>netty-tcnative-boringssl-static</artifactId>
307 <version>${netty-ssl}</version>
312 <groupId>io.nats</groupId>
313 <artifactId>jnats</artifactId>
314 <version>${nats.version}</version>
317 <groupId>io.nats</groupId>
318 <artifactId>java-nats-streaming</artifactId>
319 <version>${nats.streaming.version}</version>
324 <groupId>io.atomix</groupId>
325 <artifactId>atomix</artifactId>
326 <version>${atomix.version}</version>
329 <groupId>io.atomix</groupId>
330 <artifactId>atomix-raft</artifactId>
331 <version>${atomix.version}</version>
334 <groupId>io.atomix</groupId>
335 <artifactId>atomix-primary-backup</artifactId>
336 <version>${atomix.version}</version>
339 <groupId>io.atomix</groupId>
340 <artifactId>atomix-gossip</artifactId>
341 <version>${atomix.version}</version>
346 <groupId>org.apache.sshd</groupId>
347 <artifactId>sshd-core</artifactId>
348 <version>${sshd.version}</version>
351 <groupId>org.slf4j</groupId>
352 <artifactId>slf4j-api</artifactId>
357 <groupId>com.jcraft</groupId>
358 <artifactId>jsch</artifactId>
359 <version>${jsch.version}</version>
363 <groupId>org.apache.kafka</groupId>
364 <artifactId>kafka-clients</artifactId>
365 <version>${kafka.version}</version>
368 <groupId>org.apache.kafka</groupId>
369 <artifactId>kafka-streams</artifactId>
370 <version>${kafka.version}</version>
375 <groupId>org.onap.ccsdk.sli.core</groupId>
376 <artifactId>sli-provider</artifactId>
377 <version>${sli.version}</version>
380 <groupId>commons-lang</groupId>
381 <artifactId>commons-lang</artifactId>
384 <groupId>org.apache.commons</groupId>
385 <artifactId>*</artifactId>
388 <groupId>org.slf4j</groupId>
389 <artifactId>*</artifactId>
392 <groupId>org.opendaylight.mdsal.model</groupId>
393 <artifactId>*</artifactId>
396 <groupId>org.opendaylight.controller</groupId>
397 <artifactId>*</artifactId>
400 <groupId>org.apache.tomcat</groupId>
401 <artifactId>*</artifactId>
404 <groupId>org.apache.karaf.shell</groupId>
405 <artifactId>*</artifactId>
408 <groupId>org.mariadb.jdbc</groupId>
409 <artifactId>*</artifactId>
412 <groupId>org.powermock</groupId>
413 <artifactId>*</artifactId>
418 <!-- Blueprint Processor Application Module Dependencies -->
420 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
421 <artifactId>processor-core</artifactId>
422 <version>${ccsdk.cds.version}</version>
425 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
426 <artifactId>atomix-lib</artifactId>
427 <version>${ccsdk.cds.version}</version>
430 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
431 <artifactId>db-lib</artifactId>
432 <version>${ccsdk.cds.version}</version>
435 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
436 <artifactId>rest-lib</artifactId>
437 <version>${ccsdk.cds.version}</version>
440 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
441 <artifactId>nats-lib</artifactId>
442 <version>${ccsdk.cds.version}</version>
445 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
446 <artifactId>ssh-lib</artifactId>
447 <version>${ccsdk.cds.version}</version>
450 <!-- message-lib dependency -->
452 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
453 <artifactId>message-lib</artifactId>
454 <version>${ccsdk.cds.version}</version>
457 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
458 <artifactId>dmaap-lib</artifactId>
459 <version>${ccsdk.cds.version}</version>
462 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
463 <artifactId>grpc-lib</artifactId>
464 <version>${ccsdk.cds.version}</version>
467 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
468 <artifactId>execution-service</artifactId>
469 <version>${ccsdk.cds.version}</version>
472 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
473 <artifactId>workflow-service</artifactId>
474 <version>${ccsdk.cds.version}</version>
479 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
480 <artifactId>configs-api</artifactId>
481 <version>${ccsdk.cds.version}</version>
484 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
485 <artifactId>designer-api</artifactId>
486 <version>${ccsdk.cds.version}</version>
489 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
490 <artifactId>resource-api</artifactId>
491 <version>${ccsdk.cds.version}</version>
494 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
495 <artifactId>selfservice-api</artifactId>
496 <version>${ccsdk.cds.version}</version>
499 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
500 <artifactId>application</artifactId>
501 <version>${ccsdk.cds.version}</version>
506 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
507 <artifactId>resource-resolution</artifactId>
508 <version>${ccsdk.cds.version}</version>
511 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
512 <artifactId>nrm-restful</artifactId>
513 <version>${ccsdk.cds.version}</version>
516 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
517 <artifactId>python-executor</artifactId>
518 <version>${ccsdk.cds.version}</version>
521 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
522 <artifactId>ansible-awx-executor</artifactId>
523 <version>${ccsdk.cds.version}</version>
526 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
527 <artifactId>netconf-executor</artifactId>
528 <version>${ccsdk.cds.version}</version>
531 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
532 <artifactId>restconf-executor</artifactId>
533 <version>${ccsdk.cds.version}</version>
536 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
537 <artifactId>cli-executor</artifactId>
538 <version>${ccsdk.cds.version}</version>
541 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
542 <artifactId>config-snapshots</artifactId>
543 <version>${ccsdk.cds.version}</version>
546 <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
547 <artifactId>message-prioritizaion</artifactId>
548 <version>${ccsdk.cds.version}</version>
551 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
552 <artifactId>health-api</artifactId>
553 <version>${ccsdk.cds.version}</version>
556 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
557 <artifactId>health-api-common</artifactId>
558 <version>${ccsdk.cds.version}</version>
561 <!-- Diff capability providers for config-snapshots -->
563 <groupId>com.github.fge</groupId>
564 <artifactId>json-patch</artifactId>
565 <version>${json-patch.version}</version>
568 <groupId>org.xmlunit</groupId>
569 <artifactId>xmlunit-core</artifactId>
570 <version>${xmlunit.version}</version>
573 <!-- Controller Blueprints Application Dependency -->
575 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
576 <artifactId>resource-dict</artifactId>
577 <version>${ccsdk.cds.version}</version>
580 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
581 <artifactId>blueprint-core</artifactId>
582 <version>${ccsdk.cds.version}</version>
585 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
586 <artifactId>blueprint-proto</artifactId>
587 <version>${ccsdk.cds.version}</version>
590 <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
591 <artifactId>blueprint-validation</artifactId>
592 <version>${ccsdk.cds.version}</version>
597 <groupId>com.h2database</groupId>
598 <artifactId>h2</artifactId>
599 <version>${h2database.version}</version>
603 <!-- Test Dependency -->
605 <groupId>io.mockk</groupId>
606 <artifactId>mockk</artifactId>
607 <version>${mockk.version}</version>
611 <groupId>org.mock-server</groupId>
612 <artifactId>mockserver-netty</artifactId>
613 <version>${mockkserver.version}</version>
617 <groupId>org.powermock</groupId>
618 <artifactId>powermock-api-mockito2</artifactId>
619 <version>${powermock.version}</version>
623 <groupId>com.nhaarman.mockitokotlin2</groupId>
624 <artifactId>mockito-kotlin</artifactId>
625 <version>2.2.0</version>
629 <groupId>org.jetbrains.kotlin</groupId>
630 <artifactId>kotlin-test-junit</artifactId>
631 <version>${kotlin.version}</version>
635 <groupId>org.jetbrains.kotlinx</groupId>
636 <artifactId>kotlinx-coroutines-test</artifactId>
637 <version>${kotlin.couroutines.version}</version>
642 <groupId>io.grpc</groupId>
643 <artifactId>grpc-testing</artifactId>
644 <version>${grpc.version}</version>
648 <!-- Spring Kafka -->
650 <groupId>org.springframework.kafka</groupId>
651 <artifactId>spring-kafka-test</artifactId>
652 <version>${spring.kafka.version}</version>
657 </dependencyManagement>
660 <groupId>org.apache.commons</groupId>
661 <artifactId>commons-lang3</artifactId>
664 <groupId>commons-collections</groupId>
665 <artifactId>commons-collections</artifactId>
668 <groupId>commons-io</groupId>
669 <artifactId>commons-io</artifactId>
672 <groupId>com.jayway.jsonpath</groupId>
673 <artifactId>json-path</artifactId>
676 <groupId>org.slf4j</groupId>
677 <artifactId>slf4j-api</artifactId>
682 <groupId>net.minidev</groupId>
683 <artifactId>json-smart</artifactId>
686 <groupId>net.javacrumbs.json-unit</groupId>
687 <artifactId>json-unit-json-path</artifactId>
690 <groupId>com.google.guava</groupId>
691 <artifactId>guava</artifactId>
694 <groupId>io.springfox</groupId>
695 <artifactId>springfox-swagger2</artifactId>
698 <groupId>org.slf4j</groupId>
699 <artifactId>slf4j-api</artifactId>
704 <!-- <groupId>io.springfox</groupId>-->
705 <!-- <artifactId>springfox-spring-webflux</artifactId>-->
706 <!-- </dependency>-->
708 <groupId>io.springfox</groupId>
709 <artifactId>springfox-swagger-ui</artifactId>
712 <groupId>org.jetbrains.kotlin</groupId>
713 <artifactId>kotlin-stdlib</artifactId>
716 <groupId>org.jetbrains.kotlin</groupId>
717 <artifactId>kotlin-script-util</artifactId>
720 <groupId>org.jetbrains.kotlin</groupId>
721 <artifactId>kotlin-stdlib-jdk8</artifactId>
724 <groupId>org.jetbrains.kotlinx</groupId>
725 <artifactId>kotlinx-coroutines-core</artifactId>
728 <groupId>org.jetbrains.kotlinx</groupId>
729 <artifactId>kotlinx-coroutines-reactor</artifactId>
732 <groupId>com.fasterxml.jackson.module</groupId>
733 <artifactId>jackson-module-kotlin</artifactId>
736 <groupId>org.jetbrains.kotlin</groupId>
737 <artifactId>kotlin-compiler-embeddable</artifactId>
740 <groupId>org.jetbrains.kotlin</groupId>
741 <artifactId>kotlin-scripting-jvm-host</artifactId>
742 <!--Use kotlin-compiler-embeddable as koltin-compiler wrap-->
743 <!--guava dependency creating classpath issues at runtime-->
746 <groupId>org.jetbrains.kotlin</groupId>
747 <artifactId>kotlin-compiler</artifactId>
751 <!-- GRPC Dependencies -->
753 <groupId>io.grpc</groupId>
754 <artifactId>grpc-netty</artifactId>
757 <groupId>io.grpc</groupId>
758 <artifactId>grpc-protobuf</artifactId>
761 <groupId>io.grpc</groupId>
762 <artifactId>grpc-stub</artifactId>
765 <groupId>io.grpc</groupId>
766 <artifactId>grpc-netty-shaded</artifactId>
769 <groupId>io.grpc</groupId>
770 <artifactId>grpc-grpclb</artifactId>
773 <groupId>com.google.protobuf</groupId>
774 <artifactId>protobuf-java</artifactId>
777 <groupId>com.google.protobuf</groupId>
778 <artifactId>protobuf-java-util</artifactId>
781 <groupId>io.netty</groupId>
782 <artifactId>netty-tcnative-boringssl-static</artifactId>
788 <id>spring-libs-milestone</id>
789 <name>Spring Milestone Maven Repository</name>
790 <url>http://oss.jfrog.org/artifactory/oss-release-local/</url>
792 <enabled>true</enabled>
795 <enabled>false</enabled>
799 <id>spring-libs-milestone-snapshot</id>
800 <name>Spring Milestone Maven Repository - snapshots</name>
801 <url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
803 <enabled>false</enabled>
806 <enabled>true</enabled>
814 <groupId>org.jetbrains.kotlin</groupId>
815 <artifactId>kotlin-maven-plugin</artifactId>
816 <version>${kotlin.maven.version}</version>
825 <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
826 <sourceDir>${project.basedir}/src/main/java</sourceDir>
831 <id>test-compile</id>
833 <goal>test-compile</goal>
837 <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
838 <sourceDir>${project.basedir}/src/test/java</sourceDir>
845 <groupId>org.apache.maven.plugins</groupId>
846 <artifactId>maven-compiler-plugin</artifactId>
847 <version>3.5.1</version>
849 <source>${maven.compiler.source}</source>
850 <target>${maven.compiler.target}</target>