plantuml / plantuml

Generate diagrams from textual description
https://plantuml.com
Other
9.73k stars 881 forks source link

How can I help ? #1291

Closed evantill closed 1 year ago

evantill commented 1 year ago

Maybe a stupid question, but how can I help ?

arnaudroques commented 1 year ago

Maybe a stupid question, but how can I help ?

There are no stupid question :-)

What would REALLY help is a transpiler from Java to Haxe.

We've made some tests with Haxe (see https://github.com/plantuml/haxe00 ) and it work well (see the demo).

However, manually rewriting all PlantUML code from Java to Haxe would probably take months/years.

So having a transpiler from Java to Haxe would greatly speed up the process. (It does not have to be complete, the full Java API itself has not to be ported).

If someone (you?) could start such a transpiler project, it would be great. And the good news is that it is not that hard to do!

Many thanks!

evantill commented 1 year ago

I can not find the haxe test repository.

arnaudroques commented 1 year ago

I can not find the haxe test repository.

Because we have no automatic tests here :-)

Tests are done by our users online here: https://plantuml.com/en/haxe-demo-javascript

And this project https://github.com/plantuml/haxe00 is just a Proof of Concept. It proves that we need a transpiler now.

Hope it is more clear!

evantill commented 1 year ago

Sorry my comment was not clear : I have a 404 error on this link : https://github.com/plantuml/haxe00

arnaudroques commented 1 year ago

Sorry my comment was not clear : I have a 404 error on this link : https://github.com/plantuml/haxe00

Sorry here too! This should be fixed now.

BTW https://spoon.gforge.inria.fr really seems to be a good candidate for writing such a transpiler.

As I said, writing such a tool is not that hard, because we are only using a tiny part of Java for PlantUML.

So if you are really interested, we could work together on this subject: we can give you more precise specifications so that you can start writing real code. Just tell us what you think about it!

arnaudroques commented 1 year ago

@evantill Another idea: maybe you may have a look at https://github.com/plantuml/plantuml-server This is currently build using maven and ideally plantuml-server should also go for gradle (to be consistent with plantuml). And ideally, a release in https://github.com/plantuml/plantuml may trigger a new release in plantuml-server I have no idea how to do that, but I think it's feasible.

In the meantime, we are going to document our preprocessor because we have some new great ideas for you :-)

evantill commented 1 year ago

We can use an event to trigger the server release : https://github.com/marketplace/actions/repository-dispatch

evantill commented 1 year ago

Ok I have a proof of concept using two repositories :

https://github.com/evantill/plantuml-test-lib/ https://github.com/evantill/plantuml-test-server/

releasing in plantuml-test-lib will send an event and at the end will update the plantuml version in the pom.xmlof plantuml-test-server

evantill commented 1 year ago

conventional commit could help help to reduce the boilerplate of the release process.