Skip to content
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

Publication of some or all modules to Maven Central #937

Open
Tracked by #1276
Rojods opened this issue Feb 4, 2022 · 4 comments
Open
Tracked by #1276

Publication of some or all modules to Maven Central #937

Rojods opened this issue Feb 4, 2022 · 4 comments
Labels
enhancement Enhancement of existing feature

Comments

@Rojods
Copy link

Rojods commented Feb 4, 2022

Would there be any interest on publishing some or all modules to Maven Central? This issue is somewhat related to #142 .

The use case for such feature is the easy integration of LF tooling into 3rd party toolsets. Specially for those that wish to perform M2M or other advanced analysis while reusing the LF toolset.

To give a concrete use case, I speak for myself. I am currently the main developer of ForSyDe IO, which is majorly implemented as a Java library outside Eclipse's ecosystem.
Doing my actual research requires parsing a LF model and doing a simple M2M transformation to ForSyDe IO. Naturally, my first thought is to just grab the LF compiler and extract it's internal IR that is an EMF model. Sadly, after a handful trials and errors, the only reproducible solution to integrate it in my toolset was to copy the model submodule from the git repo into my own repo. This means that until I find better solutions, to achieve reproducibility I have to manually update the LF model in ForSyDe IO. This is not a problem per se, it just feels less robust when compared to a plain maven/gradle project experience.

I am also aware how hard it is to make the standard Eclipse ecosystem play nice with maven/gradle or other non-Eclipse tools in general. I have little experience, but a couple dabbles here and there taught me some painful lessons :). I just wonder, as there are already gradle (Oomph) builds in place, maybe it would not be a monumental effort to bring at least the core modules to maven central in the future.

I would label this issue as "Enhancement" myself, but it seems like I'm not allowed to.

@lhstrh lhstrh added the enhancement Enhancement of existing feature label Feb 5, 2022
@lhstrh
Copy link
Member

lhstrh commented Feb 5, 2022

Thanks for suggesting this, @Rojods. I wasn't aware that anyone was using parts of our toolchain as a library, but your use case certainly justifies looking into this. I'm not sure anyone on the team has prior experience with publishing to Maven Central, but as we're establishing a release cycle that will involve a fair amount of automation, publishing on Maven Central is something that might be relatively easy to add.

On a related note, this week we've published the first version of our new VS Code extension; check it out :-)

@Rojods
Copy link
Author

Rojods commented Feb 5, 2022

Thanks for the reply @lhstrh !! I'll be sure to check it out. I have some limited experience with Maven central, and it's basically just a one time effort to setup everything. At least it was wit ForSyDe IO 🙂.

I think that one big project that is also Eclipse/OSGi and has managed to publish to maven central is app4mc! It could be a nice starting point to glance over it for whoever makes the endevaour to put LF in the central repository 😊!

@cmnrd
Copy link
Collaborator

cmnrd commented May 31, 2023

With the restructuring of #1779 we should be able to publish our core repo as a library on Maven Central. This is maybe something to consider for the 0.6.0 milestone.

@lhstrh
Copy link
Member

lhstrh commented Jun 4, 2023

Just linking this (outdated) PR here: #1211 because it seems relevant.

@lhstrh lhstrh modified the milestones: 0.6.0, 0.7.0 Oct 31, 2023
@lhstrh lhstrh removed this from the 0.7.0 milestone Feb 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement of existing feature
Projects
None yet
Development

No branches or pull requests

3 participants