openml / openml-java

Java library to interface with OpenML
10 stars 4 forks source link

Improving dependencies in flows #12

Open joaquinvanschoren opened 6 years ago

joaquinvanschoren commented 6 years ago

From @DraXus on November 26, 2014 12:17

Currently, flow dependencies are limited to the software version. However, some of them also require additional dependencies. For example, flow 191 requires also the installation of multiBoostAB from the package manager.

Copied from original issue: openml/OpenML#161

joaquinvanschoren commented 6 years ago

From @DraXus on November 26, 2014 12:18

From the implementation point of view I don't know how feasible is to know the package of a class in Java though.

joaquinvanschoren commented 6 years ago

You can get the name of a class's package using Java introspection. Only for classes that are loaded, though.

On Wed Nov 26 2014 at 1:18:58 PM Manuel Martín notifications@github.com wrote:

From the implementation point of view I don't know how feasible is to know the package of a class in Java though.

— Reply to this email directly or view it on GitHub https://github.com/openml/OpenML/issues/161#issuecomment-64596398.

joaquinvanschoren commented 6 years ago

From @DraXus on December 6, 2014 13:2

I did some modifications in the Weka package and I was able to compile it. However, when I install it using the package manager in Weka 3.7.11 it says that it's not compatible. I guess that some black magic is doing behind the scenes to create the current OpenWeka package, so probably additional steps are needed.

Nevertheless, I add here these lines from WekaAlgorithm.create() for my own record :)

Package packageOfClassifier = classifier.getClass().getPackage();
        if (packageOfClassifier!=null){
            dependencies += "; " + packageOfClassifier.toString() + "_" + packageOfClassifier.getImplementationVersion();
        }