I was following Elasticsearch document (https://www.elastic.co/guide/en/logstash/current/java-filter-plugin.html) to write a Java filter plugin for Logtash. Somehow, I could not even get the provided example work. I stuck at " ./gradlew gem" stage. Here is the error message:
FAILURE: Build failed with an exception.
** Where:*
Build file '/Users/taoli/Documents/java_code/logstash-filter-java_filter_example/build.gradle' line: 102
** What went wrong:*
A problem occurred configuring root project 'logstash-filter-java_filter_example'.
> Could not create task ':gem'.
> No signature of method: org.gradle.api.internal.tasks.DefaultTaskDependency$TaskDependencySet.getAt() is applicable for argument types: (ArrayList) values: [[task ':downloadAndInstallJRuby', task ':removeObsoleteJars', ...]]
Possible solutions: getAt(int), getAt(java.lang.String), getAt(java.lang.String), head(), putAt(java.lang.String, java.lang.Object), wait()
I have plugin project and Logstash project in two different folders, and added gradle.properties file in the plugin project with value
LOGSTASH_CORE_PATH=/Users/taoli/Documents/java_code/logstash_src/logstash-core
I suspect that in build.gradle file, something wrong with this line:
apply from: LOGSTASH_CORE_PATH + "/../rubyUtils.gradle"
Because when I tried with "./gradlew build", it complained that it could not find all Logstash api methods.