Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Polymorphism in the gradle file #2

Closed
Roj opened this issue Feb 20, 2017 · 4 comments
Closed

Polymorphism in the gradle file #2

Roj opened this issue Feb 20, 2017 · 4 comments
Assignees

Comments

@Roj
Copy link
Owner

Roj commented Feb 20, 2017

Currently, the crossfold and similar tasks change their behaviour based on the specified dataset.

Instead of having a method with different behaviour for each possible state, we should have different methods that do the task for a specific dataset (i.e. crossfoldML100k, crossfoldBookCrossing, etc.)

@dminones
Copy link
Collaborator

Should we use this pattern in order to avoid having a big build.gradle with all the datasets?

https://docs.gradle.org/current/userguide/organizing_build_logic.html#sec:configuring_using_external_script

@dminones dminones self-assigned this Feb 21, 2017
@Roj
Copy link
Owner Author

Roj commented Feb 21, 2017

Sounds good. Maybe we could have a .gradle file for each algorithm where we write the fetch, crossfold and evaluate tasks.

For example, we could add a folder for each algorithm in algorithms/, and group in that folder the .groovy and .build. The .build would, for lastfm as an example, include: fetchLastfm, crossfoldLastfm and evaluateLastfm tasks.

What do you think?

@dminones
Copy link
Collaborator

Actually would be for each dataset right? Because we already have a .groovy file for each algorithm but each dataset needs this tasks: fetchLastfm, crossfoldLastfm and evaluateLastfm.

@Roj
Copy link
Owner Author

Roj commented Feb 21, 2017

You're right, I messed that up. Then a folder for each dataset? Maybe grouped with the .yml file?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants