-
Notifications
You must be signed in to change notification settings - Fork 301
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
Remove and deprecate Fable.PublishUtils
#3961
Comments
@MangelMaxime I would respectfully disagree with deleting the |
@ncave It is used by other repository inside of Fable org like fable-browser or Fable.Node. And I am planning to move these project to using EasyBuild because EasyBuild allows to generate changelog based on the git history and it make my life as a maintainer easier. I don't need to manually patch Changelog file etc. So removing the folder would cause no harm. I wanted to remove the folder, to have 1 less folder to care about especially, if we don't plan to make a release for it anymore (it is saved in the |
I know, that's why keeping it would cause no harm either. But if you feel really strongly about it, sure. In that line of thought, the current build system may be a bit too complicated to navigate and contribute to. To clarify, I really appreciate your efforts and taking on the burden of publishing, and I want to help as much as I can. So anything that can simplify that task, I'm all for it, hopefully without introducing too many dependencies that we'll have to keep up with. |
Thank you :) I think we both found our balance on working on Fable and I also appreciate your help and pointer regarding Fable internals.
I agree with the build system being complex, with the rework of last year we have been able to mutualise a lot of code but this is not perfect. From my point of view, the area where we can improve the build system is on the Indeed, EasyBuild consist of a set of tool to make common tasks easier for example:
I will send a PR, to demonstrate what impact it can have on the build system and if we are okay with it with will merge it. Regarding the other targets of the build system, I don't see an easy way to simplify them. Most of their comes from how Fable + the target ecosystem works. I think my main idea here would be to mutualise the tests, so we could avoid writing 3 times the same test for Python, JavaScript, Rust. It would also helps with feature parity. I have some ideas regarding that but I need to do some experimentation. The last step to make publishing even easier would be to use EasyBuild.ChangelogGen which is a tool which can generate Changelog based on the git history. But this one is much more invasive, in the sense that maintainers need to respect the Conventional Commits spec. This is a spec that is really taking in now days as it allows changelog generation. Regarding EasyBuild.ChangelogGen this is not yet a proposition, as I need to explain clearly how it works so everyone can make an highlighted decision. |
Test are a different conversation, but yes, ideally we want a single test harness that works for all languages. That said, IMO reworking the test harness just for the sake of it (without adding features) is technically bike-shedding, cause it only adds value at the margins. |
Indeed, this is the big issue I see myself too. Perhaps, with smaller/more focused test files this would be less of a problem but I am not sure. The more I have been thinking about it, and the more I think it would need to be something progressive. We would still have a per target test project when a feature is being worked on / non stable or fully supported. And once it reach a certain level, we remove it and make it use the shared tests to ensure feature parity. The idea being once, we reach feature parity fixing bugs or adding support for 1 new API/method if often not too difficult. |
Description
Fable.PublishUtils consist on list of utility tools which are used to release some of Fable packages.
It was created a long time ago because FAKE and other solution were considered too complex to put in place.
Today, with projects like Fun.Build, EasyBuild I think Fable.PublishUtils don't make much sense.
Also no one is really maintaining it, for example myself I invested my time in EasyBuild ecosystem.
For this reason, I think we should just delete the folder and mark the project as deprecated on both NuGet and NPM.
PS: I believe Fable.PublishUtils is mostly used by project under Fable org, so if previous version breaks or need to be update to new tool chain I will make the upgrade.
The text was updated successfully, but these errors were encountered: