eclipse / repairnator

Software development bots for Github. Join the bot revolution! :star2::robot::star2::revolving_hearts:
MIT License
384 stars 83 forks source link

Refactor: Unify repair tools encapsulations #1137

Open andre15silva opened 3 years ago

andre15silva commented 3 years ago

Currently repair tools are encapsulated both in repairnator-pipeline and maven-repair.

To prevent code duplication, and ease the maintenance cost of repair tools we should unify these and have only one place where the core of functionality is performed.

Proposed solution by @monperrus : It would be good to unify this, for example NopolMojo may depend on and call NopolRepairStep. (see #1136)

andre15silva commented 3 years ago

We need to move all repair step logic to repairnator-pipeline. This is already the case for all repair tools except for NPEFix, where the logic is in maven-repair. This results in a weird cyclic dependency.

We also need to unify Nopol profiles and dependencies in a single pom.xml.

monperrus commented 3 years ago

For Nopol, we can simplify and remove classes NopolSingleTestRepair and NopolMultiWithTestExclusionRepair in order to have one single pipeline for Nopol

monperrus commented 3 years ago

Done for NPEFix, see #1153