xtclang / xvm

Ecstasy and XVM
Other
200 stars 17 forks source link

Redesign javatools.jar, probably as a non fat-Jar. #196

Open lagergren opened 7 months ago

lagergren commented 7 months ago

Currently Javatools.jar is a manually created fatjar that includes javautil_utils classes, third party dependencies (currently jline online) and an implements.x

javatools_utils doesn't really have to be a separate root level project. It can live under javatools and be used as a project (non included build) to get the build output.

The more third party dependencies we want to add to javatools, the more of a monolith it becomes. The chief concerns are

cpurdy commented 7 months ago

I've been talking with Gene about this. It does seem likely that we would regret retaining a "fat jar" as Marcus refers to it, so please consider the "fat jar" approach to be temporary. The reason that this is fairly obvious, is that we are already aware of several dependencies (including some jakarta libs), and that number is expected to grow over time. The likelihood of version disaster (conflict with other people's library versions) is almost 100% if we have more than zero users, and we do intend to have many users. Therefore, we accept that there must be a more standardized approach to the library linking and dependency management, that will fit with existing industry practices.