1*2d57dc69SVladimir Kotal<?xml version="1.0" encoding="UTF-8"?> 2*2d57dc69SVladimir Kotal<!-- 3*2d57dc69SVladimir Kotal 4*2d57dc69SVladimir KotalCDDL HEADER START 5*2d57dc69SVladimir Kotal 6*2d57dc69SVladimir KotalThe contents of this file are subject to the terms of the 7*2d57dc69SVladimir KotalCommon Development and Distribution License (the "License"). 8*2d57dc69SVladimir KotalYou may not use this file except in compliance with the License. 9*2d57dc69SVladimir Kotal 10*2d57dc69SVladimir KotalSee LICENSE.txt included in this distribution for the specific 11*2d57dc69SVladimir Kotallanguage governing permissions and limitations under the License. 12*2d57dc69SVladimir Kotal 13*2d57dc69SVladimir KotalWhen distributing Covered Code, include this CDDL HEADER in each 14*2d57dc69SVladimir Kotalfile and include the License file at LICENSE.txt. 15*2d57dc69SVladimir KotalIf applicable, add the following below this CDDL HEADER, with the 16*2d57dc69SVladimir Kotalfields enclosed by brackets "[]" replaced with your own identifying 17*2d57dc69SVladimir Kotalinformation: Portions Copyright [yyyy] [name of copyright owner] 18*2d57dc69SVladimir Kotal 19*2d57dc69SVladimir KotalCDDL HEADER END 20*2d57dc69SVladimir Kotal 21*2d57dc69SVladimir KotalCopyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved. 22*2d57dc69SVladimir KotalPortions Copyright (c) 2017-2018, 2020, Chris Fraire <cfraire@me.com>. 23*2d57dc69SVladimir Kotal 24*2d57dc69SVladimir Kotal--> 25*2d57dc69SVladimir Kotal<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 26*2d57dc69SVladimir Kotal xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 27*2d57dc69SVladimir Kotal <modelVersion>4.0.0</modelVersion> 28*2d57dc69SVladimir Kotal 29*2d57dc69SVladimir Kotal <parent> 30*2d57dc69SVladimir Kotal <groupId>org.opengrok</groupId> 31*2d57dc69SVladimir Kotal <artifactId>opengrok-top</artifactId> 32*2d57dc69SVladimir Kotal <version>1.5.11</version> 33*2d57dc69SVladimir Kotal </parent> 34*2d57dc69SVladimir Kotal 35*2d57dc69SVladimir Kotal <artifactId>tools</artifactId> 36*2d57dc69SVladimir Kotal <version>1.5.11</version> 37*2d57dc69SVladimir Kotal <packaging>pom</packaging> 38*2d57dc69SVladimir Kotal 39*2d57dc69SVladimir Kotal <name>OpenGrok tools</name> 40*2d57dc69SVladimir Kotal 41*2d57dc69SVladimir Kotal <properties> 42*2d57dc69SVladimir Kotal <python.system.executable>python3</python.system.executable> 43*2d57dc69SVladimir Kotal <python.environment>${project.build.directory}/env/bin</python.environment> 44*2d57dc69SVladimir Kotal <project.python.package.version>${project.version}</project.python.package.version> 45*2d57dc69SVladimir Kotal <python.checkstyle.line-length>119</python.checkstyle.line-length> 46*2d57dc69SVladimir Kotal </properties> 47*2d57dc69SVladimir Kotal 48*2d57dc69SVladimir Kotal <profiles> 49*2d57dc69SVladimir Kotal <profile> 50*2d57dc69SVladimir Kotal <id>default</id> 51*2d57dc69SVladimir Kotal <activation> 52*2d57dc69SVladimir Kotal <activeByDefault>true</activeByDefault> 53*2d57dc69SVladimir Kotal </activation> 54*2d57dc69SVladimir Kotal <properties> 55*2d57dc69SVladimir Kotal <skipPythonTests>false</skipPythonTests> 56*2d57dc69SVladimir Kotal </properties> 57*2d57dc69SVladimir Kotal </profile> 58*2d57dc69SVladimir Kotal <profile> 59*2d57dc69SVladimir Kotal <id>Windows python environment</id> 60*2d57dc69SVladimir Kotal <activation> 61*2d57dc69SVladimir Kotal <os> 62*2d57dc69SVladimir Kotal <family>Windows</family> 63*2d57dc69SVladimir Kotal </os> 64*2d57dc69SVladimir Kotal </activation> 65*2d57dc69SVladimir Kotal <properties> 66*2d57dc69SVladimir Kotal <python.system.executable>python</python.system.executable> 67*2d57dc69SVladimir Kotal <python.environment>${project.build.directory}/env/Scripts</python.environment> 68*2d57dc69SVladimir Kotal </properties> 69*2d57dc69SVladimir Kotal </profile> 70*2d57dc69SVladimir Kotal <profile> 71*2d57dc69SVladimir Kotal <id>skipTestsRun</id> 72*2d57dc69SVladimir Kotal <activation> 73*2d57dc69SVladimir Kotal <property> 74*2d57dc69SVladimir Kotal <name>skipTests</name> 75*2d57dc69SVladimir Kotal </property> 76*2d57dc69SVladimir Kotal </activation> 77*2d57dc69SVladimir Kotal <properties> 78*2d57dc69SVladimir Kotal <skipPythonTests>true</skipPythonTests> 79*2d57dc69SVladimir Kotal </properties> 80*2d57dc69SVladimir Kotal </profile> 81*2d57dc69SVladimir Kotal <profile> 82*2d57dc69SVladimir Kotal <id>specificTestRun</id> 83*2d57dc69SVladimir Kotal <activation> 84*2d57dc69SVladimir Kotal <property> 85*2d57dc69SVladimir Kotal <name>test</name> 86*2d57dc69SVladimir Kotal </property> 87*2d57dc69SVladimir Kotal </activation> 88*2d57dc69SVladimir Kotal <properties> 89*2d57dc69SVladimir Kotal <skipPythonTests>true</skipPythonTests> 90*2d57dc69SVladimir Kotal </properties> 91*2d57dc69SVladimir Kotal </profile> 92*2d57dc69SVladimir Kotal </profiles> 93*2d57dc69SVladimir Kotal 94*2d57dc69SVladimir Kotal <build> 95*2d57dc69SVladimir Kotal <sourceDirectory>src/main/python</sourceDirectory> 96*2d57dc69SVladimir Kotal <testSourceDirectory>src/test/python</testSourceDirectory> 97*2d57dc69SVladimir Kotal 98*2d57dc69SVladimir Kotal <plugins> 99*2d57dc69SVladimir Kotal <plugin> 100*2d57dc69SVladimir Kotal <!-- copy all the python files to the target directory 101*2d57dc69SVladimir Kotal so we produce the dist and build directories there --> 102*2d57dc69SVladimir Kotal <groupId>org.apache.maven.plugins</groupId> 103*2d57dc69SVladimir Kotal <artifactId>maven-resources-plugin</artifactId> 104*2d57dc69SVladimir Kotal <version>3.1.0</version> 105*2d57dc69SVladimir Kotal <executions> 106*2d57dc69SVladimir Kotal <execution> 107*2d57dc69SVladimir Kotal <id>copy package source files</id> 108*2d57dc69SVladimir Kotal <phase>compile</phase> 109*2d57dc69SVladimir Kotal <goals> 110*2d57dc69SVladimir Kotal <goal>copy-resources</goal> 111*2d57dc69SVladimir Kotal </goals> 112*2d57dc69SVladimir Kotal <configuration> 113*2d57dc69SVladimir Kotal <outputDirectory>${project.build.directory}/src</outputDirectory> 114*2d57dc69SVladimir Kotal <resources> 115*2d57dc69SVladimir Kotal <resource> 116*2d57dc69SVladimir Kotal <directory>${basedir}/src</directory> 117*2d57dc69SVladimir Kotal </resource> 118*2d57dc69SVladimir Kotal </resources> 119*2d57dc69SVladimir Kotal </configuration> 120*2d57dc69SVladimir Kotal </execution> 121*2d57dc69SVladimir Kotal <execution> 122*2d57dc69SVladimir Kotal <id>copy version file and replace the OpenGrok version in it</id> 123*2d57dc69SVladimir Kotal <phase>compile</phase> 124*2d57dc69SVladimir Kotal <goals> 125*2d57dc69SVladimir Kotal <goal>copy-resources</goal> 126*2d57dc69SVladimir Kotal </goals> 127*2d57dc69SVladimir Kotal <configuration> 128*2d57dc69SVladimir Kotal <!-- replace ${project.python.package.version} in version.py --> 129*2d57dc69SVladimir Kotal <outputDirectory>${project.build.directory}/src/main/python/opengrok_tools</outputDirectory> 130*2d57dc69SVladimir Kotal <resources> 131*2d57dc69SVladimir Kotal <resource> 132*2d57dc69SVladimir Kotal <directory>${basedir}/src/main/python/opengrok_tools</directory> 133*2d57dc69SVladimir Kotal <includes> 134*2d57dc69SVladimir Kotal <include>version.py</include> 135*2d57dc69SVladimir Kotal </includes> 136*2d57dc69SVladimir Kotal <filtering>true</filtering> 137*2d57dc69SVladimir Kotal </resource> 138*2d57dc69SVladimir Kotal </resources> 139*2d57dc69SVladimir Kotal </configuration> 140*2d57dc69SVladimir Kotal </execution> 141*2d57dc69SVladimir Kotal <execution> 142*2d57dc69SVladimir Kotal <id>copy top level package resources</id> 143*2d57dc69SVladimir Kotal <phase>compile</phase> 144*2d57dc69SVladimir Kotal <goals> 145*2d57dc69SVladimir Kotal <goal>copy-resources</goal> 146*2d57dc69SVladimir Kotal </goals> 147*2d57dc69SVladimir Kotal <configuration> 148*2d57dc69SVladimir Kotal <outputDirectory>${project.build.directory}</outputDirectory> 149*2d57dc69SVladimir Kotal <resources> 150*2d57dc69SVladimir Kotal <resource> 151*2d57dc69SVladimir Kotal <directory>${basedir}</directory> 152*2d57dc69SVladimir Kotal <includes> 153*2d57dc69SVladimir Kotal <include>MANIFEST.in</include> 154*2d57dc69SVladimir Kotal <include>README-dist.txt</include> 155*2d57dc69SVladimir Kotal <include>setup.py</include> 156*2d57dc69SVladimir Kotal <include>setup.cfg</include> 157*2d57dc69SVladimir Kotal </includes> 158*2d57dc69SVladimir Kotal </resource> 159*2d57dc69SVladimir Kotal </resources> 160*2d57dc69SVladimir Kotal </configuration> 161*2d57dc69SVladimir Kotal </execution> 162*2d57dc69SVladimir Kotal <execution> 163*2d57dc69SVladimir Kotal <id>copy logging.properties.template to dist</id> 164*2d57dc69SVladimir Kotal <phase>package</phase> 165*2d57dc69SVladimir Kotal <goals> 166*2d57dc69SVladimir Kotal <goal>copy-resources</goal> 167*2d57dc69SVladimir Kotal </goals> 168*2d57dc69SVladimir Kotal <configuration> 169*2d57dc69SVladimir Kotal <outputDirectory>${project.build.directory}/dist</outputDirectory> 170*2d57dc69SVladimir Kotal <resources> 171*2d57dc69SVladimir Kotal <resource> 172*2d57dc69SVladimir Kotal <directory>${basedir}</directory> 173*2d57dc69SVladimir Kotal <includes> 174*2d57dc69SVladimir Kotal <include>logging.properties.template</include> 175*2d57dc69SVladimir Kotal </includes> 176*2d57dc69SVladimir Kotal </resource> 177*2d57dc69SVladimir Kotal </resources> 178*2d57dc69SVladimir Kotal </configuration> 179*2d57dc69SVladimir Kotal </execution> 180*2d57dc69SVladimir Kotal </executions> 181*2d57dc69SVladimir Kotal </plugin> 182*2d57dc69SVladimir Kotal <plugin> 183*2d57dc69SVladimir Kotal <groupId>org.codehaus.mojo</groupId> 184*2d57dc69SVladimir Kotal <artifactId>exec-maven-plugin</artifactId> 185*2d57dc69SVladimir Kotal <version>1.6.0</version> 186*2d57dc69SVladimir Kotal <executions> 187*2d57dc69SVladimir Kotal <execution> 188*2d57dc69SVladimir Kotal <id>Generate python env</id> 189*2d57dc69SVladimir Kotal <configuration> 190*2d57dc69SVladimir Kotal <executable>${python.system.executable}</executable> 191*2d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 192*2d57dc69SVladimir Kotal <arguments> 193*2d57dc69SVladimir Kotal <argument>-m</argument> 194*2d57dc69SVladimir Kotal <argument>venv</argument> 195*2d57dc69SVladimir Kotal <argument>env</argument> 196*2d57dc69SVladimir Kotal </arguments> 197*2d57dc69SVladimir Kotal </configuration> 198*2d57dc69SVladimir Kotal <phase>test</phase> 199*2d57dc69SVladimir Kotal <goals> 200*2d57dc69SVladimir Kotal <goal>exec</goal> 201*2d57dc69SVladimir Kotal </goals> 202*2d57dc69SVladimir Kotal </execution> 203*2d57dc69SVladimir Kotal <execution> 204*2d57dc69SVladimir Kotal <!-- needed for 'pip install pylint' to work --> 205*2d57dc69SVladimir Kotal <id>Upgrade pip and install/upgrade other packages</id> 206*2d57dc69SVladimir Kotal <configuration> 207*2d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 208*2d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 209*2d57dc69SVladimir Kotal <arguments> 210*2d57dc69SVladimir Kotal <argument>-m</argument> 211*2d57dc69SVladimir Kotal <argument>pip</argument> 212*2d57dc69SVladimir Kotal <argument>install</argument> 213*2d57dc69SVladimir Kotal <argument>--upgrade</argument> 214*2d57dc69SVladimir Kotal <argument>pip</argument> 215*2d57dc69SVladimir Kotal <argument>setuptools</argument> 216*2d57dc69SVladimir Kotal <argument>certifi</argument> 217*2d57dc69SVladimir Kotal <argument>wheel</argument> 218*2d57dc69SVladimir Kotal </arguments> 219*2d57dc69SVladimir Kotal </configuration> 220*2d57dc69SVladimir Kotal <phase>test</phase> 221*2d57dc69SVladimir Kotal <goals> 222*2d57dc69SVladimir Kotal <goal>exec</goal> 223*2d57dc69SVladimir Kotal </goals> 224*2d57dc69SVladimir Kotal </execution> 225*2d57dc69SVladimir Kotal <execution> 226*2d57dc69SVladimir Kotal <id>Generate python package</id> 227*2d57dc69SVladimir Kotal <goals> 228*2d57dc69SVladimir Kotal <goal>exec</goal> 229*2d57dc69SVladimir Kotal </goals> 230*2d57dc69SVladimir Kotal <configuration> 231*2d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 232*2d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 233*2d57dc69SVladimir Kotal <arguments> 234*2d57dc69SVladimir Kotal <argument>setup.py</argument> 235*2d57dc69SVladimir Kotal <argument>sdist</argument> 236*2d57dc69SVladimir Kotal <argument>--formats</argument> 237*2d57dc69SVladimir Kotal <argument>gztar</argument> 238*2d57dc69SVladimir Kotal </arguments> 239*2d57dc69SVladimir Kotal </configuration> 240*2d57dc69SVladimir Kotal <phase>package</phase> 241*2d57dc69SVladimir Kotal </execution> 242*2d57dc69SVladimir Kotal <execution> 243*2d57dc69SVladimir Kotal <id>Install python package for tests/pylint</id> 244*2d57dc69SVladimir Kotal <configuration> 245*2d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 246*2d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 247*2d57dc69SVladimir Kotal <arguments> 248*2d57dc69SVladimir Kotal <argument>setup.py</argument> 249*2d57dc69SVladimir Kotal <argument>install</argument> 250*2d57dc69SVladimir Kotal </arguments> 251*2d57dc69SVladimir Kotal <skip>${skipPythonTests}</skip> 252*2d57dc69SVladimir Kotal </configuration> 253*2d57dc69SVladimir Kotal <phase>test</phase> 254*2d57dc69SVladimir Kotal <goals> 255*2d57dc69SVladimir Kotal <goal>exec</goal> 256*2d57dc69SVladimir Kotal </goals> 257*2d57dc69SVladimir Kotal </execution> 258*2d57dc69SVladimir Kotal <execution> 259*2d57dc69SVladimir Kotal <id>Install python lint and flake8</id> 260*2d57dc69SVladimir Kotal <configuration> 261*2d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 262*2d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 263*2d57dc69SVladimir Kotal <arguments> 264*2d57dc69SVladimir Kotal <argument>-m</argument> 265*2d57dc69SVladimir Kotal <argument>pip</argument> 266*2d57dc69SVladimir Kotal <argument>install</argument> 267*2d57dc69SVladimir Kotal <argument>pylint</argument> 268*2d57dc69SVladimir Kotal <argument>flake8</argument> 269*2d57dc69SVladimir Kotal </arguments> 270*2d57dc69SVladimir Kotal </configuration> 271*2d57dc69SVladimir Kotal <phase>verify</phase> 272*2d57dc69SVladimir Kotal <goals> 273*2d57dc69SVladimir Kotal <goal>exec</goal> 274*2d57dc69SVladimir Kotal </goals> 275*2d57dc69SVladimir Kotal </execution> 276*2d57dc69SVladimir Kotal <execution> 277*2d57dc69SVladimir Kotal <id>Python lint</id> 278*2d57dc69SVladimir Kotal <configuration> 279*2d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 280*2d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 281*2d57dc69SVladimir Kotal <arguments> 282*2d57dc69SVladimir Kotal <argument>-m</argument> 283*2d57dc69SVladimir Kotal <argument>pylint</argument> 284*2d57dc69SVladimir Kotal <argument>--max-line-length</argument> 285*2d57dc69SVladimir Kotal <argument>${python.checkstyle.line-length}</argument> 286*2d57dc69SVladimir Kotal <argument>-E</argument> 287*2d57dc69SVladimir Kotal <argument>${project.build.sourceDirectory}/opengrok_tools</argument> 288*2d57dc69SVladimir Kotal <argument>${project.build.directory}/setup.py</argument> 289*2d57dc69SVladimir Kotal </arguments> 290*2d57dc69SVladimir Kotal <skip>${skipPythonTests}</skip> 291*2d57dc69SVladimir Kotal </configuration> 292*2d57dc69SVladimir Kotal <phase>verify</phase> 293*2d57dc69SVladimir Kotal <goals> 294*2d57dc69SVladimir Kotal <goal>exec</goal> 295*2d57dc69SVladimir Kotal </goals> 296*2d57dc69SVladimir Kotal </execution> 297*2d57dc69SVladimir Kotal <execution> 298*2d57dc69SVladimir Kotal <id>Python flake8</id> 299*2d57dc69SVladimir Kotal <configuration> 300*2d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 301*2d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 302*2d57dc69SVladimir Kotal <arguments> 303*2d57dc69SVladimir Kotal <argument>-m</argument> 304*2d57dc69SVladimir Kotal <argument>flake8</argument> 305*2d57dc69SVladimir Kotal <argument>--max-line-length</argument> 306*2d57dc69SVladimir Kotal <argument>${python.checkstyle.line-length}</argument> 307*2d57dc69SVladimir Kotal <argument>-v</argument> 308*2d57dc69SVladimir Kotal <argument>${project.build.sourceDirectory}</argument> 309*2d57dc69SVladimir Kotal <argument>${project.build.testSourceDirectory}</argument> 310*2d57dc69SVladimir Kotal <argument>setup.py</argument> 311*2d57dc69SVladimir Kotal </arguments> 312*2d57dc69SVladimir Kotal </configuration> 313*2d57dc69SVladimir Kotal <phase>verify</phase> 314*2d57dc69SVladimir Kotal <goals> 315*2d57dc69SVladimir Kotal <goal>exec</goal> 316*2d57dc69SVladimir Kotal </goals> 317*2d57dc69SVladimir Kotal </execution> 318*2d57dc69SVladimir Kotal <execution> 319*2d57dc69SVladimir Kotal <id>Test python package</id> 320*2d57dc69SVladimir Kotal <configuration> 321*2d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 322*2d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 323*2d57dc69SVladimir Kotal <environmentVariables> 324*2d57dc69SVladimir Kotal <PATH>${python.environment}:${env.PATH}</PATH> 325*2d57dc69SVladimir Kotal </environmentVariables> 326*2d57dc69SVladimir Kotal <arguments> 327*2d57dc69SVladimir Kotal <argument>setup.py</argument> 328*2d57dc69SVladimir Kotal <argument>test</argument> 329*2d57dc69SVladimir Kotal </arguments> 330*2d57dc69SVladimir Kotal <skip>${skipPythonTests}</skip> 331*2d57dc69SVladimir Kotal </configuration> 332*2d57dc69SVladimir Kotal <phase>test</phase> 333*2d57dc69SVladimir Kotal <goals> 334*2d57dc69SVladimir Kotal <goal>exec</goal> 335*2d57dc69SVladimir Kotal </goals> 336*2d57dc69SVladimir Kotal </execution> 337*2d57dc69SVladimir Kotal </executions> 338*2d57dc69SVladimir Kotal </plugin> 339*2d57dc69SVladimir Kotal <plugin> 340*2d57dc69SVladimir Kotal <groupId>org.apache.maven.plugins</groupId> 341*2d57dc69SVladimir Kotal <artifactId>maven-checkstyle-plugin</artifactId> 342*2d57dc69SVladimir Kotal </plugin> 343*2d57dc69SVladimir Kotal </plugins> 344*2d57dc69SVladimir Kotal </build> 345*2d57dc69SVladimir Kotal</project> 346