xref: /OpenGrok/tools/pom.xml (revision 2d57dc692b4dd10e696ca6922510f6cecded1bfd)
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