You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@predictionio.apache.org by do...@apache.org on 2016/08/21 19:27:20 UTC

[1/2] incubator-predictionio git commit: [PIO-26] Integrate Apache RAT for license checking

Repository: incubator-predictionio
Updated Branches:
  refs/heads/develop 050d89405 -> 19a8739c1


http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/Dockerfile
----------------------------------------------------------------------
diff --git a/tests/Dockerfile b/tests/Dockerfile
index fc3d89d..a455d5d 100644
--- a/tests/Dockerfile
+++ b/tests/Dockerfile
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 from ubuntu
 
 ENV SPARK_VERSION 1.4.0

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/after_script.travis.sh
----------------------------------------------------------------------
diff --git a/tests/after_script.travis.sh b/tests/after_script.travis.sh
index fdc635f..69e28e0 100755
--- a/tests/after_script.travis.sh
+++ b/tests/after_script.travis.sh
@@ -1,4 +1,20 @@
-#!/bin/bash -
+#!/bin/bash
+#
+# 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.
+#
 
 set -e
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/before_script.travis.sh
----------------------------------------------------------------------
diff --git a/tests/before_script.travis.sh b/tests/before_script.travis.sh
index d7f9cef..9bfecdc 100755
--- a/tests/before_script.travis.sh
+++ b/tests/before_script.travis.sh
@@ -1,9 +1,24 @@
-#!/bin/bash -
+#!/bin/bash
+#
+# 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.
+#
 
 set -e
 
 if [[ $BUILD_TYPE == Unit ]]; then
-
   # Download spark, hbase
   mkdir vendors
   wget http://d3kbcqa49mib13.cloudfront.net/spark-1.3.0-bin-hadoop2.4.tgz

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/check_license.sh
----------------------------------------------------------------------
diff --git a/tests/check_license.sh b/tests/check_license.sh
new file mode 100755
index 0000000..719657f
--- /dev/null
+++ b/tests/check_license.sh
@@ -0,0 +1,58 @@
+#!/usr/bin/env bash
+#
+# 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.
+#
+
+# Go to PredictionIO directory
+FWDIR="$(cd "`dirname "$0"`"/..; pwd)"
+mkdir -p ${FWDIR}/lib
+cd ${FWDIR}/lib
+
+# Download RAT jar in lib/
+RAT_VERSION=0.11
+RAT_JAR="${FWDIR}/lib/apache-rat-${RAT_VERSION}.jar"
+URL="http://repo1.maven.org/maven2/org/apache/rat/apache-rat/${RAT_VERSION}/apache-rat-${RAT_VERSION}.jar"
+if [ ! -f "$RAT_JAR" ]; then
+  if [ $(command -v curl) ]; then
+    curl -OL --silent "${URL}"
+  elif [ $(command -v wget) ]; then
+    wget --quiet ${URL}
+  fi
+fi
+if [ ! -f "$RAT_JAR" ]; then
+  echo "${RAT_JAR} download failed. Please install rat manually.\n"
+  exit 1
+fi
+
+# Run RAT testing
+TEST_DIR="${FWDIR}/tests"
+REPORT_DIR="${FWDIR}/test-reports"
+mkdir ${REPORT_DIR}
+java -jar ${RAT_JAR} -E ${TEST_DIR}/.rat-excludes -d ${FWDIR} > ${REPORT_DIR}/rat-results.txt
+if [ $? -ne 0 ]; then
+ echo "RAT exited abnormally"
+ exit 1
+fi
+
+# Print results
+ERRORS="$(cat ${REPORT_DIR}/rat-results.txt | grep -e "??")"
+if test ! -z "$ERRORS"; then
+  echo "Could not find Apache license headers in the following files:"
+  echo "$ERRORS"
+  exit 1
+else
+  echo -e "RAT checks passed."
+fi

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/docker-files/env-conf/hbase-site.xml
----------------------------------------------------------------------
diff --git a/tests/docker-files/env-conf/hbase-site.xml b/tests/docker-files/env-conf/hbase-site.xml
index af3ab4f..1b7b507 100644
--- a/tests/docker-files/env-conf/hbase-site.xml
+++ b/tests/docker-files/env-conf/hbase-site.xml
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 <?xml version="1.0"?>
 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 <configuration>

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/docker-files/env-conf/pio-env.sh
----------------------------------------------------------------------
diff --git a/tests/docker-files/env-conf/pio-env.sh b/tests/docker-files/env-conf/pio-env.sh
index 8391e97..4ffec46 100644
--- a/tests/docker-files/env-conf/pio-env.sh
+++ b/tests/docker-files/env-conf/pio-env.sh
@@ -1,6 +1,22 @@
 #!/usr/bin/env bash
-
+#
 # Copy this file as pio-env.sh and edit it for your site's configuration.
+#
+# 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.
+#
 
 # PredictionIO Main Configuration
 #

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/docker-files/init.sh
----------------------------------------------------------------------
diff --git a/tests/docker-files/init.sh b/tests/docker-files/init.sh
index de50f3f..cba9977 100755
--- a/tests/docker-files/init.sh
+++ b/tests/docker-files/init.sh
@@ -1,4 +1,20 @@
-#!/bin/bash -
+#!/bin/bash
+#
+# 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.
+#
 
 set -e
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/__init__.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/__init__.py b/tests/pio_tests/__init__.py
index e69de29..ecb1860 100644
--- a/tests/pio_tests/__init__.py
+++ b/tests/pio_tests/__init__.py
@@ -0,0 +1,16 @@
+#
+# 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.
+#
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/engines/recommendation-engine/build.sbt
----------------------------------------------------------------------
diff --git a/tests/pio_tests/engines/recommendation-engine/build.sbt b/tests/pio_tests/engines/recommendation-engine/build.sbt
index c7413bb..b75c16b 100644
--- a/tests/pio_tests/engines/recommendation-engine/build.sbt
+++ b/tests/pio_tests/engines/recommendation-engine/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSAlgorithm.scala b/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSAlgorithm.scala
index 17c2806..f22d2f7 100644
--- a/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSAlgorithm.scala
+++ b/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSAlgorithm.scala
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 package org.template.recommendation
 
 import org.apache.predictionio.controller.PAlgorithm

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSModel.scala
----------------------------------------------------------------------
diff --git a/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSModel.scala b/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSModel.scala
index 243c1d1..4697732 100644
--- a/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSModel.scala
+++ b/tests/pio_tests/engines/recommendation-engine/src/main/scala/ALSModel.scala
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 package org.apache.spark.mllib.recommendation
 // This must be the same package as Spark's MatrixFactorizationModel because
 // MatrixFactorizationModel's constructor is private and we are using

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/engines/recommendation-engine/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/tests/pio_tests/engines/recommendation-engine/src/main/scala/DataSource.scala b/tests/pio_tests/engines/recommendation-engine/src/main/scala/DataSource.scala
index eea3ae6..12904a2 100644
--- a/tests/pio_tests/engines/recommendation-engine/src/main/scala/DataSource.scala
+++ b/tests/pio_tests/engines/recommendation-engine/src/main/scala/DataSource.scala
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 package org.template.recommendation
 
 import org.apache.predictionio.controller.PDataSource

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/engines/recommendation-engine/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/tests/pio_tests/engines/recommendation-engine/src/main/scala/Engine.scala b/tests/pio_tests/engines/recommendation-engine/src/main/scala/Engine.scala
index 79840dc..b680ca8 100644
--- a/tests/pio_tests/engines/recommendation-engine/src/main/scala/Engine.scala
+++ b/tests/pio_tests/engines/recommendation-engine/src/main/scala/Engine.scala
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 package org.template.recommendation
 
 import org.apache.predictionio.controller.IEngineFactory

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/engines/recommendation-engine/src/main/scala/Evaluation.scala
----------------------------------------------------------------------
diff --git a/tests/pio_tests/engines/recommendation-engine/src/main/scala/Evaluation.scala b/tests/pio_tests/engines/recommendation-engine/src/main/scala/Evaluation.scala
index 34e5689..2254b96 100644
--- a/tests/pio_tests/engines/recommendation-engine/src/main/scala/Evaluation.scala
+++ b/tests/pio_tests/engines/recommendation-engine/src/main/scala/Evaluation.scala
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 package org.template.recommendation
 
 import org.apache.predictionio.controller.Evaluation

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/engines/recommendation-engine/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/tests/pio_tests/engines/recommendation-engine/src/main/scala/Preparator.scala b/tests/pio_tests/engines/recommendation-engine/src/main/scala/Preparator.scala
index 8f2f7e4..0bab35b 100644
--- a/tests/pio_tests/engines/recommendation-engine/src/main/scala/Preparator.scala
+++ b/tests/pio_tests/engines/recommendation-engine/src/main/scala/Preparator.scala
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 package org.template.recommendation
 
 import org.apache.predictionio.controller.PPreparator

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/engines/recommendation-engine/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/tests/pio_tests/engines/recommendation-engine/src/main/scala/Serving.scala b/tests/pio_tests/engines/recommendation-engine/src/main/scala/Serving.scala
index 38ba8b9..02eb0ec 100644
--- a/tests/pio_tests/engines/recommendation-engine/src/main/scala/Serving.scala
+++ b/tests/pio_tests/engines/recommendation-engine/src/main/scala/Serving.scala
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 package org.template.recommendation
 
 import org.apache.predictionio.controller.LServing

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/globals.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/globals.py b/tests/pio_tests/globals.py
index 1134501..2da3c39 100644
--- a/tests/pio_tests/globals.py
+++ b/tests/pio_tests/globals.py
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 import subprocess
 
 SUPPRESS_STDOUT=False

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/integration.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/integration.py b/tests/pio_tests/integration.py
index 441365e..9f2e7e5 100644
--- a/tests/pio_tests/integration.py
+++ b/tests/pio_tests/integration.py
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 import unittest
 import logging
 import pio_tests.globals as globals

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/scenarios/__init__.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/scenarios/__init__.py b/tests/pio_tests/scenarios/__init__.py
index e69de29..ecb1860 100644
--- a/tests/pio_tests/scenarios/__init__.py
+++ b/tests/pio_tests/scenarios/__init__.py
@@ -0,0 +1,16 @@
+#
+# 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.
+#
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/scenarios/basic_app_usecases.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/scenarios/basic_app_usecases.py b/tests/pio_tests/scenarios/basic_app_usecases.py
index d8b3a1e..37e84b9 100644
--- a/tests/pio_tests/scenarios/basic_app_usecases.py
+++ b/tests/pio_tests/scenarios/basic_app_usecases.py
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 import os
 import unittest
 import random

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/scenarios/eventserver_test.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/scenarios/eventserver_test.py b/tests/pio_tests/scenarios/eventserver_test.py
index 8c243d2..c09e815 100644
--- a/tests/pio_tests/scenarios/eventserver_test.py
+++ b/tests/pio_tests/scenarios/eventserver_test.py
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 import unittest
 import requests
 import json

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/scenarios/quickstart_test.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/scenarios/quickstart_test.py b/tests/pio_tests/scenarios/quickstart_test.py
index a083c2b..04d80d3 100644
--- a/tests/pio_tests/scenarios/quickstart_test.py
+++ b/tests/pio_tests/scenarios/quickstart_test.py
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 import os
 import unittest
 import random

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/tests.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/tests.py b/tests/pio_tests/tests.py
index 33d9940..77ecb11 100755
--- a/tests/pio_tests/tests.py
+++ b/tests/pio_tests/tests.py
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 import os
 import sys
 import unittest

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/pio_tests/utils.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/utils.py b/tests/pio_tests/utils.py
index 629729e..e61f28e 100644
--- a/tests/pio_tests/utils.py
+++ b/tests/pio_tests/utils.py
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 import re
 import time
 import os

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/run_docker.sh
----------------------------------------------------------------------
diff --git a/tests/run_docker.sh b/tests/run_docker.sh
index d5925ef..ed4001e 100755
--- a/tests/run_docker.sh
+++ b/tests/run_docker.sh
@@ -1,4 +1,20 @@
-#!/bin/bash -
+#!/bin/bash
+#
+# 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.
+#
 
 USAGE=$"Usage: run_docer <meta> <event> <model> <pio> <command>
   Where:

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/script.travis.sh
----------------------------------------------------------------------
diff --git a/tests/script.travis.sh b/tests/script.travis.sh
index 8596078..4adb135 100755
--- a/tests/script.travis.sh
+++ b/tests/script.travis.sh
@@ -1,8 +1,27 @@
-#!/bin/bash -
+#!/bin/bash
+#
+# 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.
+#
 
 set -e
 
 if [[ $BUILD_TYPE == Unit ]]; then
+  # Run license check
+  ./tests/check_license.sh
+
   # Prepare pio environment variables
   set -a
   source conf/pio-env.sh.travis

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tools/src/main/twirl/org/apache/predictionio/tools/dashboard/index.scala.html
----------------------------------------------------------------------
diff --git a/tools/src/main/twirl/org/apache/predictionio/tools/dashboard/index.scala.html b/tools/src/main/twirl/org/apache/predictionio/tools/dashboard/index.scala.html
index 2e1719c..787d21a 100644
--- a/tools/src/main/twirl/org/apache/predictionio/tools/dashboard/index.scala.html
+++ b/tools/src/main/twirl/org/apache/predictionio/tools/dashboard/index.scala.html
@@ -7,6 +7,22 @@
   env: Map[String, String],
   completedInstances: Seq[EvaluationInstance])
 <!DOCTYPE html>
+<!--
+  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.
+-->
 <html lang="en">
   <head>
     <title>PredictionIO Dashboard at @{dc.ip}:@{dc.port}</title>


[2/2] incubator-predictionio git commit: [PIO-26] Integrate Apache RAT for license checking

Posted by do...@apache.org.
[PIO-26] Integrate Apache RAT for license checking

Closes apache/incubator-predictionio#279

Squashed commit of the following:

commit 53c408007dfb93ba4526feec1d71c0e6579674ec
Author: Chan Lee <ch...@gmail.com>
Date:   Fri Aug 19 15:25:31 2016 -0700

    Fix license header location for html files

    All comments should come after @import and <!DOCTYPE html> declaration

commit 4a86904dae8abf2c0b2e75f96cbdb33801f3bf4e
Author: Chan Lee <ch...@gmail.com>
Date:   Fri Aug 19 13:34:34 2016 -0700

    Configure RAT Apache license checker to run on travis

commit 0beb4be3f32021902c0904b69207a2f9e6dcce4b
Author: Chan Lee <ch...@gmail.com>
Date:   Fri Aug 19 10:47:53 2016 -0700

    Add apache license to source files in docs/

commit 1ab32d1cc9174cafc1ea8c7c0ca21221255b452d
Author: Chan Lee <ch...@gmail.com>
Date:   Fri Aug 19 10:10:19 2016 -0700

    Add apache license to engine source files used for integration testing

commit d3cb62f73393ce7ca0bc4317e2b80d4411dcb052
Author: Chan Lee <ch...@gmail.com>
Date:   Fri Aug 19 10:07:50 2016 -0700

    Add apache license to more build.sbt files in examples/

commit 0d18dda1025299e4ef8b30dfa8068863c35fdf07
Author: Chan Lee <ch...@gmail.com>
Date:   Thu Aug 18 17:41:16 2016 -0700

    Add apache license for empty __init__.py files

commit 473df0afa775eea8642707365fc3b5a32d3f5b16
Author: Chan Lee <ch...@gmail.com>
Date:   Thu Aug 18 17:39:20 2016 -0700

    Add apache license for integration test files

commit 7a2d97a49c41972a3d3efdf95b50ee4ff09e0dd7
Author: Chan Lee <ch...@gmail.com>
Date:   Thu Aug 18 17:34:15 2016 -0700

    Add apache license to some html files

commit 611a3eff5b8ab65644c3d1ee6fdaddbbaf7ef8a5
Author: Chan Lee <ch...@gmail.com>
Date:   Thu Aug 18 17:11:15 2016 -0700

    Add apache license for travis files

commit a422c44d7ce315ce73a1d2ec3da4b0cd790e2bea
Author: Chan Lee <ch...@gmail.com>
Date:   Thu Aug 18 17:05:40 2016 -0700

    Change indentation for bin/semver.sh

commit b0a3d3c3310c1ae6c8b1f67d52f340e802f025ce
Author: Chan Lee <ch...@gmail.com>
Date:   Thu Aug 18 16:57:46 2016 -0700

    Put file description before apache license

commit 1e6399f59d4fb2d122be0e5fa5cdd7c1c2fda04e
Author: Chan Lee <ch...@gmail.com>
Date:   Thu Aug 18 16:47:05 2016 -0700

    Add apache license for build.sbt files in examples/


Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/19a8739c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/19a8739c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/19a8739c

Branch: refs/heads/develop
Commit: 19a8739c111825741273ea0557abf0c4a901d0a8
Parents: 050d894
Author: Chan Lee <ch...@gmail.com>
Authored: Sun Aug 21 12:26:26 2016 -0700
Committer: Donald Szeto <do...@apache.org>
Committed: Sun Aug 21 12:26:26 2016 -0700

----------------------------------------------------------------------
 .travis.yml                                     |  16 ++
 bin/semver.sh                                   | 189 +++++++++----------
 conf/pio-env.sh.template                        |   5 +-
 conf/pio-env.sh.travis                          |   8 +-
 .../controller/metric_evaluator.scala.html      |  16 ++
 .../predictionio/workflow/index.scala.html      |  16 ++
 docs/javadoc/javadoc-overview.html              |  16 ++
 docs/manual/Gemfile                             |  17 ++
 docs/manual/Rakefile                            |  17 ++
 docs/manual/config.rb                           |  17 ++
 docs/manual/helpers/application_helpers.rb      |  17 ++
 docs/manual/helpers/breadcrumb_helpers.rb       |  17 ++
 docs/manual/helpers/icon_helpers.rb             |  17 ++
 .../manual/helpers/table_of_contents_helpers.rb |  17 ++
 docs/manual/helpers/url_helpers.rb              |  17 ++
 docs/manual/lib/custom_renderer.rb              |  17 ++
 docs/manual/lib/gallery_generator.rb            |  17 ++
 docs/manual/source/github.html                  |  16 ++
 .../java-local-helloworld/build.sbt             |  17 ++
 .../java-local-regression/build.sbt             |  16 ++
 .../experimental/java-local-tutorial/build.sbt  |  16 ++
 .../java-parallel-helloworld/build.sbt          |  17 ++
 .../src/main/java/parallel/build.sbt            |  17 ++
 .../experimental/scala-cleanup-app/build.sbt    |  17 ++
 .../scala-local-friend-recommendation/build.sbt |  17 ++
 .../scala-local-helloworld/build.sbt            |  17 ++
 .../scala-local-movielens-evaluation/build.sbt  |  16 ++
 .../scala-local-movielens-filtering/build.sbt   |  16 ++
 .../scala-local-regression/build.sbt            |  17 ++
 .../build.sbt                                   |  17 ++
 .../scala-parallel-recommendation-cat/build.sbt |  17 ++
 .../build.sbt                                   |  17 ++
 .../build.sbt                                   |  17 ++
 .../build.sbt                                   |  17 ++
 .../scala-parallel-regression/build.sbt         |  16 ++
 .../build.sbt                                   |  17 ++
 .../build.sbt                                   |  17 ++
 .../scala-parallel-trim-app/build.sbt           |  17 ++
 .../scala-recommendations/build.sbt             |  17 ++
 .../experimental/scala-refactor-test/build.sbt  |  17 ++
 examples/experimental/scala-stock/build.sbt     |  17 ++
 .../examples/stock/backtesting.scala.html       |  16 ++
 .../add-algorithm/build.sbt                     |  17 ++
 .../custom-attributes/build.sbt                 |  17 ++
 .../train-with-rate-event/build.sbt             |  17 ++
 .../weighted-items/build.sbt                    |  17 ++
 .../custom-prepartor/build.sbt                  |  17 ++
 .../custom-query/build.sbt                      |  17 ++
 .../custom-serving/build.sbt                    |  17 ++
 .../filter-by-category/build.sbt                |  17 ++
 .../add-and-return-item-properties/build.sbt    |  17 ++
 .../add-rateevent/build.sbt                     |  17 ++
 .../filterbyyear/build.sbt                      |  17 ++
 .../multi/build.sbt                             |  17 ++
 .../no-set-user/build.sbt                       |  17 ++
 .../recommended-user/build.sbt                  |  17 ++
 tests/.rat-excludes                             |  47 +++++
 tests/Dockerfile                                |  17 ++
 tests/after_script.travis.sh                    |  18 +-
 tests/before_script.travis.sh                   |  19 +-
 tests/check_license.sh                          |  58 ++++++
 tests/docker-files/env-conf/hbase-site.xml      |  16 ++
 tests/docker-files/env-conf/pio-env.sh          |  18 +-
 tests/docker-files/init.sh                      |  18 +-
 tests/pio_tests/__init__.py                     |  16 ++
 .../engines/recommendation-engine/build.sbt     |  17 ++
 .../src/main/scala/ALSAlgorithm.scala           |  17 ++
 .../src/main/scala/ALSModel.scala               |  17 ++
 .../src/main/scala/DataSource.scala             |  17 ++
 .../src/main/scala/Engine.scala                 |  17 ++
 .../src/main/scala/Evaluation.scala             |  17 ++
 .../src/main/scala/Preparator.scala             |  17 ++
 .../src/main/scala/Serving.scala                |  17 ++
 tests/pio_tests/globals.py                      |  17 ++
 tests/pio_tests/integration.py                  |  17 ++
 tests/pio_tests/scenarios/__init__.py           |  16 ++
 tests/pio_tests/scenarios/basic_app_usecases.py |  17 ++
 tests/pio_tests/scenarios/eventserver_test.py   |  17 ++
 tests/pio_tests/scenarios/quickstart_test.py    |  17 ++
 tests/pio_tests/tests.py                        |  17 ++
 tests/pio_tests/utils.py                        |  17 ++
 tests/run_docker.sh                             |  18 +-
 tests/script.travis.sh                          |  21 ++-
 .../tools/dashboard/index.scala.html            |  16 ++
 84 files changed, 1534 insertions(+), 111 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 411733f..e03468f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,22 @@
 # please add the following to your local git config:
 #   git config merge.ours.driver true
 ##########
+#
+# 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.
+#
 
 branches:
   only:

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/bin/semver.sh
----------------------------------------------------------------------
diff --git a/bin/semver.sh b/bin/semver.sh
index f6b0bd2..2ea64a9 100644
--- a/bin/semver.sh
+++ b/bin/semver.sh
@@ -1,5 +1,4 @@
 #!/usr/bin/env sh
-
 #
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
@@ -18,130 +17,126 @@
 #
 
 function semverParseInto() {
-    local RE='[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)'
-    #MAJOR
-    eval $2=`echo $1 | sed -e "s#$RE#\1#"`
-    #MINOR
-    eval $3=`echo $1 | sed -e "s#$RE#\2#"`
-    #MINOR
-    eval $4=`echo $1 | sed -e "s#$RE#\3#"`
-    #SPECIAL
-    eval $5=`echo $1 | sed -e "s#$RE#\4#"`
+  local RE='[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)'
+  #MAJOR
+  eval $2=`echo $1 | sed -e "s#$RE#\1#"`
+  #MINOR
+  eval $3=`echo $1 | sed -e "s#$RE#\2#"`
+  #MINOR
+  eval $4=`echo $1 | sed -e "s#$RE#\3#"`
+  #SPECIAL
+  eval $5=`echo $1 | sed -e "s#$RE#\4#"`
 }
 
 function semverEQ() {
-    local MAJOR_A=0
-    local MINOR_A=0
-    local PATCH_A=0
-    local SPECIAL_A=0
+  local MAJOR_A=0
+  local MINOR_A=0
+  local PATCH_A=0
+  local SPECIAL_A=0
+
+  local MAJOR_B=0
+  local MINOR_B=0
+  local PATCH_B=0
+  local SPECIAL_B=0
+
+  semverParseInto $1 MAJOR_A MINOR_A PATCH_A SPECIAL_A
+  semverParseInto $2 MAJOR_B MINOR_B PATCH_B SPECIAL_B
 
-    local MAJOR_B=0
-    local MINOR_B=0
-    local PATCH_B=0
-    local SPECIAL_B=0
+  if [ $MAJOR_A -ne $MAJOR_B ]; then
+    return 1
+  fi
+
+  if [ $MINOR_A -ne $MINOR_B ]; then
+    return 1
+  fi
 
-    semverParseInto $1 MAJOR_A MINOR_A PATCH_A SPECIAL_A
-    semverParseInto $2 MAJOR_B MINOR_B PATCH_B SPECIAL_B
+  if [ $PATCH_A -ne $PATCH_B ]; then
+    return 1
+  fi
 
-    if [ $MAJOR_A -ne $MAJOR_B ]; then
-        return 1
-    fi
+  if [[ "_$SPECIAL_A" != "_$SPECIAL_B" ]]; then
+    return 1
+  fi
 
-    if [ $MINOR_A -ne $MINOR_B ]; then
-        return 1
-    fi
+  return 0
+}
 
-    if [ $PATCH_A -ne $PATCH_B ]; then
-        return 1
-    fi
+function semverLT() {
+  local MAJOR_A=0
+  local MINOR_A=0
+  local PATCH_A=0
+  local SPECIAL_A=0
 
-    if [[ "_$SPECIAL_A" != "_$SPECIAL_B" ]]; then
-        return 1
-    fi
+  local MAJOR_B=0
+  local MINOR_B=0
+  local PATCH_B=0
+  local SPECIAL_B=0
 
+  semverParseInto $1 MAJOR_A MINOR_A PATCH_A SPECIAL_A
+  semverParseInto $2 MAJOR_B MINOR_B PATCH_B SPECIAL_B
 
+  if [ $MAJOR_A -lt $MAJOR_B ]; then
     return 0
+  fi
 
-}
+  if [[ $MAJOR_A -le $MAJOR_B  && $MINOR_A -lt $MINOR_B ]]; then
+    return 0
+  fi
 
-function semverLT() {
-    local MAJOR_A=0
-    local MINOR_A=0
-    local PATCH_A=0
-    local SPECIAL_A=0
-
-    local MAJOR_B=0
-    local MINOR_B=0
-    local PATCH_B=0
-    local SPECIAL_B=0
-
-    semverParseInto $1 MAJOR_A MINOR_A PATCH_A SPECIAL_A
-    semverParseInto $2 MAJOR_B MINOR_B PATCH_B SPECIAL_B
-
-    if [ $MAJOR_A -lt $MAJOR_B ]; then
-        return 0
-    fi
-
-    if [[ $MAJOR_A -le $MAJOR_B  && $MINOR_A -lt $MINOR_B ]]; then
-        return 0
-    fi
-
-    if [[ $MAJOR_A -le $MAJOR_B  && $MINOR_A -le $MINOR_B && $PATCH_A -lt $PATCH_B ]]; then
-        return 0
-    fi
-
-    if [[ "_$SPECIAL_A"  == "_" ]] && [[ "_$SPECIAL_B"  == "_" ]] ; then
-        return 1
-    fi
-    if [[ "_$SPECIAL_A"  == "_" ]] && [[ "_$SPECIAL_B"  != "_" ]] ; then
-        return 1
-    fi
-    if [[ "_$SPECIAL_A"  != "_" ]] && [[ "_$SPECIAL_B"  == "_" ]] ; then
-        return 0
-    fi
-
-    if [[ "_$SPECIAL_A" < "_$SPECIAL_B" ]]; then
-        return 0
-    fi
+  if [[ $MAJOR_A -le $MAJOR_B  && $MINOR_A -le $MINOR_B && $PATCH_A -lt $PATCH_B ]]; then
+    return 0
+  fi
 
+  if [[ "_$SPECIAL_A"  == "_" ]] && [[ "_$SPECIAL_B"  == "_" ]] ; then
+    return 1
+  fi
+  if [[ "_$SPECIAL_A"  == "_" ]] && [[ "_$SPECIAL_B"  != "_" ]] ; then
     return 1
+  fi
+  if [[ "_$SPECIAL_A"  != "_" ]] && [[ "_$SPECIAL_B"  == "_" ]] ; then
+    return 0
+  fi
+
+  if [[ "_$SPECIAL_A" < "_$SPECIAL_B" ]]; then
+    return 0
+  fi
+
+  return 1
 
 }
 
 function semverGT() {
-    semverEQ $1 $2
-    local EQ=$?
+  semverEQ $1 $2
+  local EQ=$?
 
-    semverLT $1 $2
-    local LT=$?
+  semverLT $1 $2
+  local LT=$?
 
-    if [ $EQ -ne 0 ] && [ $LT -ne 0 ]; then
-        return 0
-    else
-        return 1
-    fi
+  if [ $EQ -ne 0 ] && [ $LT -ne 0 ]; then
+    return 0
+  else
+    return 1
+  fi
 }
 
 if [ "___semver.sh" == "___`basename $0`" ]; then
+  MAJOR=0
+  MINOR=0
+  PATCH=0
+  SPECIAL=""
 
-MAJOR=0
-MINOR=0
-PATCH=0
-SPECIAL=""
-
-semverParseInto $1 MAJOR MINOR PATCH SPECIAL
-echo "$1 -> M: $MAJOR m:$MINOR p:$PATCH s:$SPECIAL"
-
-semverParseInto $2 MAJOR MINOR PATCH SPECIAL
-echo "$2 -> M: $MAJOR m:$MINOR p:$PATCH s:$SPECIAL"
+  semverParseInto $1 MAJOR MINOR PATCH SPECIAL
+  echo "$1 -> M: $MAJOR m:$MINOR p:$PATCH s:$SPECIAL"
 
-semverEQ $1 $2
-echo "$1 == $2 -> $?."
+  semverParseInto $2 MAJOR MINOR PATCH SPECIAL
+  echo "$2 -> M: $MAJOR m:$MINOR p:$PATCH s:$SPECIAL"
 
-semverLT $1 $2
-echo "$1 < $2 -> $?."
+  semverEQ $1 $2
+  echo "$1 == $2 -> $?."
 
-semverGT $1 $2
-echo "$1 > $2 -> $?."
+  semverLT $1 $2
+  echo "$1 < $2 -> $?."
 
+  semverGT $1 $2
+  echo "$1 > $2 -> $?."
 fi

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/conf/pio-env.sh.template
----------------------------------------------------------------------
diff --git a/conf/pio-env.sh.template b/conf/pio-env.sh.template
index 5d2753c..a06cd8e 100644
--- a/conf/pio-env.sh.template
+++ b/conf/pio-env.sh.template
@@ -1,5 +1,6 @@
 #!/usr/bin/env bash
-
+#
+# Copy this file as pio-env.sh and edit it for your site's configuration.
 #
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
@@ -17,8 +18,6 @@
 # limitations under the License.
 #
 
-# Copy this file as pio-env.sh and edit it for your site's configuration.
-
 # PredictionIO Main Configuration
 #
 # This section controls core behavior of PredictionIO. It is very likely that

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/conf/pio-env.sh.travis
----------------------------------------------------------------------
diff --git a/conf/pio-env.sh.travis b/conf/pio-env.sh.travis
index 7a5a221..94b30cd 100644
--- a/conf/pio-env.sh.travis
+++ b/conf/pio-env.sh.travis
@@ -1,6 +1,7 @@
 #!/usr/bin/env bash
-
-
+#
+# Copy this file as pio-env.sh and edit it for your site's configuration.
+#
 # 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.
@@ -15,8 +16,7 @@
 # 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.
-
-# Copy this file as pio-env.sh and edit it for your site's configuration.
+#
 
 # PredictionIO Main Configuration
 #

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/core/src/main/twirl/org/apache/predictionio/controller/metric_evaluator.scala.html
----------------------------------------------------------------------
diff --git a/core/src/main/twirl/org/apache/predictionio/controller/metric_evaluator.scala.html b/core/src/main/twirl/org/apache/predictionio/controller/metric_evaluator.scala.html
index 2e679a5..145fbdd 100644
--- a/core/src/main/twirl/org/apache/predictionio/controller/metric_evaluator.scala.html
+++ b/core/src/main/twirl/org/apache/predictionio/controller/metric_evaluator.scala.html
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <html>
   <head>
     <script type='text/javascript' src='https://www.google.com/jsapi'></script>

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/core/src/main/twirl/org/apache/predictionio/workflow/index.scala.html
----------------------------------------------------------------------
diff --git a/core/src/main/twirl/org/apache/predictionio/workflow/index.scala.html b/core/src/main/twirl/org/apache/predictionio/workflow/index.scala.html
index 5a3894f..a28e649 100644
--- a/core/src/main/twirl/org/apache/predictionio/workflow/index.scala.html
+++ b/core/src/main/twirl/org/apache/predictionio/workflow/index.scala.html
@@ -21,6 +21,22 @@
   lastServingSec: Double
   )
 <!DOCTYPE html>
+<!--
+  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.
+-->
 <html lang="en">
   <head>
     <title>@{engineInstance.engineFactory} (@{engineInstance.engineVariant}) - PredictionIO Engine Server at @{args.ip}:@{args.port}</title>

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/javadoc/javadoc-overview.html
----------------------------------------------------------------------
diff --git a/docs/javadoc/javadoc-overview.html b/docs/javadoc/javadoc-overview.html
index 8561f1e..7eb78ec 100644
--- a/docs/javadoc/javadoc-overview.html
+++ b/docs/javadoc/javadoc-overview.html
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <body>
   <h1>
     PredictionIO API Documentation

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/Gemfile
----------------------------------------------------------------------
diff --git a/docs/manual/Gemfile b/docs/manual/Gemfile
index f4df6bc..10a6ccf 100644
--- a/docs/manual/Gemfile
+++ b/docs/manual/Gemfile
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 source 'https://rubygems.org'
 
 gem 'middleman', '~> 3.3.10'

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/Rakefile
----------------------------------------------------------------------
diff --git a/docs/manual/Rakefile b/docs/manual/Rakefile
index dc1a183..6ac1473 100644
--- a/docs/manual/Rakefile
+++ b/docs/manual/Rakefile
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 require 'middleman'
 require 'nokogiri'
 require 'rainbow/ext/string'

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/config.rb
----------------------------------------------------------------------
diff --git a/docs/manual/config.rb b/docs/manual/config.rb
index 68982dc..14cf91a 100644
--- a/docs/manual/config.rb
+++ b/docs/manual/config.rb
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 require 'lib/custom_renderer'
 require 'lib/gallery_generator'
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/helpers/application_helpers.rb
----------------------------------------------------------------------
diff --git a/docs/manual/helpers/application_helpers.rb b/docs/manual/helpers/application_helpers.rb
index a20ea54..c606536 100644
--- a/docs/manual/helpers/application_helpers.rb
+++ b/docs/manual/helpers/application_helpers.rb
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 module ApplicationHelpers
   def page_title
     if current_page.data.title

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/helpers/breadcrumb_helpers.rb
----------------------------------------------------------------------
diff --git a/docs/manual/helpers/breadcrumb_helpers.rb b/docs/manual/helpers/breadcrumb_helpers.rb
index f69ee15..3dfbd4a 100644
--- a/docs/manual/helpers/breadcrumb_helpers.rb
+++ b/docs/manual/helpers/breadcrumb_helpers.rb
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 require 'rainbow/ext/string'
 
 module BreadcrumbHelpers

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/helpers/icon_helpers.rb
----------------------------------------------------------------------
diff --git a/docs/manual/helpers/icon_helpers.rb b/docs/manual/helpers/icon_helpers.rb
index 3d4c63f..1597b2f 100644
--- a/docs/manual/helpers/icon_helpers.rb
+++ b/docs/manual/helpers/icon_helpers.rb
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 module IconHelpers
   def icon(name)
     if name.nil?

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/helpers/table_of_contents_helpers.rb
----------------------------------------------------------------------
diff --git a/docs/manual/helpers/table_of_contents_helpers.rb b/docs/manual/helpers/table_of_contents_helpers.rb
index 0819b35..bfd4528 100644
--- a/docs/manual/helpers/table_of_contents_helpers.rb
+++ b/docs/manual/helpers/table_of_contents_helpers.rb
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 module TableOfContentsHelpers
   def table_of_contents(resource)
     content = remove_front_matter_data(File.read(resource.source_file))

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/helpers/url_helpers.rb
----------------------------------------------------------------------
diff --git a/docs/manual/helpers/url_helpers.rb b/docs/manual/helpers/url_helpers.rb
index f6f63a4..0577e7b 100644
--- a/docs/manual/helpers/url_helpers.rb
+++ b/docs/manual/helpers/url_helpers.rb
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 module UrlHelpers
   def absolute_url(path)
     URI::Generic.build(

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/lib/custom_renderer.rb
----------------------------------------------------------------------
diff --git a/docs/manual/lib/custom_renderer.rb b/docs/manual/lib/custom_renderer.rb
index 9a9649e..a525eea 100644
--- a/docs/manual/lib/custom_renderer.rb
+++ b/docs/manual/lib/custom_renderer.rb
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 require 'middleman-core/renderers/redcarpet'
 
 class CustomRenderer < Middleman::Renderers::MiddlemanRedcarpetHTML

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/lib/gallery_generator.rb
----------------------------------------------------------------------
diff --git a/docs/manual/lib/gallery_generator.rb b/docs/manual/lib/gallery_generator.rb
index f230c14..351a381 100644
--- a/docs/manual/lib/gallery_generator.rb
+++ b/docs/manual/lib/gallery_generator.rb
@@ -1,3 +1,20 @@
+#
+# 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.
+#
+
 require 'yaml'
 require 'uri'
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/docs/manual/source/github.html
----------------------------------------------------------------------
diff --git a/docs/manual/source/github.html b/docs/manual/source/github.html
index 8edac29..9fe96e7 100644
--- a/docs/manual/source/github.html
+++ b/docs/manual/source/github.html
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 ---
 layout: raw
 ---

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/java-local-helloworld/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/java-local-helloworld/build.sbt b/examples/experimental/java-local-helloworld/build.sbt
index 198a6d9..b246d7f 100644
--- a/examples/experimental/java-local-helloworld/build.sbt
+++ b/examples/experimental/java-local-helloworld/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/java-local-regression/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/java-local-regression/build.sbt b/examples/experimental/java-local-regression/build.sbt
index dc4100b..92d7416 100644
--- a/examples/experimental/java-local-regression/build.sbt
+++ b/examples/experimental/java-local-regression/build.sbt
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 
 import AssemblyKeys._
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/java-local-tutorial/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/java-local-tutorial/build.sbt b/examples/experimental/java-local-tutorial/build.sbt
index b7a4ccd..077fa0c 100644
--- a/examples/experimental/java-local-tutorial/build.sbt
+++ b/examples/experimental/java-local-tutorial/build.sbt
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 
 import AssemblyKeys._
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/java-parallel-helloworld/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/java-parallel-helloworld/build.sbt b/examples/experimental/java-parallel-helloworld/build.sbt
index 46c1306..ea89b68 100644
--- a/examples/experimental/java-parallel-helloworld/build.sbt
+++ b/examples/experimental/java-parallel-helloworld/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/java-parallel-helloworld/src/main/java/parallel/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/java-parallel-helloworld/src/main/java/parallel/build.sbt b/examples/experimental/java-parallel-helloworld/src/main/java/parallel/build.sbt
index 1b3ac2d..56dd2ba 100644
--- a/examples/experimental/java-parallel-helloworld/src/main/java/parallel/build.sbt
+++ b/examples/experimental/java-parallel-helloworld/src/main/java/parallel/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-cleanup-app/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-cleanup-app/build.sbt b/examples/experimental/scala-cleanup-app/build.sbt
index 82ce614..d7ba8a6 100644
--- a/examples/experimental/scala-cleanup-app/build.sbt
+++ b/examples/experimental/scala-cleanup-app/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-local-friend-recommendation/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/build.sbt b/examples/experimental/scala-local-friend-recommendation/build.sbt
index 659f345..63ff005 100644
--- a/examples/experimental/scala-local-friend-recommendation/build.sbt
+++ b/examples/experimental/scala-local-friend-recommendation/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-local-helloworld/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-helloworld/build.sbt b/examples/experimental/scala-local-helloworld/build.sbt
index 579a8ee..df7ba52 100644
--- a/examples/experimental/scala-local-helloworld/build.sbt
+++ b/examples/experimental/scala-local-helloworld/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-local-movielens-evaluation/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-movielens-evaluation/build.sbt b/examples/experimental/scala-local-movielens-evaluation/build.sbt
index 156bab7..ea04235 100644
--- a/examples/experimental/scala-local-movielens-evaluation/build.sbt
+++ b/examples/experimental/scala-local-movielens-evaluation/build.sbt
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 
 import AssemblyKeys._
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-local-movielens-filtering/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-movielens-filtering/build.sbt b/examples/experimental/scala-local-movielens-filtering/build.sbt
index 04d59ad..699c90c 100644
--- a/examples/experimental/scala-local-movielens-filtering/build.sbt
+++ b/examples/experimental/scala-local-movielens-filtering/build.sbt
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 
 import AssemblyKeys._
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-local-regression/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-regression/build.sbt b/examples/experimental/scala-local-regression/build.sbt
index 67c1977..4db53c6 100644
--- a/examples/experimental/scala-local-regression/build.sbt
+++ b/examples/experimental/scala-local-regression/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-parallel-friend-recommendation/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-friend-recommendation/build.sbt b/examples/experimental/scala-parallel-friend-recommendation/build.sbt
index 63a1734..57156cd 100644
--- a/examples/experimental/scala-parallel-friend-recommendation/build.sbt
+++ b/examples/experimental/scala-parallel-friend-recommendation/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-parallel-recommendation-cat/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-cat/build.sbt b/examples/experimental/scala-parallel-recommendation-cat/build.sbt
index c402953..3ff8d27 100644
--- a/examples/experimental/scala-parallel-recommendation-cat/build.sbt
+++ b/examples/experimental/scala-parallel-recommendation-cat/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-parallel-recommendation-custom-datasource/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-custom-datasource/build.sbt b/examples/experimental/scala-parallel-recommendation-custom-datasource/build.sbt
index 5065433..91e94f2 100644
--- a/examples/experimental/scala-parallel-recommendation-custom-datasource/build.sbt
+++ b/examples/experimental/scala-parallel-recommendation-custom-datasource/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-parallel-recommendation-entitymap/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-entitymap/build.sbt b/examples/experimental/scala-parallel-recommendation-entitymap/build.sbt
index 5065433..91e94f2 100644
--- a/examples/experimental/scala-parallel-recommendation-entitymap/build.sbt
+++ b/examples/experimental/scala-parallel-recommendation-entitymap/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-parallel-recommendation-mongo-datasource/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-mongo-datasource/build.sbt b/examples/experimental/scala-parallel-recommendation-mongo-datasource/build.sbt
index 5f173fa..c2b4242 100644
--- a/examples/experimental/scala-parallel-recommendation-mongo-datasource/build.sbt
+++ b/examples/experimental/scala-parallel-recommendation-mongo-datasource/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-parallel-regression/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-regression/build.sbt b/examples/experimental/scala-parallel-regression/build.sbt
index 1fa5433..e053ba8 100644
--- a/examples/experimental/scala-parallel-regression/build.sbt
+++ b/examples/experimental/scala-parallel-regression/build.sbt
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 
 import AssemblyKeys._
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-parallel-similarproduct-dimsum/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-dimsum/build.sbt b/examples/experimental/scala-parallel-similarproduct-dimsum/build.sbt
index 95c7280..5ef8f87 100644
--- a/examples/experimental/scala-parallel-similarproduct-dimsum/build.sbt
+++ b/examples/experimental/scala-parallel-similarproduct-dimsum/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-parallel-similarproduct-localmodel/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-localmodel/build.sbt b/examples/experimental/scala-parallel-similarproduct-localmodel/build.sbt
index 2d8306e..87207e1 100644
--- a/examples/experimental/scala-parallel-similarproduct-localmodel/build.sbt
+++ b/examples/experimental/scala-parallel-similarproduct-localmodel/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-parallel-trim-app/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-trim-app/build.sbt b/examples/experimental/scala-parallel-trim-app/build.sbt
index 5ffa78f..fdce0d6 100644
--- a/examples/experimental/scala-parallel-trim-app/build.sbt
+++ b/examples/experimental/scala-parallel-trim-app/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-recommendations/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-recommendations/build.sbt b/examples/experimental/scala-recommendations/build.sbt
index 4b067bf..bda1930 100644
--- a/examples/experimental/scala-recommendations/build.sbt
+++ b/examples/experimental/scala-recommendations/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-refactor-test/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-refactor-test/build.sbt b/examples/experimental/scala-refactor-test/build.sbt
index 8e2b24b..c3935fe 100644
--- a/examples/experimental/scala-refactor-test/build.sbt
+++ b/examples/experimental/scala-refactor-test/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-stock/build.sbt
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-stock/build.sbt b/examples/experimental/scala-stock/build.sbt
index cfc580f..d12157f 100644
--- a/examples/experimental/scala-stock/build.sbt
+++ b/examples/experimental/scala-stock/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/experimental/scala-stock/src/main/twirl/io/prediction/examples/stock/backtesting.scala.html
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-stock/src/main/twirl/io/prediction/examples/stock/backtesting.scala.html b/examples/experimental/scala-stock/src/main/twirl/io/prediction/examples/stock/backtesting.scala.html
index 80c796a..ad0552f 100644
--- a/examples/experimental/scala-stock/src/main/twirl/io/prediction/examples/stock/backtesting.scala.html
+++ b/examples/experimental/scala-stock/src/main/twirl/io/prediction/examples/stock/backtesting.scala.html
@@ -1,4 +1,20 @@
 @import org.apache.predictionio.examples.stock.BacktestingResult
+<!--
+  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.
+-->
 <html>
   <head>
     <script type='text/javascript' src='http://www.google.com/jsapi'></script>

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-classification/add-algorithm/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/add-algorithm/build.sbt b/examples/scala-parallel-classification/add-algorithm/build.sbt
index 30d0ccc..98bf136 100644
--- a/examples/scala-parallel-classification/add-algorithm/build.sbt
+++ b/examples/scala-parallel-classification/add-algorithm/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-classification/custom-attributes/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/custom-attributes/build.sbt b/examples/scala-parallel-classification/custom-attributes/build.sbt
index fc16e53..0f219d1 100644
--- a/examples/scala-parallel-classification/custom-attributes/build.sbt
+++ b/examples/scala-parallel-classification/custom-attributes/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/build.sbt b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/build.sbt
index 650c7c3..956f79b 100644
--- a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/build.sbt
+++ b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-ecommercerecommendation/weighted-items/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/weighted-items/build.sbt b/examples/scala-parallel-ecommercerecommendation/weighted-items/build.sbt
index 650c7c3..956f79b 100644
--- a/examples/scala-parallel-ecommercerecommendation/weighted-items/build.sbt
+++ b/examples/scala-parallel-ecommercerecommendation/weighted-items/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-recommendation/custom-prepartor/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-prepartor/build.sbt b/examples/scala-parallel-recommendation/custom-prepartor/build.sbt
index 191f575..4b90f03 100644
--- a/examples/scala-parallel-recommendation/custom-prepartor/build.sbt
+++ b/examples/scala-parallel-recommendation/custom-prepartor/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-recommendation/custom-query/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-query/build.sbt b/examples/scala-parallel-recommendation/custom-query/build.sbt
index 0177e29..1a18607 100644
--- a/examples/scala-parallel-recommendation/custom-query/build.sbt
+++ b/examples/scala-parallel-recommendation/custom-query/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-recommendation/custom-serving/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-serving/build.sbt b/examples/scala-parallel-recommendation/custom-serving/build.sbt
index de3bac1..81cd3ec 100644
--- a/examples/scala-parallel-recommendation/custom-serving/build.sbt
+++ b/examples/scala-parallel-recommendation/custom-serving/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-recommendation/filter-by-category/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/filter-by-category/build.sbt b/examples/scala-parallel-recommendation/filter-by-category/build.sbt
index de3bac1..81cd3ec 100644
--- a/examples/scala-parallel-recommendation/filter-by-category/build.sbt
+++ b/examples/scala-parallel-recommendation/filter-by-category/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-similarproduct/add-and-return-item-properties/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-and-return-item-properties/build.sbt b/examples/scala-parallel-similarproduct/add-and-return-item-properties/build.sbt
index 62b1b9b..ef66b2f 100644
--- a/examples/scala-parallel-similarproduct/add-and-return-item-properties/build.sbt
+++ b/examples/scala-parallel-similarproduct/add-and-return-item-properties/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-similarproduct/add-rateevent/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-rateevent/build.sbt b/examples/scala-parallel-similarproduct/add-rateevent/build.sbt
index 62b1b9b..ef66b2f 100644
--- a/examples/scala-parallel-similarproduct/add-rateevent/build.sbt
+++ b/examples/scala-parallel-similarproduct/add-rateevent/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-similarproduct/filterbyyear/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/filterbyyear/build.sbt b/examples/scala-parallel-similarproduct/filterbyyear/build.sbt
index 292fa97..1680f6b 100644
--- a/examples/scala-parallel-similarproduct/filterbyyear/build.sbt
+++ b/examples/scala-parallel-similarproduct/filterbyyear/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-similarproduct/multi/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/multi/build.sbt b/examples/scala-parallel-similarproduct/multi/build.sbt
index ea02365..da8b97a 100644
--- a/examples/scala-parallel-similarproduct/multi/build.sbt
+++ b/examples/scala-parallel-similarproduct/multi/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-similarproduct/no-set-user/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/no-set-user/build.sbt b/examples/scala-parallel-similarproduct/no-set-user/build.sbt
index 62b1b9b..ef66b2f 100644
--- a/examples/scala-parallel-similarproduct/no-set-user/build.sbt
+++ b/examples/scala-parallel-similarproduct/no-set-user/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 import AssemblyKeys._
 
 assemblySettings

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/examples/scala-parallel-similarproduct/recommended-user/build.sbt
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/recommended-user/build.sbt b/examples/scala-parallel-similarproduct/recommended-user/build.sbt
index 9d6dfe4..ef4f5a8 100644
--- a/examples/scala-parallel-similarproduct/recommended-user/build.sbt
+++ b/examples/scala-parallel-similarproduct/recommended-user/build.sbt
@@ -1,3 +1,20 @@
+/*
+ * 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.
+ */
+
 assemblySettings
 
 name := "template-scala-parallel-recommendeduser"

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/19a8739c/tests/.rat-excludes
----------------------------------------------------------------------
diff --git a/tests/.rat-excludes b/tests/.rat-excludes
new file mode 100644
index 0000000..f21d112
--- /dev/null
+++ b/tests/.rat-excludes
@@ -0,0 +1,47 @@
+RELEASE
+KEYS
+spark-env.sh
+.gitignore
+.gitattributes
+.rat-excludes
+.project
+sbt-launch-lib.bash
+plugins.sbt
+build.properties
+eventserver.pid
+application.conf
+assembly.sbt
+pio-build.sbt
+pio.sbt
+unidoc.sbt
+spark-defaults.conf
+Gemfile.lock
+templates.yaml
+
+PredictionIO-.*/*
+bower_components/*
+target/*
+source/*
+test-reports/*
+dist/*
+vendors/*
+.logs/*
+sbt/*
+
+.*md
+.*md.erb
+.*slim
+.*eps
+.*txt
+.*svg
+.*jks
+.*json
+.*log
+.*template
+.*js
+.*css
+.*map
+.*data
+.*csv
+.*Driver
+.*rst