crossminer / scava

https://eclipse.org/scava/
Eclipse Public License 2.0
18 stars 13 forks source link

Communication Channels using storage might not work in Docker #438

Closed creat89 closed 4 years ago

creat89 commented 4 years ago

Communicational channels that use dumps were designed to create temporal files in the system temporal folder. While this work using Eclipse in our computer, this storage doesn't exist in Docker versions. Thus, it is necessary to create the files inside the storage created by Scava for each project.

I have created in commit https://github.com/crossminer/scava/commit/abc44967b2162d91d29bd7f5485b9d98e76f9c4f a storage manager for cc (originally I created it for Mboxes, but it was not working in Docker). And the cc readers that use dumps will need to implement a similar solution, like in https://github.com/crossminer/scava/commit/718852200977a43ffdf4b874e3caf1b49c70457f.

Currently, I have modified Mboxes. As far as I remember I will need to update:

Any other reader that I will need to update? @Danny2097, @nnamokon, @yannisKork

I need to do some minor fixes to being able to generalize for all the readers based on dumps. But those changes shouldn't take long.

I am aware that ideally the data storage manager should have been stored in MongoDB. Thus when a project is removed (or a communication channel) the field in storage manager should be removed. If someone would like to do that implementation, be my guest.

creat89 commented 4 years ago

Now, I'm not sure it is necessary the change... The reason for not working in Docker (at least right now) was that the plugin.xml for Mboxes was missing from the build.properties. Thus, in Docker, the reader was never found. Fixed in https://github.com/crossminer/scava/commit/8b2862535495c1c95160aee9653b30c1db8d3ded

Danny2097 commented 4 years ago

@creat89 I believe that they are all the readers which utilise dumps, If i remember correctly on the CC delta based readers utilised dumps.

creat89 commented 4 years ago

I have updated the readers and did some improvements.