-
Notifications
You must be signed in to change notification settings - Fork 63
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
Epic: Simplify the structure of the core repo and factor out Epoch in its own repo #1276
Comments
I don't see this mentioned here, but I think it would be nice to move the runtime submodules out of A more conventional structure would be to have this |
Thanks for the remark. I made this now an explicit part of the action items. |
Closing this as the major part of the work is complete and the remaining issues are kind of open-ended |
Should we still rename |
I think we should. Mostly because half of our repos use The issue currently has the 0.6.0 milestone assigned, but I wouldn't mind pushing it a bit further down the road. |
OK, makes sense. I'd rather just bite the bullet honestly...so I'm OK with doing it as part of 0.6.0... |
This epic specifies the new envisioned and simplified project structure as well as concrete incremental steps we can take towards this goal.
Overview
Our current is very bloated and it is hard for newcomers to find their way through the forest of packages and directories. This structure has been been mostly dictated by Xtext and Eclipse. However, since we are moving away from Eclipse as our primary development IDE and Epoch is only one of our supported LF IDEs, we should aim at freeing our core repository from the constraints and overhead that Eclipse imposes. The best way to do this, is to separate our "core" repository from Epoch. Ideally, we strip the lingua-franca repository from all unnecessary Eclipse dependencies and Eclipse related code. This should instead be hosted in a separte Epoch repository where lingua-franca is a submodule.
The Goal
src/
. This includes the contents oforg.lflang
,org.lflang.lfc
,org.lflang.diagrams
andorg.lflang.lds
. The primary build tool for this repository would be gradle and any IDE could be used for developmentorg.lflang
would become a submodule and point to the lingua-franca repository. The primary build tool for this repository would be maven and Eclipse the main IDE for development.master
tomain
#423. The goal is to clean our git history and push the cleaned history to a new main branch. This way we can keep the old master branch for legacy, but start developing on main in our freshly cleaned up repo.Action Items
org.lflang
org.lflang.lfc
to a subpackagelfc
withinorg.lflang
#1421org.lflang.diagram
to a subpackagediagram
withinorg.lflang
org.lflang.lds
because no longer neededmwe2
file inlingua-franca
repoLFGenerator
#1800- [ ] Find Epoch specific code in the code-base and move it out oforg.lflang
.This includes theEclipseErrorReporter
, but also any code where we check the mode of operation (standlone vs epoch)mwe2
file that toggles the "Eclipse switch"assemble
task #1514master
tomain
#423Optional:
The planned restructuring poses an opportunity for publishing the core package of LF on Maven central.
The text was updated successfully, but these errors were encountered: