I think that what I had in mind will break both forward and backward compatibility so it would only be feasible to jclouds 2.0.0 (in order to respect semantic versioning).
So an other approach we could use before 2.0.0 is: i) Remove the @Nullable annotation from Chef specific functions inside script builder (they are only serve documentation purposeless anyway). ii) Dublicate transformEntries from Maps2 to script builder utils iii) Modify the OSGi metadata and make the packages that are using jclouds-core optional (luckily our current structure allows us to do that, because packages that directly refer to jclouds-core are isolated). Pros: - Minimal amount of changes. - Doesn't break forward compatibility. - It will play well in all cases (including OSGi). Cons: - A tiny bit of code duplication. How does this sounds instead? -- Ioannis Canellos Blog: http://iocanel.blogspot.com Twitter: iocanel
