Savant dialects versioning

I’m being kind hardcore with the separation of dialects in Savant (a dialect is a collection of plugins – for example there is a Java dialect with a compile plugin). The reason being is that I feel dialects should not interfere with each other in the same manner that web applications should not.

Java has never been particularly good at versioning and I’m only taking on one small piece of the problem by ensuring that dialects can use their own versions of JARs without influencing others (that is unless the JAR is part of the core Savant runtime). The next part is to tackle the issue of versioning plugins and dialects.

A dialect should be able to identify what version it is and a project should be able to declare a hardcoded version it requires. Likewise, a project should be able to specify a version range as well as the latest version available. This will ensure that the dialects can change and projects will continue to build as long as the version they were first created against still exists. This will also allow backwards incompatible changes in dialects to occur.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s