| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848 | <?xml version="1.0" encoding="UTF-8"?><!--  ~ Licensed to the Apache Software Foundation (ASF) under one  ~ or more contributor license agreements.  See the NOTICE file  ~ distributed with this work for additional information  ~ regarding copyright ownership.  The ASF licenses this file  ~ to you under the Apache License, Version 2.0 (the  ~ "License"); you may not use this file except in compliance  ~ with the License.  You may obtain a copy of the License at  ~  ~     http://www.apache.org/licenses/LICENSE-2.0  ~  ~ Unless required by applicable law or agreed to in writing, software  ~ distributed under the License is distributed on an "AS IS" BASIS,  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  ~ See the License for the specific language governing permissions and  ~ limitations under the License.  --><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 https://maven.apache.org/maven-v4_0_0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>        <groupId>org.apache.atlas</groupId>        <artifactId>apache-atlas</artifactId>        <version>2.2.0</version>    </parent>    <artifactId>atlas-webapp</artifactId>    <description>Apache Atlas Web Application</description>    <name>Apache Atlas Web Application</name>    <packaging>war</packaging>    <properties>        <debug.jetty.daemon>true</debug.jetty.daemon>        <log4j.configuration.url>file:///${project.build.directory}/../../distro/src/conf/atlas-log4j.xml</log4j.configuration.url>        <projectBaseDir>${project.basedir}/..</projectBaseDir>    </properties>    <profiles>        <profile>            <id>dist</id>            <activation>                <activeByDefault>false</activeByDefault>            </activation>            <properties>                <packages.to.exclude>${distro.exclude.packages}</packages.to.exclude>            </properties>        </profile>        <profile>            <id>berkeley-elasticsearch</id>            <activation>                <activeByDefault>false</activeByDefault>            </activation>            <properties>                <packages.to.exclude>WEB-INF/lib/je-*.jar,WEB-INF/lib/dom4j-*.jar</packages.to.exclude>            </properties>        </profile>        <profile>            <id>berkeley-solr</id>            <activation>                <activeByDefault>false</activeByDefault>            </activation>            <properties>                <packages.to.exclude>WEB-INF/lib/dom4j-*.jar</packages.to.exclude>            </properties>        </profile>        <profile>            <id>Windows</id>            <activation>                <os>                    <family>windows</family>                </os>            </activation>            <properties>                <log4j.configuration.url>file:/${project.build.directory}/../../distro/src/conf/atlas-log4j.xml</log4j.configuration.url>            </properties>        </profile>    </profiles>    <dependencies>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-graphdb-impls</artifactId>            <exclusions>                <exclusion>                    <groupId>io.netty</groupId>                    <artifactId>netty-handler</artifactId>                </exclusion>            </exclusions>            <type>pom</type>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-common</artifactId>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-repository</artifactId>            <exclusions>                <exclusion>                    <groupId>io.netty</groupId>                    <artifactId>netty-handler</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-client-v1</artifactId>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-client-v2</artifactId>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-authorization</artifactId>            <version>${project.version}</version>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-notification</artifactId>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-intg</artifactId>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-janusgraph-hbase2</artifactId>            <version>${project.version}</version>            <exclusions>              <exclusion>                <groupId>org.noggit</groupId>                <artifactId>noggit</artifactId>              </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-common</artifactId>            <exclusions>                <exclusion>                    <groupId>javax.servlet</groupId>                    <artifactId>servlet-api</artifactId>                </exclusion>                <exclusion>                    <groupId>org.eclipse.jetty</groupId>                    <artifactId>*</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-minikdc</artifactId>        </dependency>        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-hdfs</artifactId>            <exclusions>                <exclusion>                    <groupId>javax.servlet</groupId>                    <artifactId>servlet-api</artifactId>                </exclusion>                <exclusion>                    <groupId>org.eclipse.jetty</groupId>                    <artifactId>*</artifactId>                </exclusion>            </exclusions>        </dependency>        <!-- Zookeeper, curator -->        <dependency>            <groupId>org.apache.curator</groupId>            <artifactId>curator-framework</artifactId>        </dependency>        <dependency>            <groupId>org.apache.curator</groupId>            <artifactId>curator-recipes</artifactId>        </dependency>        <dependency>            <groupId>org.apache.curator</groupId>            <artifactId>curator-client</artifactId>        </dependency>        <dependency>            <groupId>org.apache.zookeeper</groupId>            <artifactId>zookeeper</artifactId>        </dependency>        <!-- supports simple auth handler -->        <dependency>            <groupId>org.apache.httpcomponents</groupId>            <artifactId>httpclient</artifactId>        </dependency>        <dependency>            <groupId>joda-time</groupId>            <artifactId>joda-time</artifactId>        </dependency>        <dependency>            <groupId>commons-configuration</groupId>            <artifactId>commons-configuration</artifactId>        </dependency>        <dependency>            <groupId>commons-cli</groupId>            <artifactId>commons-cli</artifactId>        </dependency>        <dependency>            <groupId>org.apache.commons</groupId>            <artifactId>commons-lang3</artifactId>        </dependency>        <dependency>            <groupId>org.apache.commons</groupId>            <artifactId>commons-collections4</artifactId>        </dependency>        <dependency>            <groupId>com.googlecode.json-simple</groupId>            <artifactId>json-simple</artifactId>        </dependency>        <dependency>            <groupId>javax.servlet.jsp</groupId>            <artifactId>jsp-api</artifactId>        </dependency>        <dependency>            <groupId>org.eclipse.jetty</groupId>            <artifactId>jetty-server</artifactId>        </dependency>        <dependency>            <groupId>org.eclipse.jetty</groupId>            <artifactId>jetty-servlet</artifactId>        </dependency>        <dependency>            <groupId>org.eclipse.jetty</groupId>            <artifactId>jetty-webapp</artifactId>        </dependency>        <dependency>            <groupId>com.sun.jersey</groupId>            <artifactId>jersey-core</artifactId>        </dependency>        <dependency>            <groupId>com.sun.jersey</groupId>            <artifactId>jersey-server</artifactId>        </dependency>        <dependency>            <groupId>com.sun.jersey</groupId>            <artifactId>jersey-client</artifactId>        </dependency>        <dependency>            <groupId>com.sun.jersey.contribs</groupId>            <artifactId>jersey-multipart</artifactId>        </dependency>        <dependency>            <groupId>org.mockito</groupId>            <artifactId>mockito-all</artifactId>        </dependency>        <dependency>            <groupId>org.testng</groupId>            <artifactId>testng</artifactId>        </dependency>        <dependency>            <groupId>com.google.inject</groupId>            <artifactId>guice</artifactId>            <version>${guice.version}</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>com.google.inject.extensions</groupId>            <artifactId>guice-throwingproviders</artifactId>            <version>${guice.version}</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>com.google.inject.extensions</groupId>            <artifactId>guice-multibindings</artifactId>            <version>${guice.version}</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.glassfish</groupId>            <artifactId>javax.el</artifactId>        </dependency>        <dependency>            <groupId>commons-io</groupId>            <artifactId>commons-io</artifactId>        </dependency>        <dependency>                <groupId>org.springframework</groupId>                <artifactId>spring-core</artifactId>        </dependency>        <dependency>                <groupId>org.springframework</groupId>                <artifactId>spring-web</artifactId>        </dependency>        <dependency>                <groupId>org.springframework</groupId>                <artifactId>spring-webmvc</artifactId>        </dependency>        <dependency>                <groupId>org.springframework.security</groupId>                <artifactId>spring-security-core</artifactId>        </dependency>        <dependency>                <groupId>org.springframework.security</groupId>                <artifactId>spring-security-web</artifactId>        </dependency>        <dependency>                <groupId>org.springframework.security</groupId>                <artifactId>spring-security-config</artifactId>        </dependency>        <dependency>                <groupId>org.springframework.security</groupId>                <artifactId>spring-security-ldap</artifactId>        </dependency>        <dependency>                <groupId>javax.servlet</groupId>                <artifactId>javax.servlet-api</artifactId>        </dependency>        <!-- Jersey + Spring -->        <dependency>            <groupId>com.sun.jersey.contribs</groupId>            <artifactId>jersey-spring</artifactId>        </dependency>        <dependency>            <groupId>com.sun.jersey</groupId>            <artifactId>jersey-servlet</artifactId>        </dependency>        <!-- Required for Spring configuration processing -->        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-aop</artifactId>        </dependency>        <dependency>            <groupId>org.aspectj</groupId>            <artifactId>aspectjrt</artifactId>            <version>1.8.9</version>        </dependency>        <dependency>            <groupId>org.aspectj</groupId>            <artifactId>aspectjweaver</artifactId>            <version>1.8.9</version>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-dashboardv2</artifactId>            <type>war</type>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-dashboardv3</artifactId>            <type>war</type>        </dependency>        <dependency>            <groupId>org.easymock</groupId>            <artifactId>easymock</artifactId>            <version>3.4</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-intg</artifactId>            <classifier>tests</classifier>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-repository</artifactId>            <classifier>tests</classifier>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.elasticsearch.client</groupId>            <artifactId>elasticsearch-rest-high-level-client</artifactId>            <version>${elasticsearch.version}</version>            <exclusions>                <exclusion>                    <groupId>org.elasticsearch</groupId>                    <artifactId>elasticsearch</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-graphdb-common</artifactId>            <classifier>tests</classifier>            <scope>test</scope>        </dependency>        <dependency>            <groupId>com.nimbusds</groupId>            <artifactId>nimbus-jose-jwt</artifactId>            <version>9.8.1</version>            <scope>compile</scope>            <exclusions>                <exclusion>                    <groupId>org.bouncycastle</groupId>                    <artifactId>bcprov-jdk15on</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-server-api</artifactId>        </dependency>        <dependency>            <groupId>com.webcohesion.enunciate</groupId>            <artifactId>enunciate-core-annotations</artifactId>        </dependency>        <!-- PAM -->        <dependency>            <groupId>org.kohsuke</groupId>            <artifactId>libpam4j</artifactId>            <version>1.11</version>        </dependency>        <dependency>            <groupId>net.java.dev.jna</groupId>            <artifactId>jna</artifactId>            <version>5.2.0</version>        </dependency>        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-hdfs-client</artifactId>            <version>${hadoop.version}</version>        </dependency>        <!-- AWS library -->        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-aws</artifactId>            <version>${hadoop.version}</version>        </dependency>        <!-- Keycloak -->        <dependency>            <groupId>org.keycloak</groupId>            <artifactId>keycloak-spring-security-adapter</artifactId>            <version>${keycloak.version}</version>            <exclusions>                <exclusion>                    <groupId>com.fasterxml.jackson.core</groupId>                    <artifactId>jackson-core</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.apache.atlas</groupId>            <artifactId>atlas-testtools</artifactId>            <version>${project.version}</version>        </dependency>        <dependency>          <groupId>org.apache.logging.log4j</groupId>          <artifactId>log4j-core</artifactId>          <version>${log4j2.version}</version>        </dependency>        <dependency>          <groupId>org.apache.logging.log4j</groupId>          <artifactId>log4j-web</artifactId>          <version>${log4j2.version}</version>        </dependency>       <dependency>         <groupId>org.apache.logging.log4j</groupId>         <artifactId>log4j-api</artifactId>         <version>${log4j2.version}</version>       </dependency>        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-core</artifactId>            <version>${jackson.version}</version>        </dependency>    </dependencies>    <build>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-war-plugin</artifactId>                <configuration>                    <archiveClasses>true</archiveClasses>                    <attachClasses>true</attachClasses>                    <overlays>                        <overlay>                            <groupId>org.apache.atlas</groupId>                            <artifactId>atlas-dashboardv2</artifactId>                        </overlay>                        <overlay>                            <groupId>org.apache.atlas</groupId>                            <artifactId>atlas-dashboardv3</artifactId>                        </overlay>                        <overlay>                            <!-- empty groupId/artifactId represents the current build -->                        </overlay>                    </overlays>                    <webResources>                        <resource>                            <directory>${project.build.directory}/api/v2/apidocs/ui</directory>                            <targetPath>apidocs</targetPath>                        </resource>                    </webResources>                    <archive>                        <manifest>                            <addClasspath>true</addClasspath>                        </manifest>                    </archive>                    <packagingExcludes>                        WEB-INF/lib/dom4j-*.jar,${packages.to.exclude}                    </packagingExcludes>                </configuration>            </plugin>            <plugin>                <groupId>org.codehaus.mojo</groupId>                <artifactId>keytool-maven-plugin</artifactId>                <version>1.5</version>                <executions>                    <execution>                        <id>clean</id>                        <phase>generate-resources</phase>                        <goals>                            <goal>clean</goal>                        </goals>                    </execution>                    <execution>                        <id>generateKeyPair</id>                        <phase>generate-resources</phase>                        <goals>                            <goal>generateKeyPair</goal>                        </goals>                    </execution>                </executions>                <configuration>                    <dname>cn=atlas.apache.org</dname>                    <keystore>${project.build.directory}/atlas.keystore</keystore>                    <keypass>keypass</keypass>                    <storepass>keypass</storepass>                    <alias>atlas</alias>                    <keyalg>RSA</keyalg>                    <validity>100000</validity>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-surefire-plugin</artifactId>                <configuration>                    <systemProperties>                        <user.dir>${project.basedir}</user.dir>                        <projectBaseDir>${project.basedir}/..</projectBaseDir>                    </systemProperties>                    <forkMode>always</forkMode>                    <redirectTestOutputToFile>true</redirectTestOutputToFile>                    <argLine>-Djava.awt.headless=true -Dproject.version=${project.version}                        -Dhadoop.tmp.dir=${project.build.directory}/tmp-hadoop-${user.name}                        -Xmx1024m                    </argLine>                </configuration>                <executions>                    <!-- Needed for explicit separation of UTs, SSL/Kerberos/Secure server tests and ITs-->                    <execution>                        <id>default-test</id>                        <configuration>                            <skip>true</skip>                        </configuration>                    </execution>                    <!-- Unit tests don't rely of WAR being built and don't interact with real server -->                    <execution>                        <id>unit-tests</id>                        <phase>test</phase>                        <goals>                            <goal>test</goal>                        </goals>                        <configuration>                            <includes>                                <include>**/*Test.java</include>                            </includes>                            <excludes>                                <exclude>**/*SSL*.java</exclude>                                <exclude>**/*Kerberos*.java</exclude>                                <exclude>**/*Base*.java</exclude>                                <exclude>**/*Secure*.java</exclude>                                <exclude>**/*Server*.java</exclude>                                <exclude>**/*$*.java</exclude>                            </excludes>                        </configuration>                    </execution>                    <!-- Secure tests rely on the generated WAR and (may) start atlas server for tests -->                    <!-- Eventually all these server interaction tests need to move to IT phase -->                    <execution>                        <id>secure-tests</id>                        <phase>pre-integration-test</phase>                        <goals>                            <goal>test</goal>                        </goals>                        <configuration>                            <includes>                                <include>**/*SSL*Test.java</include>                                <include>**/*Kerberos*Test.java</include>                                <include>**/*Secure*Test.java</include>                                <include>**/*Server*Test.java</include>                                <include>**/*$*.java</include>                            </includes>                            <excludes>                                <exclude>**/*Base*.java</exclude>                            </excludes>                        </configuration>                    </execution>                </executions>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-antrun-plugin</artifactId>                <executions>                    <execution>                        <phase>pre-integration-test</phase>                        <goals>                            <goal>run</goal>                        </goals>                        <configuration>                            <tasks>                                <delete dir="${project.build.directory}/data"/>                                <delete dir="${project.build.directory}/logs"/>                            </tasks>                        </configuration>                    </execution>                </executions>            </plugin>            <plugin>                <groupId>org.eclipse.jetty</groupId>                <artifactId>jetty-maven-plugin</artifactId>                <configuration>                    <skip>${skipTests}</skip>                    <!--only skip int tests -->                    <httpConnector>                        <port>31000</port>                        <idleTimeout>60000</idleTimeout>                    </httpConnector>                    <war>${project.build.directory}/atlas-webapp-${project.version}.war</war>                    <daemon>true</daemon>                    <webAppSourceDirectory>${project.basedir}/src/main/webapp</webAppSourceDirectory>                    <webApp>                        <contextPath>/</contextPath>                        <descriptor>${project.basedir}/src/main/webapp/WEB-INF/web.xml</descriptor>                        <extraClasspath>${project.build.testOutputDirectory}</extraClasspath>                    </webApp>                    <useTestScope>true</useTestScope>                    <systemProperties>                        <systemProperty>                            <name>atlas.home</name>                            <value>${project.build.directory}</value>                        </systemProperty>                        <systemProperty>                            <key>atlas.conf</key>                            <value>${project.build.directory}/test-classes</value>                        </systemProperty>                        <systemProperty>                            <name>atlas.data</name>                            <value>${project.build.directory}/data</value>                        </systemProperty>                        <systemProperty>                            <name>atlas.log.dir</name>                            <value>${project.build.directory}/logs</value>                        </systemProperty>                        <systemProperty>                            <name>atlas.log.file</name>                            <value>application.log</value>                        </systemProperty>                        <systemProperty>                            <name>log4j.configuration</name>                            <value>${log4j.configuration.url}</value>                        </systemProperty>                        <systemProperty>                            <name>atlas.graphdb.backend</name>                            <value>${graphdb.backend.impl}</value>                        </systemProperty>                        <systemProperty>                            <key>embedded.solr.directory</key>                            <value>${project.build.directory}</value>                        </systemProperty>                        <systemProperty>                            <name>org.eclipse.jetty.annotations.maxWait</name>                            <value>5000</value>                        </systemProperty>                        <systemProperty>                            <name>org.eclipse.jetty.annotations.maxWait</name>                            <value>5000</value>                        </systemProperty>                    </systemProperties>                    <stopKey>atlas-stop</stopKey>                    <stopPort>31001</stopPort>                    <stopWait>${jetty-maven-plugin.stopWait}</stopWait>                    <daemon>${debug.jetty.daemon}</daemon>                    <testClassesDirectory>${project.build.testOutputDirectory}</testClassesDirectory>                    <useTestClasspath>true</useTestClasspath>                </configuration>                <executions>                    <execution>                        <id>start-jetty</id>                        <phase>pre-integration-test</phase>                        <goals>                            <goal>deploy-war</goal>                        </goals>                    </execution>                    <execution>                        <id>stop-jetty</id>                        <phase>post-integration-test</phase>                        <goals>                            <goal>stop</goal>                        </goals>                    </execution>                </executions>            </plugin>           <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-resources-plugin</artifactId>                <executions>                    <execution>                        <id>copy-resources</id>                        <phase>validate</phase>                        <goals>                            <goal>copy-resources</goal>                        </goals>                        <configuration>                            <outputDirectory>${basedir}/target/models/</outputDirectory>                            <resources>                                <resource>                                    <directory>${basedir}/../addons/models/</directory>                                    <includes>                                        <include>0000-Area0/0011-glossary_model.json</include>                                        <include>0000-Area0/0010-base_model.json</include>                                        <include>1000-Hadoop/**</include>                                    </includes>                                </resource>                            </resources>                        </configuration>                    </execution>                    <execution>                        <id>copy-solr-resources</id>                        <phase>validate</phase>                        <goals>                            <goal>copy-resources</goal>                        </goals>                        <configuration>                            <outputDirectory>${project.build.directory}/solr</outputDirectory>                            <resources>                                <resource>                                    <directory>${basedir}/../test-tools/src/main/resources/solr</directory>                                </resource>                            </resources>                        </configuration>                    </execution>                </executions>            </plugin>            <plugin>                <groupId>com.webcohesion.enunciate</groupId>                <artifactId>enunciate-maven-plugin</artifactId>                <version>${enunciate-maven-plugin.version}</version>                <!-- to allow target/api/v2/apidocs/ui to be created before building maven-war-plugin)-->                <executions>                    <execution>                        <phase>generate-resources</phase>                    </execution>                </executions>                <configuration>                    <configFile>${project.parent.basedir}/build-tools/src/main/resources/enunciate.xml</configFile>                    <enunciateArtifactId/>                    <docsDir>${project.build.directory}/api/v2/</docsDir>                    <source>1.8</source>                    <target>1.8</target>                    <skipEnunciate>${skipEnunciate}</skipEnunciate>                </configuration>                <dependencies>                    <dependency>                        <groupId>javax.annotation</groupId>                        <artifactId>javax.annotation-api</artifactId>                        <version>1.3</version>                    </dependency>                </dependencies>            </plugin>        </plugins>    </build></project>
 |