ponder-lab / Optimize-Java-8-Streams-Refactoring

Refactorings for optimizing Java 8 stream client code for greater parallelism and efficiency.
http://cuny.is/streams
Eclipse Public License 1.0
8 stars 7 forks source link

Better build and installation support #209

Open yanntm opened 4 years ago

yanntm commented 4 years ago

See issue https://github.com/ponder-lab/Optimize-Java-8-Streams-Refactoring/issues/208 for discussion.

khatchad commented 4 years ago

Thank you again for this contribution and for your interest in the project. We are currenly working on a new branch https://github.com/ponder-lab/Optimize-Java-8-Streams-Refactoring/tree/issue_192 to fix #192. Thus, integrating this into master now may be problematic, since there is parallel development. Also, some of the changes are a bit too drastic for the time bieng. I will attempt to integrate options of this PR once #192 is complete. Thanks again!

khatchad commented 4 years ago

I will keep this open for the time being.

yanntm commented 4 years ago

Ok sure, I'm still around if you need help adopting parts of the changes. Concerning #192 the dependency on WALA version is currently cited here : https://github.com/yanntm/Optimize-Java-8-Streams-Refactoring/blob/master/edu.cuny.hunter.streamrefactoring.parent/pom.xml#L119-L123 We point to "streams" branch.

Then in the feature definition : https://github.com/yanntm/Optimize-Java-8-Streams-Refactoring/blob/master/edu.cuny.hunter.streamrefactoring.feature/feature.xml#L236-L263 We also make sure to make the WALA plugin explicitly part of our feature (as well as e.g. objenesis and other dependencies clients should not be able to find if they only have their default update sites configured + our own update-site). This way the update site generated will contain this particular plugin, clients will resolve it right there.

This eases and speeds up installation w.r.t. to using the "other update sites to visit" feature that you can configure, because client just contacts us + eclipse release update sites. So we are mirroring in the update site our more esoteric dependencies, with versions that come from maven repositories : orbit or maven central.

This fulfills the packaging needs that were covered by e.g. nesting jars in the lib folder.

yanntm commented 4 years ago

i.e. we dropped these declarations :https://github.com/ponder-lab/Optimize-Java-8-Streams-Refactoring/blob/master/edu.cuny.hunter.streamrefactoring.feature/feature.xml#L225-L230

the resolution of dependencies is in our hands now not the client's, we do it with maven at build time and package everything we need.

ghost commented 4 years ago

Congratulations :tada:. DeepCode analyzed your code in 4.11 seconds and we found no issues. Enjoy a moment of no bugs :sunny:.

👉 View analysis in DeepCode’s Dashboard | Configure the bot