<?xml version="1.0" encoding="UTF-8"?>
<!--
	Licensed to the Apache Software Foundation (ASF) under one or more
	contributor license agreements. See the NOTICE file distributed with
	this work for additional information regarding copyright ownership.
	The ASF licenses this file to You under the Apache License, Version 2.0
	(the "License"); you may not use this file except in compliance with
	the License. You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

	Unless required by applicable law or agreed to in writing, software
	distributed under the License is distributed on an "AS IS" BASIS,
	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	See the License for the specific language governing permissions and
	limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>org.apache.hawq</groupId>
  <artifactId>hawq</artifactId>
  <version>2.4</version>
  <packaging>pom</packaging>

  <build>  
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.12</version>
          <configuration>
            <consoleOutput>true</consoleOutput>
            <excludes>

              <!-- stream benchmark under BSD-like license with a few
                   exceptions around benchmarking results -->

              <exclude>tools/bin/src/stream/*</exclude> 

              <!-- PyGreSQL an open-source Python module that
                   interfaces to a PostgreSQL database under the
                   Python Software Foundation License -->

              <exclude>tools/bin/pythonSrc/PyGreSQL-4.0/**</exclude>

              <!-- Open-source Python modules with MIT license -->

              <exclude>tools/bin/pythonSrc/lockfile-0.9.1/**</exclude>
              <exclude>tools/bin/pythonSrc/PSI-0.3b2_gp/**</exclude>
              <exclude>tools/bin/ext/simplejson/**</exclude>
              <exclude>tools/bin/ext/yaml/**</exclude>

              <!-- CMake BSD 3-clause license -->

              <exclude>depends/libhdfs3/CMake/**</exclude>
              <exclude>depends/libyarn/CMake/**</exclude>
              
              <!-- Open-source Python modules with BSD license -->
              
              <exclude>tools/bin/pythonSrc/pychecker-0.8.18/**</exclude>
              <exclude>tools/bin/pythonSrc/unittest2-0.5.1/**</exclude>
              <exclude>tools/bin/ext/figleaf/**</exclude>
              <exclude>tools/bin/ext/pg8000/**</exclude>

              <!-- BZIP2 license (4 clause BSD) -->

              <exclude>src/include/port/win32_msvc/bzlib.h</exclude>

              <!-- Google license (3 clause BSD) -->

              <exclude>depends/thirdparty/googletest/**</exclude>
              
              <!-- Oraface Project BSD license
                   https://github.com/orafce -->

              <exclude>contrib/orafce/*</exclude>

              <!-- Pexpect a Python module for spawning child
                   applications and controlling them automatically,
                   BSD license -->

              <exclude>tools/bin/lib/pexpect.py</exclude>

              <!-- Open-source Python modules with ISC license -->

              <exclude>tools/bin/pythonSrc/pexpect-4.2/**</exclude>
              <exclude>tools/bin/pythonSrc/ptyprocess-0.5.1/**</exclude>

              <!-- These files came from PostgreSQL but they don't
                   have markers to identify that -->

              <exclude>src/bin/gpfdist/src/gpfdist/glob.c</exclude>
              <exclude>src/bin/gpfdist/src/gpfdist/include/glob.h</exclude>
              <exclude>src/include/port/win32_msvc/glob.h</exclude>
              <exclude>aclocal.m4</exclude>
              <exclude>GNUmakefile.in</exclude>
              <exclude>configure.in</exclude> 
              <exclude>configure</exclude>
              <exclude>Makefile</exclude>
              <exclude>config/*</exclude> <!-- This one is tricky since it is actually GPL -->
              <exclude>src/makefiles/*</exclude>
              <exclude>src/DEVELOPERS</exclude>
              <exclude>src/backend/catalog/Makefile</exclude>
              <exclude>src/backend/port/beos/*.c</exclude>
              <exclude>src/backend/port/tas/*.s</exclude>
              <exclude>src/backend/regex/re_syntax.n</exclude>
              <exclude>src/backend/utils/mb/conversion_procs/regress_epilogue</exclude>
              <exclude>src/backend/utils/mb/conversion_procs/regress_prolog</exclude>
              <exclude>src/backend/utils/mb/Unicode/ISO10646-GB18030.TXT</exclude>
              <exclude>src/backend/utils/misc/check_guc</exclude>
              <exclude>src/backend/port/hpux/tas.c.template</exclude>
              <exclude>src/backend/utils/mb/conversion_procs/proc.mk</exclude>
              <exclude>src/include/pg_config.h.win32</exclude>
              <exclude>src/bin/scripts/common.h</exclude>
              <exclude>src/include/pg_config.h.in</exclude>
              <exclude>src/bin/initdb/*</exclude>
              <exclude>src/bin/initlocation/*</exclude>
              <exclude>src/bin/ipcclean/*</exclude>
              <exclude>src/bin/pg_*/**/*</exclude>
              <exclude>src/bin/psql/**/*</exclude>
              <exclude>src/bin/scripts/*.c</exclude>
              <exclude>src/interfaces/**/*</exclude>
              <exclude>src/tools/**/*</exclude>
              <exclude>src/tutorial/*</exclude>
              <exclude>src/pl/**/*</exclude>
              <exclude>src/port/*</exclude>
              <exclude>src/template/*</exclude>

              <!-- src/test/bench -->

              <exclude>src/test/bench/query*</exclude>

              <!-- PostgreSQL src/test/regress -->
              
              <exclude>src/test/regress/**/*.in</exclude>
              <exclude>src/test/regress/**/*.mdp</exclude>
              <exclude>src/test/regress/**/*.xml</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_3chars_line_delimiter.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_big.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_no_line_delimiter.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_out.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_blankfields.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_blankfields_and_nulls.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_correct.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_error_fieldtoolong.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_error_fieldtype.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_error_rejectlimitcrossed.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_error_rejectlimitnotcrossed.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_error_toofewfields.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_error_toomanyfields.tbl</exclude>
              <exclude>src/test/regress/data/fixedwidth/fixedwidth_small_nulldefined.tbl</exclude>
              <exclude>src/test/regress/data/nation.tbl</exclude>
              <exclude>src/test/regress/data/nation_error50.tbl</exclude>
              <exclude>src/test/regress/data/region.tbl</exclude>
              <exclude>src/test/regress/expected_statuses</exclude>
                            
              <!-- src/test/feature -->

              <exclude>src/test/feature/ExternalSource/data/nation.tbl</exclude>
              <exclude>src/test/feature/ExternalSource/data/nation_error50.tbl</exclude>
              <exclude>src/test/feature/ExternalSource/data/region.tbl</exclude>
              <exclude>src/test/feature/ManagementTool/test_hawq_register_hawq.paq</exclude>
              <exclude>src/test/feature/ManagementTool/test_hawq_register_hive.paq</exclude>
              <exclude>src/test/feature/ManagementTool/data/parquet200/dat.paq</exclude>
              <exclude>src/test/feature/ManagementTool/data/parquet200sum/a.paq</exclude>
              <exclude>src/test/feature/ManagementTool/data/parquet200sum/b.paq</exclude>
              <exclude>src/test/feature/ManagementTool/test_hawq_register_data_types.paq</exclude>
              <exclude>src/test/feature/ManagementTool/test_hawq_register_not_paq</exclude>
              <exclude>src/test/feature/ManagementTool/test_hawq_register_null.paq</exclude>
              <exclude>src/test/feature/ManagementTool/usage2case2/10</exclude>
              <exclude>src/test/feature/ManagementTool/usage2case2/11</exclude>
              <exclude>src/test/feature/ManagementTool/usage2case2/12</exclude>
              <exclude>src/test/feature/ManagementTool/usage2case2/13</exclude>
              <exclude>src/test/feature/ManagementTool/usage2case2/8</exclude>
              <exclude>src/test/feature/ManagementTool/usage2case2/9</exclude>
              
              <exclude>src/test/feature/UDF/ans/function_basics.ans.orca</exclude>
              <exclude>src/test/feature/UDF/ans/function_basics.ans.planner</exclude>
              <exclude>src/test/feature/UDF/ans/function_basics.ranger.ans.orca</exclude>
              <exclude>src/test/feature/UDF/ans/function_basics.ranger.ans.planner</exclude>

              <exclude>src/test/locale/**/Makefile</exclude>
              <exclude>src/test/locale/**/runall</exclude>
              <exclude>src/test/locale/de_DE.ISO8859-1/test-de-select.sql.in</exclude>
              <exclude>src/test/locale/de_DE.ISO8859-1/test-de-sort.in</exclude>
              <exclude>src/test/locale/de_DE.ISO8859-1/test-de-upper.sql.in</exclude>
              <exclude>src/test/locale/de_DE.ISO8859-1/test-de.sql.in</exclude>
              <exclude>src/test/locale/gr_GR.ISO8859-7/test-gr-select.sql.in</exclude>
              <exclude>src/test/locale/gr_GR.ISO8859-7/test-gr-sort.in</exclude>
              <exclude>src/test/locale/gr_GR.ISO8859-7/test-gr.sql.in</exclude>
              <exclude>src/test/locale/koi8-r/test-koi8-select.sql.in</exclude>
              <exclude>src/test/locale/koi8-r/test-koi8-sort.in</exclude>
              <exclude>src/test/locale/koi8-r/test-koi8.sql.in</exclude>
              <exclude>src/test/locale/koi8-to-win1251/test-koi8-select.sql.in</exclude>
              <exclude>src/test/locale/koi8-to-win1251/test-koi8-sort.in</exclude>
              <exclude>src/test/locale/koi8-to-win1251/test-koi8.sql.in</exclude>

              <!-- src/test/performance test files -->

              <exclude>src/test/performance/results/PgSQL.970926</exclude>
              <exclude>src/test/performance/sqls/connection</exclude>
              <exclude>src/test/performance/sqls/crtsimple</exclude>
              <exclude>src/test/performance/sqls/crtsimpleidx</exclude>
              <exclude>src/test/performance/sqls/drpsimple</exclude>
              <exclude>src/test/performance/sqls/orbsimple</exclude>
              <exclude>src/test/performance/sqls/slcsimple</exclude>
              <exclude>src/test/performance/sqls/vacuum</exclude>
              <exclude>src/test/regress/resultmap</exclude>

              <exclude>src/timezone/**/*</exclude>
              <exclude>doc/src/sgml/fixrtf</exclude>
              <exclude>doc/**/*.sgml</exclude>
              <exclude>contrib/vexecutor/*</exclude>
              <exclude>contrib/pgcrypto/*</exclude>

              <!-- Files which are not easy to have license headers. -->

              <exclude>depends/libhdfs3/test/data/*</exclude>
              <exclude>depends/libhdfs3/debian/**</exclude>

              <!-- Following files are licensed to ASF via the initial HAWQ SGA,
                   however it is tricky to maintain headers in them -->

              <exclude>depends/libyarn/test/data/*</exclude>
              <exclude>contrib/hawq-hadoop/hawq-mapreduce-common/src/test/resources/**/*.yaml</exclude>
              <exclude>contrib/hawq-hadoop/hawq-mapreduce-tool/test-data/**/*.yaml</exclude>

              <exclude>contrib/hawq-hadoop/hawq-mapreduce-tool/src/test/resources/dataset</exclude>
              <exclude>contrib/hawq-ambari-plugin/build.properties</exclude>
              <exclude>contrib/hawq-ambari-plugin/README.md</exclude>

              <exclude>src/backend/access/index/caql.files</exclude>
              <exclude>src/backend/gpopt/library.ver</exclude>
              <exclude>src/backend/utils/misc/etc/slaves</exclude>

              <exclude>tools/bin/.rcfile</exclude>
              <exclude>tools/bin/postgresql_conf_gp_additions</exclude>
              <exclude>tools/doc/**/*</exclude>
              <exclude>tools/demo/gpfdist_transform/*.yaml</exclude>
              <exclude>tools/bin/gppylib/operations/madlib_depcheck/changelist.yaml</exclude>

              <!-- Finally we exclude a few file types (based on
                   extension) for which comments are tough to
                   maintain. Note that this is a combination of files
                   licensed to ASF and files that came from PostgreSQL
                   and other projects (under compatible licenses).
                   You may need to engage in software archaeology to
                   find out the origins of these.
              -->

              <exclude>.git/**</exclude>
              <exclude>**/*.md</exclude>
              <exclude>**/*.md5</exclude>
              <exclude>**/*.json</exclude>
              <exclude>**/*.ans</exclude>
              <exclude>**/*.sql</exclude>
              <exclude>**/*.out</exclude>
              <exclude>**/*.po</exclude>
              <exclude>**/*.map</exclude>
              <exclude>**/*.stderr</exclude>
              <exclude>**/*.stdout</exclude>
              <exclude>**/*.source</exclude>
              <exclude>**/*.txt</exclude>
              <exclude>**/*.data</exclude>
              <exclude>**/*.csv</exclude>
              <exclude>**/*.pm</exclude>
              <exclude>**/*.1</exclude>
              <exclude>**/*.sample</exclude>
              <exclude>**/*.pgc</exclude>
              <exclude>**/*.cnf</exclude>
              <exclude>**/*.stx</exclude>
              <exclude>**/*.gdb</exclude>
              <exclude>**/*.patch</exclude>
              <exclude>**/*.commit</exclude>
              <exclude>**/__init__.py</exclude>
              <exclude>**/*README*</exclude>
            </excludes>
            <licenses>
              <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                <licenseFamilyName>PostgreSQL License</licenseFamilyName>
                <licenseFamilyCategory>PGSQL</licenseFamilyCategory>
                <patterns>
                  <pattern>$PostgreSQL:</pattern>
                  <pattern>PostgreSQL Global Development Group</pattern>
                </patterns>
            </license>
            </licenses>
            <licenseFamilies>
              <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                <familyName>PostgreSQL License</familyName>
              </licenseFamily>
              <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                <familyName>Apache License Version 2.0</familyName>
              </licenseFamily>
            </licenseFamilies>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.12</version>
          <executions>
            <execution>
              <phase>verify</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
  </build>
</project>
