Call my own operator from rapidminer-studio-core built on eclipse

matsuiakira
matsuiakira New Altair Community Member
edited November 5 in Community Q&A

Hi, everyone.

 

Since I am developing my own operator, I need to call it from the rapidminer-studio-core (7.3.0-SNAPSHOT), that has been built on eclipse.

(I followed this tutorial and successfully built and ran it without any errors.)

 

However, I cannot see any operators from rapidminer-studio-core's GUI even though I locate the operator's jar file into the specific directory, $HOME/.Rapidminer/extensions. This directory is also used from the original Rapidminer Studio, that has been downloaded from official website, and my operators can be seen from the original Rapidminer Studio.

 

Does anyone give me advices how to call my extension from rapidminer-studio-core built on eclipse?

 

 

RapidMiner_Original.pngRapidMiner_Build.png

 

Answers

  • matsuiakira
    matsuiakira New Altair Community Member

    Hi, everyone.

    I found a warning in rapidminer-studio-core's log:

     

    WARNING: Cannot register operators from MyOwnOperator: RapidMiner Studio dependency not fulfilled! This extension needs RapidMiner Studio version 7.3.000. RapidMiner version is 7.3.000-SNAPSHOT

     

  • mmichel
    mmichel New Altair Community Member

    Hi,

     

    WARNING: Cannot register operators from MyOwnOperator: RapidMiner Studio dependency not fulfilled! This extension needs RapidMiner Studio version 7.3.000. RapidMiner version is 7.3.000-SNAPSHOT

    The priority of snapshot versions is lower than an actual released version - this is the reason why you are getting this error.

    You can resolve this error by publishing RapidMiner Core 7.3.000-SNAPSHOT to your local repository (gradle publishJarPublicationToMavenLocal) and changing your extension dependency to 7.3.000-SNAPSHOT. If you want to release your extension later on don't forget to remove the snapshot tag.

     

    Another way, without publishing the artifact, is to modify a Java class of the open core:

    Version.java:

     

    	@Override
    public int compareTo(VersionNumber o) {
    int index = Double.compare(this.majorNumber, o.majorNumber);
    if (index != 0) {
    return index;
    } else {
    index = Double.compare(this.minorNumber, o.minorNumber);
    if (index != 0) {
    return index;
    } else {
    index = Double.compare(this.patchLevel, o.patchLevel);
    if (index != 0) {
    return index;
    }
    // CHANGE THE FOLLOWING LINE
                                   // to treat development builds as released versions
    return 0;
    }
    }
    }

    and  

    	public final boolean isSnapshot() {
    // always return true
    return true;
    }

     

    Hope this helps,

    Marcel