-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate eclipse transformer with Batavia #45
Comments
It is not possible to integrate Eclipse transformer with Batavia project at the moment because both projects use different abstractions. Batavia's main abstraction is Resource - which is any entry inside jar file or any file on file system. The Eclipse transformer's abstraction is CLI and passing it configuration args. (FYI @jfdenise @scottmarlow) |
Raw thinking, could we have an integration at a higher level to handle jar transformation only? Mainly at the Tools API level? Batavia would abstract the transformer in use. Galleon would still be able to select the transformer tools backend. |
What we could do is to modify Batavia project to be configurable similar way like Eclipse transformer is, that is we should introduce Option abstraction, TransformerBuilder.addOption(name, value) methods, maybe Changes abstraction including Transformer.getChanges() method? |
Our new abstractions would become Option and Change etc instead of Transformer.Resource |
issues/28 is for moving the cli into its own project, to better support maven/gradle drivers. Should we stick to passing parameters the Eclipse Transformer CLI style interface way or do we want a better integration point than org.eclipse.transformer.Transformer#runWith? |
If the question is could we remove ToolUtils#transformClassFile, I think we could, if that helps our integration with Eclipse Transformer. |
It looks like Eclipse transformer is little bit behind us WRT proper separation of tools vs. transformer code. Anyway they are going to move the proper way. |
Yes, that was the question @scottmarlow . It seems we have three options on table ATM :
|
With respect to integration in galleon I would vote for 2) and 3). Currently as soon as we have an eclipse transformer release that integrates the fix we need, I could release a galleon-plugins that calls into eclipse transformer directly. Then switching to use Batavia when ready would be an easy task. |
Initial Eclipse transformer integration is done. Thanks @scottmarlow for review, @jfdenise for valuable feedback. |
https://github.com/eclipse/transformer
The text was updated successfully, but these errors were encountered: