<commit_before><!--
  ~ /*
  ~  * Copyright 2013 Jive Software
  ~  *
  ~  *    Licensed 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 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>jive-sdk-java-jersey</groupId>
    <artifactId>jive-sdk-java-jersey-webapp</artifactId>
    <version>1.0.0.0-SNAPSHOT</version>
    <name>Jive SDK - Java - Jersey - Jive Add-On</name>
    <packaging>war</packaging>

    <parent>
        <groupId>com.jivesoftware.sdk</groupId>
        <artifactId>jive-sdk-java-jersey</artifactId>
        <version>1.0.0.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <properties>
        <!--
        ###############################################################################################################
        #  ANY CHANGES MADE TO THESE PROJECT PROPERTIES SHOULD WARRANT THE MANUAL DELETION OF THE FOLLOWING FILES
        #
        #  jive-sdk-java-jersey/jive-addon/src/main/extension/definition.json
        #  jive-sdk-java-jersey/jive-addon/src/main/extension/definition.json
        #
        #  THE NEXT BUILD WILL AUTOMATICALLY RE-GENERATE THIS FILE
        ###############################################################################################################
        -->

        <!--
        ############## SERVICE CONFIGURATION ##########################################################################
        #### NOTE: YOU CANSET THESE PROPERTIES VIA THE COMMAND LINE VIA -DclientUrl=yyy -Dport=8080 ...  ##############
        ###############################################################################################################
        -->
        <clientUrl>http://localhost</clientUrl>
        <port>8080</port>
        <appContext>example</appContext>

        <!--
        ############## ADD-ON CONFIGURATION ###########################################################################
        -->
        <jive.addon.package.version>1.0</jive.addon.package.version>
        <jive.addon.build.name>jive-sdk-jersey-example</jive.addon.build.name>
        <jive.addon.name>Jive SDK (Java) - Jersey Add-On</jive.addon.name>
        <jive.addon.description>This extension is test extension for the Jive SDK (Java) - Jersey Add-On</jive.addon.description>

        <!-- VALID VALUES ARE ANY unsigned AND signed -->
        <!-- SEE: /src/main/templates/definition.[unsigned|signed].header.template -->
        <!-- NOTE: MOST ADD-ONS ARE NOT SIGNED, BUT IF YOU THINK YOU NEED ONE, PLEASE SEE SIGNED ADD-ONS ARE ONLY VALID ON A PER INSTANCE BASIS -->
        <jive.addon.definition.template>unsigned</jive.addon.definition.template>

        <!-- ONLY APPLICABLE FOR definition.signed.template (see above) -->
        <!-- FOLLOW INSTRUCTIONS ON HOW TO OBTAIN A SERVICE SIGNATURE -->
        <!-- SEE: https://community.jivesoftware.com/docs/DOC-110343 -->
        <jive.addon.serviceSignature>TODO</jive.addon.serviceSignature>

        <!-- ONLY APPLICABLE FOR definition.signed.template (see above) -->
        <!-- FOLLOW INSTRUCTIONS ON HOW TO CONFIGURE THE RUN-AS STRATEGY CAN BE ONE OF: email, userid, username, uri -->
        <!-- SEE: https://community.jivesoftware.com/docs/DOC-110343 -->
        <jive.addon.runAsStrategy>userid</jive.addon.runAsStrategy>

        <!--
        ############## ADD-ON DEVELOPER PROFILE #######################################################################
        -->
        <jive.addon.developer.name><NAME></jive.addon.developer.name>
        <jive.addon.developer.company>Your Company</jive.addon.developer.company>
        <jive.addon.developer.email><EMAIL></jive.addon.developer.email>

        <!--
        ############## ADD-ON COMPANY PROFILE #########################################################################
        -->
        <jive.addon.company.website.url>http://www.jivesoftware.com/social-business-platform/add-ons/</jive.addon.company.website.url>
        <jive.addon.company.community.url>https://community.jivesoftware.com/community/developer</jive.addon.company.community.url>
        <jive.addon.company.email><EMAIL></jive.addon.company.email>

        <!--
        ############## ADD-ON TILE CONFIGURATION ######################################################################
        -->
        <jive.addon.tile.calendar.displayName>Example Jive SDK (Java) Jersey - Calendar Tile</jive.addon.tile.calendar.displayName>
        <jive.addon.tile.calendar.description>An example Calendar Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.calendar.description>

        <jive.addon.tile.gallery.displayName>Example Jive SDK (Java) Jersey - Gallery Tile</jive.addon.tile.gallery.displayName>
        <jive.addon.tile.gallery.description>An example Gallery Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.gallery.description>

        <jive.addon.tile.gauge.displayName>Example Jive SDK (Java) Jersey - Gauge Tile</jive.addon.tile.gauge.displayName>
        <jive.addon.tile.gauge.description>An example Gauge Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.gauge.description>

        <jive.addon.tile.list.displayName>Example Jive SDK (Java) Jersey - List Tile</jive.addon.tile.list.displayName>
        <jive.addon.tile.list.description>An example List Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.list.description>

        <jive.addon.tile.table.displayName>Example Jive SDK (Java) Jersey - Table Tile</jive.addon.tile.table.displayName>
        <jive.addon.tile.table.description>An example Table Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.table.description>

        <jive.addon.tile.activity.displayName>Example Jive SDK (Java) Jersey - Activity Tile</jive.addon.tile.activity.displayName>
        <jive.addon.tile.activity.description>An example Activity Tile that pushes external activity updates.</jive.addon.tile.activity.description>

        <!--
        ############## ADD-ON STORAGE / CARTRIDGE CONFIGURATION ########################################################
        -->
        <jive.addon.storage.displayName>Example Jive SDK (Java) - Storage Provider</jive.addon.storage.displayName>
        <jive.addon.storage.description>An example External Storage Provider using the Jive SDK (Java) - Jersey Edition</jive.addon.storage.description>

        <jive.addon.cartridge.displayName>Example Jive SDK (Java) - Google Drive Cartridge</jive.addon.cartridge.displayName>

    </properties>

    <build>
        <finalName>${jive.addon.build.name}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
              <artifactId>maven-clean-plugin</artifactId>
              <version>2.5</version>
              <configuration>
                <filesets>
                  <fileset>
                    <directory>src/main/extension</directory>
                    <includes>
                      <include>definition.json</include>
                      <include>meta.json</include>
                    </includes>
                  </fileset>
                </filesets>
              </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals><goal>copy-dependencies</goal></goals>
                    </execution>
                    <execution>
                        <phase>package</phase>
                        <goals><goal>copy</goal></goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.eclipse.jetty</groupId>
                                    <artifactId>jetty-runner</artifactId>
                                    <version>${jetty-version}</version>
                                    <destFileName>jetty-runner.jar</destFileName>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <dependencies>
                    <dependency>
                    	<groupId>org.codehaus.groovy</groupId>
                    	<artifactId>groovy-all</artifactId>
                    	<version>2.2.1</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>load-configuration</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <!-- CREATES A BUILD TIME FOR THE ADD-ON -->
                                <tstamp>
                                     <format property="jive.addon.build.timestamp" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ"/>
                                </tstamp>

                                <!-- LOADS IN PROPERTIES FROM PROPERTIES FILE (IF NEEDED) -->
                                <loadproperties srcFile="src/main/resources/jiveclientconfiguration.properties"/>

                                <!-- GENERATES 10 RANDOM UUIDS FOR INJECTION LATER IN THE SCRIPT (IF NEEDED) -->
                                <script language="javascript">
                                    <![CDATA[
                                        importClass( java.util.UUID );
                                        importClass( java.lang.System );

                                        project.setProperty( "jive.random.UUID1" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID2" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID3" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID4" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID5" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID6" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID7" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID8" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID9" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID10" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.seed" , System.currentTimeMillis() );

                                        // ADD MORE CUSTOM PROPS / LOGIC IF NECESSARY
                                    ]]>
                                </script>

                                <!-- IF FILE DOESN'T EXIST, CREATE.  DO NOT RE-COPY (THIS IS HOW WE LOCK IDs) -->
                                <copy file="src/main/templates/definition.${jive.addon.definition.template}.header.template" tofile="src/main/extension/definition.json" overwrite="false" />
                                <concat destFile="src/main/extension/definition.json" append="true">
                                    <filelist dir="src/main/templates" files="definition.template"/>
                                </concat>
                                <copy file="src/main/templates/meta.template" tofile="src/main/extension/meta.json" overwrite="false" />

                                <!-- SEEDING definition.json CONFIGURATION VALUES -->
                                <replace file="src/main/extension/definition.json" token="[[serviceURL]]" value="${clientUrl}:${port}"/>
                                <replace file="src/main/extension/definition.json" token="[[serviceContext]]" value="${appContext}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID2]]" value="${jive.random.UUID2}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID3]]" value="${jive.random.UUID3}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID4]]" value="${jive.random.UUID4}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID5]]" value="${jive.random.UUID5}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID6]]" value="${jive.random.UUID6}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID7]]" value="${jive.random.UUID7}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID8]]" value="${jive.random.UUID8}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID9]]" value="${jive.random.UUID9}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID10]]" value="${jive.random.UUID10}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID11]]" value="${jive.random.UUID11}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.build.timestamp]]" value="${jive.addon.build.timestamp}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.name]]" value="${jive.addon.name}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.calendar.displayName]]" value="${jive.addon.tile.calendar.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.calendar.description]]" value="${jive.addon.tile.calendar.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.gallery.displayName]]" value="${jive.addon.tile.gallery.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.gallery.description]]" value="${jive.addon.tile.gallery.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.gauge.displayName]]" value="${jive.addon.tile.gauge.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.gauge.description]]" value="${jive.addon.tile.gauge.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.list.displayName]]" value="${jive.addon.tile.list.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.list.description]]" value="${jive.addon.tile.list.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.table.displayName]]" value="${jive.addon.tile.table.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.table.description]]" value="${jive.addon.tile.table.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.activity.displayName]]" value="${jive.addon.tile.activity.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.activity.description]]" value="${jive.addon.tile.activity.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.storage.displayName]]" value="${jive.addon.storage.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.storage.description]]" value="${jive.addon.storage.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.cartridge.displayName]]" value="${jive.addon.cartridge.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.random.seed]]" value="${jive.random.seed}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.serviceSignature]]" value="${jive.addon.serviceSignature}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.runAsStrategy]]" value="${jive.addon.runAsStrategy}"/>

                                <!-- SEEDING meta.json CONFIGURATION VALUES -->
                                <replace file="src/main/extension/meta.json" token="[[serviceURL]]" value="${clientUrl}:${port}"/>
                                <replace file="src/main/extension/meta.json" token="[[serviceContext]]" value="${appContext}"/>
                                <replace file="src/main/extension/meta.json" token="[[UUID1]]" value="${jive.random.UUID1}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.build.timestamp]]" value="${jive.addon.build.timestamp}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.developer.name]]" value="${jive.addon.developer.name}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.developer.company]]" value="${jive.addon.developer.company}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.developer.email]]" value="${jive.addon.developer.email}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.company.website.url]]" value="${jive.addon.company.website.url}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.company.community.url]]" value="${jive.addon.company.community.url}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.company.email]]" value="${jive.addon.company.email}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.package.version]]" value="${jive.addon.package.version}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.name]]" value="${jive.addon.name}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.description]]" value="${jive.addon.description}"/>

                                <!--- CREATE CARTRIDGE ZIP FILES -->
                                <zip destfile="src/main/extension/data/${project.build.finalName}-cartridge.zip" basedir="src/main/cartridge" update="true" whenempty="skip" />
                                <zip destfile="./extension-${project.build.finalName}.zip" basedir="src/main/extension" update="true" />

                            </target>

                            <!-- NEEDED IN THE EVENT A PROPERTY IS USED ELSE-WHERE IN THE POM -->
                            <exportAntProperties>true</exportAntProperties>

                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>${jetty-version}</version>
                <configuration>
                    <stopKey></stopKey>
                    <stopPort></stopPort>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                    <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
                    <webAppConfig>
                        <!-- <overrideDescriptor>src/main/webapp/WEB-INF/web.xml</overrideDescriptor> -->
                        <jettyEnvXml>src/main/webapp/WEB-INF/jetty-env.xml</jettyEnvXml>
                        <contextPath>/</contextPath>
                    </webAppConfig>
                    <contextXml>src/main/webapp/WEB-INF/jetty-context.xml</contextXml>
                    <httpConnector>
                        <name>${clientUrl}</name>
                        <port>${port}</port>
                        <idleTimeout>60000</idleTimeout>
                    </httpConnector>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>com.jivesoftware.sdk</groupId>
            <artifactId>jive-sdk-java-jersey-api</artifactId>
            <version>1.0.0.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.jivesoftware.sdk</groupId>
            <artifactId>jive-sdk-java-jersey</artifactId>
            <version>1.0.0.0-SNAPSHOT</version>
            <type>pom</type>
        </dependency>

        <!-- NEEDED FOR WELD IMPLEMENTATION WHEN RUNNING LOCAL -->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <version>${jetty-version}</version>
        </dependency>

    </dependencies>
</project><commit_msg>updated pom<commit_after><!--
  ~ /*
  ~  * Copyright 2013 Jive Software
  ~  *
  ~  *    Licensed 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 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>jive-sdk-java-jersey</groupId>
    <artifactId>jive-sdk-java-jersey-webapp</artifactId>
    <version>1.0.0.0-SNAPSHOT</version>
    <name>Jive SDK - Java - Jersey - Jive Add-On</name>
    <packaging>war</packaging>

    <parent>
        <groupId>com.jivesoftware.sdk</groupId>
        <artifactId>jive-sdk-java-jersey</artifactId>
        <version>1.0.0.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <properties>
        <!--
        ###############################################################################################################
        #  ANY CHANGES MADE TO THESE PROJECT PROPERTIES SHOULD WARRANT THE MANUAL DELETION OF THE FOLLOWING FILES
        #
        #  jive-sdk-java-jersey/jive-addon/src/main/extension/definition.json
        #  jive-sdk-java-jersey/jive-addon/src/main/extension/definition.json
        #
        #  THE NEXT BUILD WILL AUTOMATICALLY RE-GENERATE THIS FILE
        ###############################################################################################################
        -->

        <!--
        ############## SERVICE CONFIGURATION ##########################################################################
        #### NOTE: YOU CANSET THESE PROPERTIES VIA THE COMMAND LINE VIA -DclientUrl=yyy -Dport=8080 ...  ##############
        ###############################################################################################################
        -->
        <clientUrl>http://localhost</clientUrl>
        <port>8080</port>
        <appContext>example</appContext>

        <!--
        ############## ADD-ON CONFIGURATION ###########################################################################
        -->
        <jive.addon.package.version>1.0</jive.addon.package.version>
        <jive.addon.build.name>jive-sdk-jersey-example</jive.addon.build.name>
        <jive.addon.name>Jive SDK (Java) - Jersey Add-On</jive.addon.name>
        <jive.addon.description>This extension is test extension for the Jive SDK (Java) - Jersey Add-On</jive.addon.description>

        <!-- VALID VALUES ARE ANY unsigned AND signed -->
        <!-- SEE: /src/main/templates/definition.[unsigned|signed].header.template -->
        <!-- NOTE: MOST ADD-ONS ARE NOT SIGNED, BUT IF YOU THINK YOU NEED ONE, PLEASE SEE SIGNED ADD-ONS ARE ONLY VALID ON A PER INSTANCE BASIS -->
        <jive.addon.definition.template>unsigned</jive.addon.definition.template>

        <!-- ONLY APPLICABLE FOR definition.signed.template (see above) -->
        <!-- FOLLOW INSTRUCTIONS ON HOW TO OBTAIN A SERVICE SIGNATURE -->
        <!-- SEE: https://community.jivesoftware.com/docs/DOC-110343 -->
        <jive.addon.serviceSignature>TODO</jive.addon.serviceSignature>

        <!-- ONLY APPLICABLE FOR definition.signed.template (see above) -->
        <!-- FOLLOW INSTRUCTIONS ON HOW TO CONFIGURE THE RUN-AS STRATEGY CAN BE ONE OF: email, userid, username, uri -->
        <!-- SEE: https://community.jivesoftware.com/docs/DOC-110343 -->
        <jive.addon.runAsStrategy>userid</jive.addon.runAsStrategy>

        <!--
        ############## ADD-ON DEVELOPER PROFILE #######################################################################
        -->
        <jive.addon.developer.name>Your Name</jive.addon.developer.name>
        <jive.addon.developer.company>Your Company</jive.addon.developer.company>
        <jive.addon.developer.email><EMAIL></jive.addon.developer.email>

        <!--
        ############## ADD-ON COMPANY PROFILE #########################################################################
        -->
        <jive.addon.company.website.url>http://www.jivesoftware.com/social-business-platform/add-ons/</jive.addon.company.website.url>
        <jive.addon.company.community.url>https://community.jivesoftware.com/community/developer</jive.addon.company.community.url>
        <jive.addon.company.email><EMAIL></jive.addon.company.email>

        <!--
        ############## ADD-ON TILE CONFIGURATION ######################################################################
        -->
        <jive.addon.tile.calendar.displayName>Example Jive SDK (Java) Jersey - Calendar Tile</jive.addon.tile.calendar.displayName>
        <jive.addon.tile.calendar.description>An example Calendar Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.calendar.description>

        <jive.addon.tile.gallery.displayName>Example Jive SDK (Java) Jersey - Gallery Tile</jive.addon.tile.gallery.displayName>
        <jive.addon.tile.gallery.description>An example Gallery Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.gallery.description>

        <jive.addon.tile.gauge.displayName>Example Jive SDK (Java) Jersey - Gauge Tile</jive.addon.tile.gauge.displayName>
        <jive.addon.tile.gauge.description>An example Gauge Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.gauge.description>

        <jive.addon.tile.list.displayName>Example Jive SDK (Java) Jersey - List Tile</jive.addon.tile.list.displayName>
        <jive.addon.tile.list.description>An example List Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.list.description>

        <jive.addon.tile.table.displayName>Example Jive SDK (Java) Jersey - Table Tile</jive.addon.tile.table.displayName>
        <jive.addon.tile.table.description>An example Table Tile that pushes updates for 1 minute after configuration is saved.</jive.addon.tile.table.description>

        <jive.addon.tile.activity.displayName>Example Jive SDK (Java) Jersey - Activity Tile</jive.addon.tile.activity.displayName>
        <jive.addon.tile.activity.description>An example Activity Tile that pushes external activity updates.</jive.addon.tile.activity.description>

        <!--
        ############## ADD-ON STORAGE / CARTRIDGE CONFIGURATION ########################################################
        -->
        <jive.addon.storage.displayName>Example Jive SDK (Java) - Storage Provider</jive.addon.storage.displayName>
        <jive.addon.storage.description>An example External Storage Provider using the Jive SDK (Java) - Jersey Edition</jive.addon.storage.description>

        <jive.addon.cartridge.displayName>Example Jive SDK (Java) - Google Drive Cartridge</jive.addon.cartridge.displayName>

    </properties>

    <build>
        <finalName>${jive.addon.build.name}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
              <artifactId>maven-clean-plugin</artifactId>
              <version>2.5</version>
              <configuration>
                <filesets>
                  <fileset>
                    <directory>src/main/extension</directory>
                    <includes>
                      <include>definition.json</include>
                      <include>meta.json</include>
                    </includes>
                  </fileset>
                </filesets>
              </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals><goal>copy-dependencies</goal></goals>
                    </execution>
                    <execution>
                        <phase>package</phase>
                        <goals><goal>copy</goal></goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.eclipse.jetty</groupId>
                                    <artifactId>jetty-runner</artifactId>
                                    <version>${jetty-version}</version>
                                    <destFileName>jetty-runner.jar</destFileName>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <dependencies>
                    <dependency>
                    	<groupId>org.codehaus.groovy</groupId>
                    	<artifactId>groovy-all</artifactId>
                    	<version>2.2.1</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>load-configuration</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <!-- CREATES A BUILD TIME FOR THE ADD-ON -->
                                <tstamp>
                                     <format property="jive.addon.build.timestamp" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ"/>
                                </tstamp>

                                <!-- LOADS IN PROPERTIES FROM PROPERTIES FILE (IF NEEDED) -->
                                <loadproperties srcFile="src/main/resources/jiveclientconfiguration.properties"/>

                                <!-- GENERATES 10 RANDOM UUIDS FOR INJECTION LATER IN THE SCRIPT (IF NEEDED) -->
                                <script language="javascript">
                                    <![CDATA[
                                        importClass( java.util.UUID );
                                        importClass( java.lang.System );

                                        project.setProperty( "jive.random.UUID1" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID2" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID3" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID4" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID5" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID6" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID7" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID8" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID9" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.UUID10" , UUID.randomUUID().toString() );
                                        project.setProperty( "jive.random.seed" , System.currentTimeMillis() );

                                        // ADD MORE CUSTOM PROPS / LOGIC IF NECESSARY
                                    ]]>
                                </script>

                                <!-- IF FILE DOESN'T EXIST, CREATE.  DO NOT RE-COPY (THIS IS HOW WE LOCK IDs) -->
                                <copy file="src/main/templates/definition.${jive.addon.definition.template}.header.template" tofile="src/main/extension/definition.json" overwrite="false" />
                                <concat destFile="src/main/extension/definition.json" append="true">
                                    <filelist dir="src/main/templates" files="definition.template"/>
                                </concat>
                                <copy file="src/main/templates/meta.template" tofile="src/main/extension/meta.json" overwrite="false" />

                                <!-- SEEDING definition.json CONFIGURATION VALUES -->
                                <replace file="src/main/extension/definition.json" token="[[serviceURL]]" value="${clientUrl}:${port}"/>
                                <replace file="src/main/extension/definition.json" token="[[serviceContext]]" value="${appContext}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID2]]" value="${jive.random.UUID2}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID3]]" value="${jive.random.UUID3}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID4]]" value="${jive.random.UUID4}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID5]]" value="${jive.random.UUID5}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID6]]" value="${jive.random.UUID6}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID7]]" value="${jive.random.UUID7}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID8]]" value="${jive.random.UUID8}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID9]]" value="${jive.random.UUID9}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID10]]" value="${jive.random.UUID10}"/>
                                <replace file="src/main/extension/definition.json" token="[[UUID11]]" value="${jive.random.UUID11}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.build.timestamp]]" value="${jive.addon.build.timestamp}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.name]]" value="${jive.addon.name}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.calendar.displayName]]" value="${jive.addon.tile.calendar.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.calendar.description]]" value="${jive.addon.tile.calendar.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.gallery.displayName]]" value="${jive.addon.tile.gallery.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.gallery.description]]" value="${jive.addon.tile.gallery.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.gauge.displayName]]" value="${jive.addon.tile.gauge.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.gauge.description]]" value="${jive.addon.tile.gauge.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.list.displayName]]" value="${jive.addon.tile.list.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.list.description]]" value="${jive.addon.tile.list.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.table.displayName]]" value="${jive.addon.tile.table.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.table.description]]" value="${jive.addon.tile.table.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.activity.displayName]]" value="${jive.addon.tile.activity.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.tile.activity.description]]" value="${jive.addon.tile.activity.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.storage.displayName]]" value="${jive.addon.storage.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.storage.description]]" value="${jive.addon.storage.description}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.cartridge.displayName]]" value="${jive.addon.cartridge.displayName}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.random.seed]]" value="${jive.random.seed}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.serviceSignature]]" value="${jive.addon.serviceSignature}"/>
                                <replace file="src/main/extension/definition.json" token="[[jive.addon.runAsStrategy]]" value="${jive.addon.runAsStrategy}"/>

                                <!-- SEEDING meta.json CONFIGURATION VALUES -->
                                <replace file="src/main/extension/meta.json" token="[[serviceURL]]" value="${clientUrl}:${port}"/>
                                <replace file="src/main/extension/meta.json" token="[[serviceContext]]" value="${appContext}"/>
                                <replace file="src/main/extension/meta.json" token="[[UUID1]]" value="${jive.random.UUID1}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.build.timestamp]]" value="${jive.addon.build.timestamp}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.developer.name]]" value="${jive.addon.developer.name}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.developer.company]]" value="${jive.addon.developer.company}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.developer.email]]" value="${jive.addon.developer.email}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.company.website.url]]" value="${jive.addon.company.website.url}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.company.community.url]]" value="${jive.addon.company.community.url}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.company.email]]" value="${jive.addon.company.email}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.package.version]]" value="${jive.addon.package.version}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.name]]" value="${jive.addon.name}"/>
                                <replace file="src/main/extension/meta.json" token="[[jive.addon.description]]" value="${jive.addon.description}"/>

                                <!--- CREATE CARTRIDGE ZIP FILES -->
                                <zip destfile="src/main/extension/data/${project.build.finalName}-cartridge.zip" basedir="src/main/cartridge" update="true" whenempty="skip" />
                                <zip destfile="./extension-${project.build.finalName}.zip" basedir="src/main/extension" update="true" />

                            </target>

                            <!-- NEEDED IN THE EVENT A PROPERTY IS USED ELSE-WHERE IN THE POM -->
                            <exportAntProperties>true</exportAntProperties>

                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>${jetty-version}</version>
                <configuration>
                    <stopKey></stopKey>
                    <stopPort></stopPort>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                    <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
                    <webAppConfig>
                        <!-- <overrideDescriptor>src/main/webapp/WEB-INF/web.xml</overrideDescriptor> -->
                        <jettyEnvXml>src/main/webapp/WEB-INF/jetty-env.xml</jettyEnvXml>
                        <contextPath>/</contextPath>
                    </webAppConfig>
                    <contextXml>src/main/webapp/WEB-INF/jetty-context.xml</contextXml>
                    <httpConnector>
                        <!--
                        <name>${clientUrl}</name>
                        <port>${port}</port>
                        -->
                        <idleTimeout>60000</idleTimeout>
                    </httpConnector>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>com.jivesoftware.sdk</groupId>
            <artifactId>jive-sdk-java-jersey-api</artifactId>
            <version>1.0.0.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.jivesoftware.sdk</groupId>
            <artifactId>jive-sdk-java-jersey</artifactId>
            <version>1.0.0.0-SNAPSHOT</version>
            <type>pom</type>
        </dependency>

        <!-- NEEDED FOR WELD IMPLEMENTATION WHEN RUNNING LOCAL -->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <version>${jetty-version}</version>
        </dependency>

    </dependencies>
</project>
{'fraction_non_alphanumeric': 0.1699706314243759, 'fraction_numerical': 0.005441824306815237, 'mean_word_length': 1.8963037087997998, 'pattern_counts': {'":': 0, '<': 717, '<?xml version=': 0, '>': 717, 'https://': 6, 'lorem ipsum': 0, 'www.': 6, 'xml': 12}, 'pii_count': 8, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 46, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6567917', 'n_tokens_mistral': 12860, 'n_tokens_neox': 11963, 'n_words': 1737}