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

Floor plan Gradle Plugin #15

Closed
runningcode opened this issue Apr 9, 2020 · 5 comments
Closed

Floor plan Gradle Plugin #15

runningcode opened this issue Apr 9, 2020 · 5 comments
Labels
enhancement New feature or request Gradle Plugin Work related to the Gradle Plugin component

Comments

@runningcode
Copy link
Contributor

This would be cool as a Gradle Plugin to automatically find the latest Room schema files instead of having to pass their file path.

@segunfamisa
Copy link
Collaborator

I started doing some work on this.

And as a first step, I figured I had to modularize the project (see PR on my fork of the project segunfamisa#1)

I was wondering what you & @julioz think about that? If you think it's a good idea to do modularize this, I'll open a PR against this repo for review.

@julioz
Copy link
Owner

julioz commented May 10, 2020

@segunfamisa Yep I think that makes sense, the CLI part of FloorPlan is definitely something that can be pulled out; in fact I was already doing some research to replace the manual command-line handling with a more powerful and extensible tool, like Clikt.

Having the separation will help with that and potentially enable other UI forms: I also thought, at some point, that eventually we could make :core a multiplatform project and run it in the browser with Kotlin/JS. I envisioned a Chrome extension that could pick up Roomsql and automatically render the DBML representation side-by-side in GitHub for example.

@julioz julioz added the enhancement New feature or request label May 11, 2020
julioz added a commit that referenced this issue May 13, 2020
This commit extracts existing code into two modules:
1. `floorplan-cli`
2. `core`

This will be useful for reusability and make implementing the Gradle plugin easier to implement - #15
@julioz
Copy link
Owner

julioz commented May 24, 2020

A lot of work has been merged over the past days to allow for FloorPlan to use DBML as in intermediate representation between the input DB schemas and the output ER diagram.

Now, we still hardcode DBML as the output format, but I have added the ability for FloorPlan to render SVG, Dot and PNG files as well.

Since some of the work for the gradle plugin has already started, that might require some rework on your fork @segunfamisa, sorry about that. Nevertheless, now we might be able to make the gradle plugin way more powerful and useful by automatically generating human-consumable files instead skipping the DBML learning curve altogether.

@julioz
Copy link
Owner

julioz commented Jun 4, 2020

Started the work in #31

Next steps are to finally publish it to Maven Central to make the snapshot available through Gradle: #35

@julioz julioz added the Gradle Plugin Work related to the Gradle Plugin component label Jun 4, 2020
@julioz
Copy link
Owner

julioz commented Jun 13, 2020

Maven setup done in 53d6f8e

Gradle plug-in published:

Thanks for the help @segunfamisa @runningcode

@julioz julioz closed this as completed Jun 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Gradle Plugin Work related to the Gradle Plugin component
Projects
None yet
Development

No branches or pull requests

3 participants