JetBrains / MPS-extensions

MPS-extensions aims to ease language development within MPS.
https://jetbrains.github.io/MPS-extensions/
Apache License 2.0
82 stars 51 forks source link

Provide standalone idea plugin(s) with common 3rd party libraries #292

Open wsafonov opened 4 years ago

wsafonov commented 4 years ago

Currently we already have org.apache.commons plugin containing equaly named solution with some frequently used Apache Commons components, like IO, Lang and Math. However, Collections library is not included there, but rather within de.q60.shadowmodels plugin (as part of the de.q60.mps.libs solution) meaning that whoever wants to use Commons Collections, would need to depend on the complete shadowmodels plugin.

Also starting from MPS 2020.1, Google Guava library within MPS.Core solution is no more exposed, hence we need an access to it based on our own solution/plugin. Luckily, we have Google Guava already packaged in the aforementioned de.q60.mps.libs solution.

Based on this, I would suggest to do following refactorings:

bkolb commented 4 years ago

I would prefer if we would have different solutions for all the different apache commons libs. It is not a lot of overhead and makes it more obvious what you really depend on. Also future updates are easier.

wsafonov commented 4 years ago

I would prefer if we would have different solutions for all the different apache commons libs. It is not a lot of overhead and makes it more obvious what you really depend on. Also future updates are easier.

Ok, that a valid point. We can then consider refactoring Commons libs into separate plugins. In this case, I would also move Guava into a separate plugin.