From 8d67ff1cf3080189a174a670c71d9650562a025d Mon Sep 17 00:00:00 2001 From: Jason Lowe Date: Tue, 21 Apr 2020 06:48:03 -0700 Subject: [PATCH] Add rat plugin to help verify ASL license header compliance --- jenkins/Dockerfile.integration.centos7 | 16 ++++++++++ jenkins/Dockerfile.integration.ubuntu16 | 16 ++++++++++ jenkins/Dockerfile.ubuntu16 | 16 ++++++++++ jenkins/Jenkinsfile.integration | 16 ++++++++++ jenkins/Jenkinsfile.nightly | 16 ++++++++++ jenkins/Jenkinsfile.premerge | 18 ++++++++++- jenkins/settings.xml | 16 ++++++++++ jenkins/spark-tests.sh | 16 ++++++++++ pom.xml | 32 +++++++++++++++++++ shuffle-plugin/pom.xml | 4 +++ sql-plugin/pom.xml | 14 +++++++- .../scala/ai/rapids/spark/FuzzerUtils.scala | 16 ++++++++++ .../rapids/spark/GpuExpressionTestSuite.scala | 16 ++++++++++ .../spark/LogOperatorUnitTestSuite.scala | 16 ++++++++++ tests/pom.xml | 24 ++++++++++++++ 15 files changed, 250 insertions(+), 2 deletions(-) diff --git a/jenkins/Dockerfile.integration.centos7 b/jenkins/Dockerfile.integration.centos7 index 42a5064d256..d3870be2066 100644 --- a/jenkins/Dockerfile.integration.centos7 +++ b/jenkins/Dockerfile.integration.centos7 @@ -1,3 +1,19 @@ +# +# Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved. +# +# 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. +# + ### # # Arguments: CUDA_VER=9.2 or 10.0 diff --git a/jenkins/Dockerfile.integration.ubuntu16 b/jenkins/Dockerfile.integration.ubuntu16 index e0a1f67d44f..861ad130e79 100644 --- a/jenkins/Dockerfile.integration.ubuntu16 +++ b/jenkins/Dockerfile.integration.ubuntu16 @@ -1,3 +1,19 @@ +# +# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. +# +# 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. +# + ### # # Arguments: CUDA_VER=9.2 or 10.0 diff --git a/jenkins/Dockerfile.ubuntu16 b/jenkins/Dockerfile.ubuntu16 index 6e25c1cf28f..6fbd9c4b69d 100644 --- a/jenkins/Dockerfile.ubuntu16 +++ b/jenkins/Dockerfile.ubuntu16 @@ -1,3 +1,19 @@ +# +# Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved. +# +# 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. +# + ### # # Build the image for rapids-plugin development environment diff --git a/jenkins/Jenkinsfile.integration b/jenkins/Jenkinsfile.integration index 79f21afcaec..1c13f8fbde2 100644 --- a/jenkins/Jenkinsfile.integration +++ b/jenkins/Jenkinsfile.integration @@ -1,4 +1,20 @@ #!/usr/local/env groovy +/* + * Copyright (c) 2019-2020, NVIDIA CORPORATION. + * + * 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. + */ + /** * * Jenkins file for running spark3.0 integration tests diff --git a/jenkins/Jenkinsfile.nightly b/jenkins/Jenkinsfile.nightly index 3df36104cd2..c50cfcd3b5a 100644 --- a/jenkins/Jenkinsfile.nightly +++ b/jenkins/Jenkinsfile.nightly @@ -1,4 +1,20 @@ #!/usr/local/env groovy +/* + * Copyright (c) 2019-2020, NVIDIA CORPORATION. + * + * 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. + */ + /** * * Jenkinsfile for rapids-plugin building ubuntu cuda10 versions diff --git a/jenkins/Jenkinsfile.premerge b/jenkins/Jenkinsfile.premerge index 63cf0ad7b08..969dfdfd197 100644 --- a/jenkins/Jenkinsfile.premerge +++ b/jenkins/Jenkinsfile.premerge @@ -1,4 +1,20 @@ #!/usr/local/env groovy +/* + * Copyright (c) 2019-2020, NVIDIA CORPORATION. + * + * 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. + */ + /** * * Jenkinsfile for rapids-plugin building ubuntu cuda10 versions @@ -36,7 +52,7 @@ pipeline { -v ${HOME}/.zinc:${HOME}/.zinc:rw \ -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group") { echo 'Building in ubuntu16 cuda10.0 ...' - sh 'mvn -U -B clean package $MVN_GPUWA_MIRROR' + sh 'mvn -U -B clean verify $MVN_GPUWA_MIRROR' } } } diff --git a/jenkins/settings.xml b/jenkins/settings.xml index 75a508d3b14..539c0478d87 100644 --- a/jenkins/settings.xml +++ b/jenkins/settings.xml @@ -1,3 +1,19 @@ + + diff --git a/jenkins/spark-tests.sh b/jenkins/spark-tests.sh index a9911a14857..4e1b8d77282 100755 --- a/jenkins/spark-tests.sh +++ b/jenkins/spark-tests.sh @@ -1,4 +1,20 @@ #!/bin/bash +# +# Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved. +# +# 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. +# + set -e if [ "$CUDF_VER"x == x ];then CUDF_VER="0.14-SNAPSHOT" diff --git a/pom.xml b/pom.xml index ebba8f7ef12..5a1dec1d638 100644 --- a/pom.xml +++ b/pom.xml @@ -356,8 +356,40 @@ + + org.apache.rat + apache-rat-plugin + 0.13 + + + verify + + check + + + + + + + + org.apache.rat + apache-rat-plugin + + + .gitattributes + .gitignore + .git/** + .github/pull_request_template.md + **/*.md + NOTICE-binary + + shuffle-plugin/** + + + + diff --git a/shuffle-plugin/pom.xml b/shuffle-plugin/pom.xml index e6942918973..4d279025c8e 100644 --- a/shuffle-plugin/pom.xml +++ b/shuffle-plugin/pom.xml @@ -130,6 +130,10 @@ org.scalatest scalatest-maven-plugin + + org.apache.rat + apache-rat-plugin + diff --git a/sql-plugin/pom.xml b/sql-plugin/pom.xml index 2fd724839bb..a9dcd4e4b44 100644 --- a/sql-plugin/pom.xml +++ b/sql-plugin/pom.xml @@ -51,7 +51,7 @@ org.apache.spark spark-sql_${scala.binary.version} - + org.apache.spark spark-catalyst_${scala.binary.version} test-jar @@ -198,6 +198,18 @@ org.scalastyle scalastyle-maven-plugin + + org.apache.rat + apache-rat-plugin + + + dependency-reduced-pom.xml + src/main/format/README.md + src/main/java/ai/rapids/spark/format/* + src/test/resources/** + + + diff --git a/sql-plugin/src/test/scala/ai/rapids/spark/FuzzerUtils.scala b/sql-plugin/src/test/scala/ai/rapids/spark/FuzzerUtils.scala index 42ee4156764..6271d816dc0 100644 --- a/sql-plugin/src/test/scala/ai/rapids/spark/FuzzerUtils.scala +++ b/sql-plugin/src/test/scala/ai/rapids/spark/FuzzerUtils.scala @@ -1,3 +1,19 @@ +/* + * Copyright (c) 2020, NVIDIA CORPORATION. + * + * 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. + */ + package ai.rapids.spark import ai.rapids.spark.GpuColumnVector.GpuColumnarBatchBuilder diff --git a/sql-plugin/src/test/scala/ai/rapids/spark/GpuExpressionTestSuite.scala b/sql-plugin/src/test/scala/ai/rapids/spark/GpuExpressionTestSuite.scala index 462df155eae..fbae7754074 100644 --- a/sql-plugin/src/test/scala/ai/rapids/spark/GpuExpressionTestSuite.scala +++ b/sql-plugin/src/test/scala/ai/rapids/spark/GpuExpressionTestSuite.scala @@ -1,3 +1,19 @@ +/* + * Copyright (c) 2020, NVIDIA CORPORATION. + * + * 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. + */ + package ai.rapids.spark import org.apache.spark.sql.types.{DataType, DataTypes, StructType} diff --git a/sql-plugin/src/test/scala/ai/rapids/spark/LogOperatorUnitTestSuite.scala b/sql-plugin/src/test/scala/ai/rapids/spark/LogOperatorUnitTestSuite.scala index 2bae2ae20af..f97b12d33c5 100644 --- a/sql-plugin/src/test/scala/ai/rapids/spark/LogOperatorUnitTestSuite.scala +++ b/sql-plugin/src/test/scala/ai/rapids/spark/LogOperatorUnitTestSuite.scala @@ -1,3 +1,19 @@ +/* + * Copyright (c) 2020, NVIDIA CORPORATION. + * + * 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. + */ + package ai.rapids.spark import org.apache.spark.sql.rapids.{GpuAdd, GpuLog, GpuLogarithm} diff --git a/tests/pom.xml b/tests/pom.xml index 2aa371ac608..2d2052eda50 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -1,4 +1,19 @@ + @@ -77,6 +92,15 @@ org.scalastyle scalastyle-maven-plugin + + org.apache.rat + apache-rat-plugin + + + src/test/resources/* + + +