diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml
index 13207b9d945e..1bd04208e56c 100644
--- a/benchmarks/pom.xml
+++ b/benchmarks/pom.xml
@@ -92,7 +92,7 @@ THE POSSIBILITY OF SUCH DAMAGE.
1.11.3
1.8
pipeline-benchmarks
- 2.0.0-alpha.2-SNAPSHOT
+ 2.0.0-alpha.3-SNAPSHOT
@@ -107,6 +107,10 @@ THE POSSIBILITY OF SUCH DAMAGE.
${javac.target}
+
+ com.mycila
+ license-maven-plugin
+
org.apache.maven.plugins
maven-shade-plugin
@@ -182,6 +186,32 @@ THE POSSIBILITY OF SUCH DAMAGE.
maven-surefire-plugin
2.17
+
+ com.mycila
+ license-maven-plugin
+ 2.11
+
+ com/mycila/maven/plugin/license/templates/GPL-3.txt
+
+ ${project.organization.name}
+ Graylog
+
+
+ **/src/main/java/**
+ **/src/test/java/**
+
+
+ graylog2-web-interface/plugin/**
+
+
+
+
+
+ check
+
+
+
+
diff --git a/benchmarks/src/main/java/org/graylog/benchmarks/pipeline/PipelineBenchmark.java b/benchmarks/src/main/java/org/graylog/benchmarks/pipeline/PipelineBenchmark.java
index 1f322f8abb08..e099832696a1 100644
--- a/benchmarks/src/main/java/org/graylog/benchmarks/pipeline/PipelineBenchmark.java
+++ b/benchmarks/src/main/java/org/graylog/benchmarks/pipeline/PipelineBenchmark.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog.
+ *
+ * Graylog is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog. If not, see .
+ */
/**
* This file is part of Graylog Pipeline Processor.
*
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/ast/functions/AbstractFunction.java b/src/main/java/org/graylog/plugins/pipelineprocessor/ast/functions/AbstractFunction.java
index 47fb994b1552..c668f2e07628 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/ast/functions/AbstractFunction.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/ast/functions/AbstractFunction.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.ast.functions;
import org.graylog.plugins.pipelineprocessor.EvaluationContext;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/json/JsonParse.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/json/JsonParse.java
index 7e614e3f2e08..c887a7951c16 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/json/JsonParse.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/json/JsonParse.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.json;
import com.fasterxml.jackson.databind.JsonNode;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/json/SelectJsonPath.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/json/SelectJsonPath.java
index 416c16ead768..9d7e1dab7981 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/json/SelectJsonPath.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/json/SelectJsonPath.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.json;
import com.fasterxml.jackson.databind.JsonNode;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/messages/SetFields.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/messages/SetFields.java
index e481006ccb98..2229fc279bde 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/messages/SetFields.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/messages/SetFields.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.messages;
import org.graylog.plugins.pipelineprocessor.EvaluationContext;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Abbreviate.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Abbreviate.java
index dfb2cb407689..2386904caeee 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Abbreviate.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Abbreviate.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.strings;
import com.google.common.collect.ImmutableList;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Capitalize.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Capitalize.java
index 6fe306475685..cc3e85ac13ba 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Capitalize.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Capitalize.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.strings;
import org.apache.commons.lang3.StringUtils;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Lowercase.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Lowercase.java
index 49599ca42f88..f03609918737 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Lowercase.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Lowercase.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.strings;
import org.apache.commons.lang3.StringUtils;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/RegexMatch.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/RegexMatch.java
index 528e73d77cc7..c0dce7fa6d31 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/RegexMatch.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/RegexMatch.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.strings;
import com.google.common.collect.ForwardingMap;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/StringUtilsFunction.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/StringUtilsFunction.java
index fda942b00e1a..ba4df872f882 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/StringUtilsFunction.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/StringUtilsFunction.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.strings;
import com.google.common.collect.ImmutableList;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/SwapCase.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/SwapCase.java
index a220a14c7531..5e13b25a67ad 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/SwapCase.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/SwapCase.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.strings;
import org.apache.commons.lang3.StringUtils;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Uncapitalize.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Uncapitalize.java
index 57c39d72cdcf..e1dc73994992 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Uncapitalize.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Uncapitalize.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.strings;
import org.apache.commons.lang3.StringUtils;
diff --git a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Uppercase.java b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Uppercase.java
index b64eb516fcbb..32396cb9bbf7 100644
--- a/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Uppercase.java
+++ b/src/main/java/org/graylog/plugins/pipelineprocessor/functions/strings/Uppercase.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions.strings;
import org.apache.commons.lang3.StringUtils;
diff --git a/src/test/java/org/graylog/plugins/pipelineprocessor/BaseParserTest.java b/src/test/java/org/graylog/plugins/pipelineprocessor/BaseParserTest.java
index 15a50ca31be8..35d6772c2416 100644
--- a/src/test/java/org/graylog/plugins/pipelineprocessor/BaseParserTest.java
+++ b/src/test/java/org/graylog/plugins/pipelineprocessor/BaseParserTest.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor;
import com.google.common.base.Charsets;
diff --git a/src/test/java/org/graylog/plugins/pipelineprocessor/functions/FunctionsSnippetsTest.java b/src/test/java/org/graylog/plugins/pipelineprocessor/functions/FunctionsSnippetsTest.java
index 9721c5c98d98..f9a95bbde5f4 100644
--- a/src/test/java/org/graylog/plugins/pipelineprocessor/functions/FunctionsSnippetsTest.java
+++ b/src/test/java/org/graylog/plugins/pipelineprocessor/functions/FunctionsSnippetsTest.java
@@ -1,3 +1,19 @@
+/**
+ * This file is part of Graylog Pipeline Processor.
+ *
+ * Graylog Pipeline Processor is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Graylog Pipeline Processor is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Graylog Pipeline Processor. If not, see .
+ */
package org.graylog.plugins.pipelineprocessor.functions;
import com.fasterxml.jackson.databind.ObjectMapper;