12d57dc69SVladimir Kotal<?xml version="1.0" encoding="UTF-8"?> 22d57dc69SVladimir Kotal<!-- 32d57dc69SVladimir Kotal 42d57dc69SVladimir KotalCDDL HEADER START 52d57dc69SVladimir Kotal 62d57dc69SVladimir KotalThe contents of this file are subject to the terms of the 72d57dc69SVladimir KotalCommon Development and Distribution License (the "License"). 82d57dc69SVladimir KotalYou may not use this file except in compliance with the License. 92d57dc69SVladimir Kotal 102d57dc69SVladimir KotalSee LICENSE.txt included in this distribution for the specific 112d57dc69SVladimir Kotallanguage governing permissions and limitations under the License. 122d57dc69SVladimir Kotal 132d57dc69SVladimir KotalWhen distributing Covered Code, include this CDDL HEADER in each 142d57dc69SVladimir Kotalfile and include the License file at LICENSE.txt. 152d57dc69SVladimir KotalIf applicable, add the following below this CDDL HEADER, with the 162d57dc69SVladimir Kotalfields enclosed by brackets "[]" replaced with your own identifying 172d57dc69SVladimir Kotalinformation: Portions Copyright [yyyy] [name of copyright owner] 182d57dc69SVladimir Kotal 192d57dc69SVladimir KotalCDDL HEADER END 202d57dc69SVladimir Kotal 212d57dc69SVladimir KotalCopyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved. 222d57dc69SVladimir KotalPortions Copyright (c) 2017-2018, 2020, Chris Fraire <cfraire@me.com>. 232d57dc69SVladimir Kotal 242d57dc69SVladimir Kotal--> 252d57dc69SVladimir Kotal<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 262d57dc69SVladimir Kotal xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 272d57dc69SVladimir Kotal <modelVersion>4.0.0</modelVersion> 282d57dc69SVladimir Kotal 292d57dc69SVladimir Kotal <parent> 302d57dc69SVladimir Kotal <groupId>org.opengrok</groupId> 312d57dc69SVladimir Kotal <artifactId>opengrok-top</artifactId> 32*1a2ed5cfSVladimír Kotal <version>1.7.32</version> 332d57dc69SVladimir Kotal </parent> 342d57dc69SVladimir Kotal 352d57dc69SVladimir Kotal <artifactId>tools</artifactId> 36*1a2ed5cfSVladimír Kotal <version>1.7.32</version> 372d57dc69SVladimir Kotal <packaging>pom</packaging> 382d57dc69SVladimir Kotal 392d57dc69SVladimir Kotal <name>OpenGrok tools</name> 402d57dc69SVladimir Kotal 412d57dc69SVladimir Kotal <properties> 422d57dc69SVladimir Kotal <python.system.executable>python3</python.system.executable> 432d57dc69SVladimir Kotal <python.environment>${project.build.directory}/env/bin</python.environment> 442d57dc69SVladimir Kotal <project.python.package.version>${project.version}</project.python.package.version> 452d57dc69SVladimir Kotal <python.checkstyle.line-length>119</python.checkstyle.line-length> 462d57dc69SVladimir Kotal </properties> 472d57dc69SVladimir Kotal 482d57dc69SVladimir Kotal <profiles> 492d57dc69SVladimir Kotal <profile> 502d57dc69SVladimir Kotal <id>default</id> 512d57dc69SVladimir Kotal <activation> 522d57dc69SVladimir Kotal <activeByDefault>true</activeByDefault> 532d57dc69SVladimir Kotal </activation> 542d57dc69SVladimir Kotal <properties> 552d57dc69SVladimir Kotal <skipPythonTests>false</skipPythonTests> 562d57dc69SVladimir Kotal </properties> 572d57dc69SVladimir Kotal </profile> 582d57dc69SVladimir Kotal <profile> 592d57dc69SVladimir Kotal <id>Windows python environment</id> 602d57dc69SVladimir Kotal <activation> 612d57dc69SVladimir Kotal <os> 622d57dc69SVladimir Kotal <family>Windows</family> 632d57dc69SVladimir Kotal </os> 642d57dc69SVladimir Kotal </activation> 652d57dc69SVladimir Kotal <properties> 662d57dc69SVladimir Kotal <python.system.executable>python</python.system.executable> 672d57dc69SVladimir Kotal <python.environment>${project.build.directory}/env/Scripts</python.environment> 682d57dc69SVladimir Kotal </properties> 692d57dc69SVladimir Kotal </profile> 702d57dc69SVladimir Kotal <profile> 712d57dc69SVladimir Kotal <id>skipTestsRun</id> 722d57dc69SVladimir Kotal <activation> 732d57dc69SVladimir Kotal <property> 742d57dc69SVladimir Kotal <name>skipTests</name> 752d57dc69SVladimir Kotal </property> 762d57dc69SVladimir Kotal </activation> 772d57dc69SVladimir Kotal <properties> 782d57dc69SVladimir Kotal <skipPythonTests>true</skipPythonTests> 792d57dc69SVladimir Kotal </properties> 802d57dc69SVladimir Kotal </profile> 812d57dc69SVladimir Kotal <profile> 822d57dc69SVladimir Kotal <id>specificTestRun</id> 832d57dc69SVladimir Kotal <activation> 842d57dc69SVladimir Kotal <property> 852d57dc69SVladimir Kotal <name>test</name> 862d57dc69SVladimir Kotal </property> 872d57dc69SVladimir Kotal </activation> 882d57dc69SVladimir Kotal <properties> 892d57dc69SVladimir Kotal <skipPythonTests>true</skipPythonTests> 902d57dc69SVladimir Kotal </properties> 912d57dc69SVladimir Kotal </profile> 922d57dc69SVladimir Kotal </profiles> 932d57dc69SVladimir Kotal 942d57dc69SVladimir Kotal <build> 952d57dc69SVladimir Kotal <sourceDirectory>src/main/python</sourceDirectory> 962d57dc69SVladimir Kotal <testSourceDirectory>src/test/python</testSourceDirectory> 972d57dc69SVladimir Kotal 982d57dc69SVladimir Kotal <plugins> 992d57dc69SVladimir Kotal <plugin> 1002d57dc69SVladimir Kotal <!-- copy all the python files to the target directory 1012d57dc69SVladimir Kotal so we produce the dist and build directories there --> 1022d57dc69SVladimir Kotal <groupId>org.apache.maven.plugins</groupId> 1032d57dc69SVladimir Kotal <artifactId>maven-resources-plugin</artifactId> 1042d57dc69SVladimir Kotal <version>3.1.0</version> 1052d57dc69SVladimir Kotal <executions> 1062d57dc69SVladimir Kotal <execution> 1072d57dc69SVladimir Kotal <id>copy package source files</id> 1082d57dc69SVladimir Kotal <phase>compile</phase> 1092d57dc69SVladimir Kotal <goals> 1102d57dc69SVladimir Kotal <goal>copy-resources</goal> 1112d57dc69SVladimir Kotal </goals> 1122d57dc69SVladimir Kotal <configuration> 1132d57dc69SVladimir Kotal <outputDirectory>${project.build.directory}/src</outputDirectory> 1142d57dc69SVladimir Kotal <resources> 1152d57dc69SVladimir Kotal <resource> 1162d57dc69SVladimir Kotal <directory>${basedir}/src</directory> 1172d57dc69SVladimir Kotal </resource> 1182d57dc69SVladimir Kotal </resources> 1192d57dc69SVladimir Kotal </configuration> 1202d57dc69SVladimir Kotal </execution> 1212d57dc69SVladimir Kotal <execution> 1222d57dc69SVladimir Kotal <id>copy version file and replace the OpenGrok version in it</id> 1232d57dc69SVladimir Kotal <phase>compile</phase> 1242d57dc69SVladimir Kotal <goals> 1252d57dc69SVladimir Kotal <goal>copy-resources</goal> 1262d57dc69SVladimir Kotal </goals> 1272d57dc69SVladimir Kotal <configuration> 1282d57dc69SVladimir Kotal <!-- replace ${project.python.package.version} in version.py --> 1292d57dc69SVladimir Kotal <outputDirectory>${project.build.directory}/src/main/python/opengrok_tools</outputDirectory> 1302d57dc69SVladimir Kotal <resources> 1312d57dc69SVladimir Kotal <resource> 1322d57dc69SVladimir Kotal <directory>${basedir}/src/main/python/opengrok_tools</directory> 1332d57dc69SVladimir Kotal <includes> 1342d57dc69SVladimir Kotal <include>version.py</include> 1352d57dc69SVladimir Kotal </includes> 1362d57dc69SVladimir Kotal <filtering>true</filtering> 1372d57dc69SVladimir Kotal </resource> 1382d57dc69SVladimir Kotal </resources> 1392d57dc69SVladimir Kotal </configuration> 1402d57dc69SVladimir Kotal </execution> 1412d57dc69SVladimir Kotal <execution> 1422d57dc69SVladimir Kotal <id>copy top level package resources</id> 1432d57dc69SVladimir Kotal <phase>compile</phase> 1442d57dc69SVladimir Kotal <goals> 1452d57dc69SVladimir Kotal <goal>copy-resources</goal> 1462d57dc69SVladimir Kotal </goals> 1472d57dc69SVladimir Kotal <configuration> 1482d57dc69SVladimir Kotal <outputDirectory>${project.build.directory}</outputDirectory> 1492d57dc69SVladimir Kotal <resources> 1502d57dc69SVladimir Kotal <resource> 1512d57dc69SVladimir Kotal <directory>${basedir}</directory> 1522d57dc69SVladimir Kotal <includes> 1532d57dc69SVladimir Kotal <include>MANIFEST.in</include> 1542d57dc69SVladimir Kotal <include>README-dist.txt</include> 1552d57dc69SVladimir Kotal <include>setup.py</include> 1562d57dc69SVladimir Kotal <include>setup.cfg</include> 1572d57dc69SVladimir Kotal </includes> 1582d57dc69SVladimir Kotal </resource> 1592d57dc69SVladimir Kotal </resources> 1602d57dc69SVladimir Kotal </configuration> 1612d57dc69SVladimir Kotal </execution> 1622d57dc69SVladimir Kotal <execution> 1632d57dc69SVladimir Kotal <id>copy logging.properties.template to dist</id> 1642d57dc69SVladimir Kotal <phase>package</phase> 1652d57dc69SVladimir Kotal <goals> 1662d57dc69SVladimir Kotal <goal>copy-resources</goal> 1672d57dc69SVladimir Kotal </goals> 1682d57dc69SVladimir Kotal <configuration> 1692d57dc69SVladimir Kotal <outputDirectory>${project.build.directory}/dist</outputDirectory> 1702d57dc69SVladimir Kotal <resources> 1712d57dc69SVladimir Kotal <resource> 1722d57dc69SVladimir Kotal <directory>${basedir}</directory> 1732d57dc69SVladimir Kotal <includes> 1742d57dc69SVladimir Kotal <include>logging.properties.template</include> 1752d57dc69SVladimir Kotal </includes> 1762d57dc69SVladimir Kotal </resource> 1772d57dc69SVladimir Kotal </resources> 1782d57dc69SVladimir Kotal </configuration> 1792d57dc69SVladimir Kotal </execution> 1802d57dc69SVladimir Kotal </executions> 1812d57dc69SVladimir Kotal </plugin> 1822d57dc69SVladimir Kotal <plugin> 1832d57dc69SVladimir Kotal <groupId>org.codehaus.mojo</groupId> 1842d57dc69SVladimir Kotal <artifactId>exec-maven-plugin</artifactId> 1852d57dc69SVladimir Kotal <version>1.6.0</version> 1862d57dc69SVladimir Kotal <executions> 1872d57dc69SVladimir Kotal <execution> 1882d57dc69SVladimir Kotal <id>Generate python env</id> 1892d57dc69SVladimir Kotal <configuration> 1902d57dc69SVladimir Kotal <executable>${python.system.executable}</executable> 1912d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 1922d57dc69SVladimir Kotal <arguments> 1932d57dc69SVladimir Kotal <argument>-m</argument> 1942d57dc69SVladimir Kotal <argument>venv</argument> 1952d57dc69SVladimir Kotal <argument>env</argument> 1962d57dc69SVladimir Kotal </arguments> 1972d57dc69SVladimir Kotal </configuration> 1982d57dc69SVladimir Kotal <phase>test</phase> 1992d57dc69SVladimir Kotal <goals> 2002d57dc69SVladimir Kotal <goal>exec</goal> 2012d57dc69SVladimir Kotal </goals> 2022d57dc69SVladimir Kotal </execution> 2032d57dc69SVladimir Kotal <execution> 2042d57dc69SVladimir Kotal <!-- needed for 'pip install pylint' to work --> 2052d57dc69SVladimir Kotal <id>Upgrade pip and install/upgrade other packages</id> 2062d57dc69SVladimir Kotal <configuration> 2072d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 2082d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 2092d57dc69SVladimir Kotal <arguments> 2102d57dc69SVladimir Kotal <argument>-m</argument> 2112d57dc69SVladimir Kotal <argument>pip</argument> 2122d57dc69SVladimir Kotal <argument>install</argument> 2132d57dc69SVladimir Kotal <argument>--upgrade</argument> 2142d57dc69SVladimir Kotal <argument>pip</argument> 2152d57dc69SVladimir Kotal <argument>setuptools</argument> 2162d57dc69SVladimir Kotal <argument>certifi</argument> 2172d57dc69SVladimir Kotal <argument>wheel</argument> 2182d57dc69SVladimir Kotal </arguments> 2192d57dc69SVladimir Kotal </configuration> 2202d57dc69SVladimir Kotal <phase>test</phase> 2212d57dc69SVladimir Kotal <goals> 2222d57dc69SVladimir Kotal <goal>exec</goal> 2232d57dc69SVladimir Kotal </goals> 2242d57dc69SVladimir Kotal </execution> 2252d57dc69SVladimir Kotal <execution> 2262d57dc69SVladimir Kotal <id>Generate python package</id> 2272d57dc69SVladimir Kotal <goals> 2282d57dc69SVladimir Kotal <goal>exec</goal> 2292d57dc69SVladimir Kotal </goals> 2302d57dc69SVladimir Kotal <configuration> 2312d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 2322d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 2332d57dc69SVladimir Kotal <arguments> 2342d57dc69SVladimir Kotal <argument>setup.py</argument> 2352d57dc69SVladimir Kotal <argument>sdist</argument> 2362d57dc69SVladimir Kotal <argument>--formats</argument> 2372d57dc69SVladimir Kotal <argument>gztar</argument> 2382d57dc69SVladimir Kotal </arguments> 2392d57dc69SVladimir Kotal </configuration> 2402d57dc69SVladimir Kotal <phase>package</phase> 2412d57dc69SVladimir Kotal </execution> 2422d57dc69SVladimir Kotal <execution> 2432d57dc69SVladimir Kotal <id>Install python package for tests/pylint</id> 2442d57dc69SVladimir Kotal <configuration> 2452d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 2462d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 2472d57dc69SVladimir Kotal <arguments> 2482d57dc69SVladimir Kotal <argument>setup.py</argument> 2492d57dc69SVladimir Kotal <argument>install</argument> 2502d57dc69SVladimir Kotal </arguments> 2512d57dc69SVladimir Kotal <skip>${skipPythonTests}</skip> 2522d57dc69SVladimir Kotal </configuration> 2532d57dc69SVladimir Kotal <phase>test</phase> 2542d57dc69SVladimir Kotal <goals> 2552d57dc69SVladimir Kotal <goal>exec</goal> 2562d57dc69SVladimir Kotal </goals> 2572d57dc69SVladimir Kotal </execution> 2582d57dc69SVladimir Kotal <execution> 2592d57dc69SVladimir Kotal <id>Install python lint and flake8</id> 2602d57dc69SVladimir Kotal <configuration> 2612d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 2622d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 2632d57dc69SVladimir Kotal <arguments> 2642d57dc69SVladimir Kotal <argument>-m</argument> 2652d57dc69SVladimir Kotal <argument>pip</argument> 2662d57dc69SVladimir Kotal <argument>install</argument> 2672d57dc69SVladimir Kotal <argument>pylint</argument> 2682d57dc69SVladimir Kotal <argument>flake8</argument> 2692d57dc69SVladimir Kotal </arguments> 2702d57dc69SVladimir Kotal </configuration> 2712d57dc69SVladimir Kotal <phase>verify</phase> 2722d57dc69SVladimir Kotal <goals> 2732d57dc69SVladimir Kotal <goal>exec</goal> 2742d57dc69SVladimir Kotal </goals> 2752d57dc69SVladimir Kotal </execution> 2762d57dc69SVladimir Kotal <execution> 2772d57dc69SVladimir Kotal <id>Python lint</id> 2782d57dc69SVladimir Kotal <configuration> 2792d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 2802d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 2812d57dc69SVladimir Kotal <arguments> 2822d57dc69SVladimir Kotal <argument>-m</argument> 2832d57dc69SVladimir Kotal <argument>pylint</argument> 2842d57dc69SVladimir Kotal <argument>--max-line-length</argument> 2852d57dc69SVladimir Kotal <argument>${python.checkstyle.line-length}</argument> 2862d57dc69SVladimir Kotal <argument>-E</argument> 2872d57dc69SVladimir Kotal <argument>${project.build.sourceDirectory}/opengrok_tools</argument> 2882d57dc69SVladimir Kotal <argument>${project.build.directory}/setup.py</argument> 2892d57dc69SVladimir Kotal </arguments> 2902d57dc69SVladimir Kotal <skip>${skipPythonTests}</skip> 2912d57dc69SVladimir Kotal </configuration> 2922d57dc69SVladimir Kotal <phase>verify</phase> 2932d57dc69SVladimir Kotal <goals> 2942d57dc69SVladimir Kotal <goal>exec</goal> 2952d57dc69SVladimir Kotal </goals> 2962d57dc69SVladimir Kotal </execution> 2972d57dc69SVladimir Kotal <execution> 2982d57dc69SVladimir Kotal <id>Python flake8</id> 2992d57dc69SVladimir Kotal <configuration> 3002d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 3012d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 3022d57dc69SVladimir Kotal <arguments> 3032d57dc69SVladimir Kotal <argument>-m</argument> 3042d57dc69SVladimir Kotal <argument>flake8</argument> 3052d57dc69SVladimir Kotal <argument>--max-line-length</argument> 3062d57dc69SVladimir Kotal <argument>${python.checkstyle.line-length}</argument> 3072d57dc69SVladimir Kotal <argument>-v</argument> 3082d57dc69SVladimir Kotal <argument>${project.build.sourceDirectory}</argument> 3092d57dc69SVladimir Kotal <argument>${project.build.testSourceDirectory}</argument> 3102d57dc69SVladimir Kotal <argument>setup.py</argument> 3112d57dc69SVladimir Kotal </arguments> 3122d57dc69SVladimir Kotal </configuration> 3132d57dc69SVladimir Kotal <phase>verify</phase> 3142d57dc69SVladimir Kotal <goals> 3152d57dc69SVladimir Kotal <goal>exec</goal> 3162d57dc69SVladimir Kotal </goals> 3172d57dc69SVladimir Kotal </execution> 3182d57dc69SVladimir Kotal <execution> 3192d57dc69SVladimir Kotal <id>Test python package</id> 3202d57dc69SVladimir Kotal <configuration> 3212d57dc69SVladimir Kotal <executable>${python.environment}/python</executable> 3222d57dc69SVladimir Kotal <workingDirectory>${project.build.directory}</workingDirectory> 3232d57dc69SVladimir Kotal <environmentVariables> 3242d57dc69SVladimir Kotal <PATH>${python.environment}:${env.PATH}</PATH> 3252d57dc69SVladimir Kotal </environmentVariables> 3262d57dc69SVladimir Kotal <arguments> 3272d57dc69SVladimir Kotal <argument>setup.py</argument> 3282d57dc69SVladimir Kotal <argument>test</argument> 3292d57dc69SVladimir Kotal </arguments> 3302d57dc69SVladimir Kotal <skip>${skipPythonTests}</skip> 3312d57dc69SVladimir Kotal </configuration> 3322d57dc69SVladimir Kotal <phase>test</phase> 3332d57dc69SVladimir Kotal <goals> 3342d57dc69SVladimir Kotal <goal>exec</goal> 3352d57dc69SVladimir Kotal </goals> 3362d57dc69SVladimir Kotal </execution> 3372d57dc69SVladimir Kotal </executions> 3382d57dc69SVladimir Kotal </plugin> 3392d57dc69SVladimir Kotal <plugin> 3402d57dc69SVladimir Kotal <groupId>org.apache.maven.plugins</groupId> 3412d57dc69SVladimir Kotal <artifactId>maven-checkstyle-plugin</artifactId> 3422d57dc69SVladimir Kotal </plugin> 3432d57dc69SVladimir Kotal </plugins> 3442d57dc69SVladimir Kotal </build> 3452d57dc69SVladimir Kotal</project> 346