remove attempt to get ruby in scripting, problems embedding it...
This commit is contained in:
parent
e0488fa87e
commit
503b023eac
|
@ -10,7 +10,6 @@
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules/plugin-lang-groovy.iml" filepath="$PROJECT_DIR$/.idea/modules/plugin-lang-groovy.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/plugin-lang-groovy.iml" filepath="$PROJECT_DIR$/.idea/modules/plugin-lang-groovy.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-lang-javascript.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-lang-javascript.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-lang-javascript.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-lang-javascript.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-lang-python.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-lang-python.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-lang-python.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-lang-python.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-lang-ruby.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-lang-ruby.iml" />
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-mapper-attachments.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-mapper-attachments.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-mapper-attachments.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-mapper-attachments.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-river-couchdb.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-river-couchdb.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-river-couchdb.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-river-couchdb.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-river-rabbitmq.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-river-rabbitmq.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules//plugin-river-rabbitmq.iml" filepath="$PROJECT_DIR$/.idea/modules//plugin-river-rabbitmq.iml" />
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="JAVA_MODULE" version="4">
|
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="false">
|
|
||||||
<output url="file://$MODULE_DIR$/../../plugins/lang/ruby/build/classes/main" />
|
|
||||||
<output-test url="file://$MODULE_DIR$/../../plugins/lang/ruby/build/classes/test" />
|
|
||||||
<exclude-output />
|
|
||||||
<content url="file://$MODULE_DIR$/../../plugins/lang/ruby">
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/../../plugins/lang/ruby/src/main/java" isTestSource="false" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/../../plugins/lang/ruby/src/test/java" isTestSource="true" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/../../plugins/lang/ruby/build" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
<orderEntry type="module" module-name="elasticsearch" />
|
|
||||||
<orderEntry type="module-library">
|
|
||||||
<library name="jruby">
|
|
||||||
<CLASSES>
|
|
||||||
<root url="jar://$GRADLE_REPOSITORY$/org.jruby/jruby-complete/jars/jruby-complete-1.5.3.jar!/" />
|
|
||||||
</CLASSES>
|
|
||||||
<JAVADOC />
|
|
||||||
<SOURCES />
|
|
||||||
</library>
|
|
||||||
</orderEntry>
|
|
||||||
<orderEntry type="module" module-name="test-testng" scope="TEST" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="testng" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="hamcrest" level="project" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
|
|
|
@ -1,145 +0,0 @@
|
||||||
dependsOn(':elasticsearch')
|
|
||||||
|
|
||||||
apply plugin: 'java'
|
|
||||||
apply plugin: 'maven'
|
|
||||||
|
|
||||||
archivesBaseName = "elasticsearch-lang-ruby"
|
|
||||||
|
|
||||||
explodedDistDir = new File(distsDir, 'exploded')
|
|
||||||
|
|
||||||
configurations.compile.transitive = true
|
|
||||||
configurations.testCompile.transitive = true
|
|
||||||
|
|
||||||
// no need to use the resource dir
|
|
||||||
sourceSets.main.resources.srcDirs 'src/main/java'
|
|
||||||
sourceSets.test.resources.srcDirs 'src/test/java'
|
|
||||||
|
|
||||||
// add the source files to the dist jar
|
|
||||||
//jar {
|
|
||||||
// from sourceSets.main.allSource
|
|
||||||
//}
|
|
||||||
|
|
||||||
configurations {
|
|
||||||
dists
|
|
||||||
distLib {
|
|
||||||
visible = false
|
|
||||||
transitive = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compile project(':elasticsearch')
|
|
||||||
|
|
||||||
compile('org.jruby:jruby-complete:1.5.3')
|
|
||||||
distLib('org.jruby:jruby-complete:1.5.3') { transitive = false }
|
|
||||||
|
|
||||||
testCompile project(':test-testng')
|
|
||||||
testCompile('org.testng:testng:5.10:jdk15') { transitive = false }
|
|
||||||
testCompile 'org.hamcrest:hamcrest-all:1.1'
|
|
||||||
}
|
|
||||||
|
|
||||||
test {
|
|
||||||
useTestNG()
|
|
||||||
jmvArgs = ["-ea", "-Xmx1024m"]
|
|
||||||
suiteName = project.name
|
|
||||||
listeners = ["org.elasticsearch.util.testng.Listeners"]
|
|
||||||
systemProperties["es.test.log.conf"] = System.getProperty("es.test.log.conf", "log4j-gradle.properties")
|
|
||||||
}
|
|
||||||
|
|
||||||
task explodedDist(dependsOn: [jar], description: 'Builds the plugin zip file') << {
|
|
||||||
[explodedDistDir]*.mkdirs()
|
|
||||||
|
|
||||||
copy {
|
|
||||||
from configurations.distLib
|
|
||||||
into explodedDistDir
|
|
||||||
}
|
|
||||||
|
|
||||||
// remove elasticsearch files (compile above adds the elasticsearch one)
|
|
||||||
ant.delete { fileset(dir: explodedDistDir, includes: "elasticsearch-*.jar") }
|
|
||||||
|
|
||||||
copy {
|
|
||||||
from libsDir
|
|
||||||
into explodedDistDir
|
|
||||||
}
|
|
||||||
|
|
||||||
ant.delete { fileset(dir: explodedDistDir, includes: "elasticsearch-*-javadoc.jar") }
|
|
||||||
ant.delete { fileset(dir: explodedDistDir, includes: "elasticsearch-*-sources.jar") }
|
|
||||||
}
|
|
||||||
|
|
||||||
task zip(type: Zip, dependsOn: ['explodedDist']) {
|
|
||||||
from(explodedDistDir) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task release(dependsOn: [zip]) << {
|
|
||||||
ant.delete(dir: explodedDistDir)
|
|
||||||
copy {
|
|
||||||
from distsDir
|
|
||||||
into(new File(rootProject.distsDir, "plugins"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
configurations {
|
|
||||||
deployerJars
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
deployerJars "org.apache.maven.wagon:wagon-http:1.0-beta-2"
|
|
||||||
}
|
|
||||||
|
|
||||||
task sourcesJar(type: Jar, dependsOn: classes) {
|
|
||||||
classifier = 'sources'
|
|
||||||
from sourceSets.main.allSource
|
|
||||||
}
|
|
||||||
|
|
||||||
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
||||||
classifier = 'javadoc'
|
|
||||||
from javadoc.destinationDir
|
|
||||||
}
|
|
||||||
|
|
||||||
jar {
|
|
||||||
// from sourceSets.main.allJava
|
|
||||||
manifest {
|
|
||||||
attributes("Implementation-Title": "ElasticSearch", "Implementation-Version": rootProject.version, "Implementation-Date": buildTimeStr)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
artifacts {
|
|
||||||
archives sourcesJar
|
|
||||||
archives javadocJar
|
|
||||||
}
|
|
||||||
|
|
||||||
uploadArchives {
|
|
||||||
repositories.mavenDeployer {
|
|
||||||
configuration = configurations.deployerJars
|
|
||||||
repository(url: rootProject.mavenRepoUrl) {
|
|
||||||
authentication(userName: rootProject.mavenRepoUser, password: rootProject.mavenRepoPass)
|
|
||||||
}
|
|
||||||
snapshotRepository(url: rootProject.mavenSnapshotRepoUrl) {
|
|
||||||
authentication(userName: rootProject.mavenRepoUser, password: rootProject.mavenRepoPass)
|
|
||||||
}
|
|
||||||
|
|
||||||
pom.project {
|
|
||||||
inceptionYear '2009'
|
|
||||||
name 'elasticsearch-plugins-lang-ruby'
|
|
||||||
description 'Ruby Plugin for ElasticSearch'
|
|
||||||
licenses {
|
|
||||||
license {
|
|
||||||
name 'The Apache Software License, Version 2.0'
|
|
||||||
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
||||||
distribution 'repo'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
scm {
|
|
||||||
connection 'git://github.com/elasticsearch/elasticsearch.git'
|
|
||||||
developerConnection 'git@github.com:elasticsearch/elasticsearch.git'
|
|
||||||
url 'http://github.com/elasticsearch/elasticsearch'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pom.whenConfigured {pom ->
|
|
||||||
pom.dependencies = pom.dependencies.findAll {dep -> dep.scope != 'test' } // removes the test scoped ones
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
plugin=org.elasticsearch.plugin.ruby.RubyPlugin
|
|
|
@ -1,44 +0,0 @@
|
||||||
/*
|
|
||||||
* Licensed to Elastic Search and Shay Banon under one
|
|
||||||
* or more contributor license agreements. See the NOTICE file
|
|
||||||
* distributed with this work for additional information
|
|
||||||
* regarding copyright ownership. Elastic Search 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.elasticsearch.plugin.ruby;
|
|
||||||
|
|
||||||
import org.elasticsearch.common.inject.Module;
|
|
||||||
import org.elasticsearch.plugins.AbstractPlugin;
|
|
||||||
import org.elasticsearch.script.ScriptModule;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kimchy (shay.banon)
|
|
||||||
*/
|
|
||||||
public class RubyPlugin extends AbstractPlugin {
|
|
||||||
|
|
||||||
@Override public String name() {
|
|
||||||
return "lang-ruby";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public String description() {
|
|
||||||
return "Ruby plugin allowing to add javascript scripting support";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public void processModule(Module module) {
|
|
||||||
if (module instanceof ScriptModule) {
|
|
||||||
// ((ScriptModule) module).addScriptEngine(JavaScriptScriptEngineService.class);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,71 +0,0 @@
|
||||||
/*
|
|
||||||
* Licensed to Elastic Search and Shay Banon under one
|
|
||||||
* or more contributor license agreements. See the NOTICE file
|
|
||||||
* distributed with this work for additional information
|
|
||||||
* regarding copyright ownership. Elastic Search 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.elasticsearch.script.ruby;
|
|
||||||
|
|
||||||
import org.elasticsearch.common.component.AbstractComponent;
|
|
||||||
import org.elasticsearch.common.inject.Inject;
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
|
||||||
import org.elasticsearch.script.ExecutableScript;
|
|
||||||
import org.elasticsearch.script.ScriptEngineService;
|
|
||||||
import org.jruby.embed.EmbedEvalUnit;
|
|
||||||
import org.jruby.embed.ScriptingContainer;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kimchy (shay.banon)
|
|
||||||
*/
|
|
||||||
// Need to figure out how to execute compiled scripts in the most optimized manner (passing paramters to them).
|
|
||||||
public class RubyScriptEngineService extends AbstractComponent implements ScriptEngineService {
|
|
||||||
|
|
||||||
private final ScriptingContainer container;
|
|
||||||
|
|
||||||
@Inject public RubyScriptEngineService(Settings settings) {
|
|
||||||
super(settings);
|
|
||||||
|
|
||||||
this.container = new ScriptingContainer();
|
|
||||||
container.setClassLoader(settings.getClassLoader());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public String[] types() {
|
|
||||||
return new String[]{"ruby"};
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public Object compile(String script) {
|
|
||||||
return container.parse(script);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public ExecutableScript executable(Object compiledScript, Map<String, Object> vars) {
|
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public Object execute(Object compiledScript, Map<String, Object> vars) {
|
|
||||||
EmbedEvalUnit unit = (EmbedEvalUnit) compiledScript;
|
|
||||||
return null; //To change body of implemented methods use File | Settings | File Templates.
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public Object unwrap(Object value) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public void close() {
|
|
||||||
container.clear();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -16,7 +16,6 @@ include 'plugins-mapper-attachments'
|
||||||
include 'plugins-lang-groovy'
|
include 'plugins-lang-groovy'
|
||||||
include 'plugins-lang-javascript'
|
include 'plugins-lang-javascript'
|
||||||
include 'plugins-lang-python'
|
include 'plugins-lang-python'
|
||||||
//include 'plugins-lang-ruby' #disabled for now ...
|
|
||||||
|
|
||||||
include 'plugins-transport-memcached'
|
include 'plugins-transport-memcached'
|
||||||
include 'plugins-transport-thrift'
|
include 'plugins-transport-thrift'
|
||||||
|
|
Loading…
Reference in New Issue