MLB player are free agents after 6 FULL years of service, not 7. So if he breaks camp he will be free agent in 6 years. If they wait until mid April, he will not accumulate enough service time this year to count as a year. Then he is here for 6 years beyond the 2019 season. The actual subject of the thread is Eloy breaking camp, no one is talking about 2018.
Another matter entirely is actually this moral debate you're having with nobody.