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

Create a mono package version of all apis #394

Merged
merged 3 commits into from
May 25, 2023
Merged

Conversation

xvrh
Copy link
Collaborator

@xvrh xvrh commented May 25, 2023

Fixes #299

Create a tool dart bin/generate.dart generate-single-package that will copy all the APIs in a single package (aws_client).
Everything remains the same but we can now also publish a single package with all the APIs easily.

First commit are the changes in the generator, second commit the generated package.

Happy to discuss the idea more if needed.

If you agree with this change, then I will proceed to publish a new version of aws_client to pub.dev.

@xvrh xvrh requested review from isoos and Schwusch May 25, 2023 12:33
@xvrh xvrh force-pushed the xha/monopackage branch from 3c28bb7 to 0d9ccc7 Compare May 25, 2023 12:50
@isoos
Copy link
Contributor

isoos commented May 25, 2023

@xvrh: Could you please check the total size of the files? IIRC pub.dev has a limit of 100MB, are we close to it?

This will also mean that we'll have a better release story, but pub.dev is unlikely to generate dartdoc for it for now. Not that we need it necessarily, and we can also generate it ourselves and self-host it on github...

@xvrh
Copy link
Collaborator Author

xvrh commented May 25, 2023

@isoos the lib/ directory is 85MB uncompressed, ~12.5MB zipped.

cloc output:

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Dart                           780         216113         745559        1519390

@xvrh
Copy link
Collaborator Author

xvrh commented May 25, 2023

https://dart.dev/tools/pub/publishing :

Your package must be smaller than 100 MB after gzip compression. If it’s too large, consider splitting it into multiple packages, using a .pubignore file to remove unnecessary content, or cutting down on the number of included resources or examples.

So I think we are good on that front.

@xvrh
Copy link
Collaborator Author

xvrh commented May 25, 2023

Generated doc on my machine (20 core, 128GB memory):

Documented 362 public libraries in 847.1 seconds

@isoos
Copy link
Contributor

isoos commented May 25, 2023

Documented 362 public libraries in 847.1 seconds

There is also a size limit for those, any chance you haven't deleted it yet to measure it?

@xvrh
Copy link
Collaborator Author

xvrh commented May 25, 2023

doc/ is 5.27 GB uncompressed 😱 (925MB compressed)

@isoos
Copy link
Contributor

isoos commented May 25, 2023

doc/ is 5.27 GB uncompressed

IIRC 2GB uncompressed is the limit...

@xvrh
Copy link
Collaborator Author

xvrh commented May 25, 2023

@isoos if you still agree with my plan can you add package:aws_client to the publisher aws-dart.agilord.com?

Also, can we use the (awesome) automated publishing from Github? That means we will have to add git tags the repository. Any recommendations on this?

@isoos
Copy link
Contributor

isoos commented May 25, 2023

can you add package:aws_client to the publisher aws-dart.agilord.com?

done.

Also, can we use the (awesome) automated publishing from Github? That means we will have to add git tags the repository. Any recommendations on this?

The default is good for us I think (also I think it is the same as the one you've got in puppeteer's repo).
We could add workflows, but I don't think it is necessary.

@isoos
Copy link
Contributor

isoos commented May 25, 2023

We could add workflows, but I don't think it is necessary.

Edit: We could add approval workflows, but I don't think it is necessary.

@xvrh xvrh force-pushed the xha/monopackage branch from a6ca517 to e9bd696 Compare May 25, 2023 20:56
@xvrh xvrh merged commit 8ea6020 into agilord:master May 25, 2023
@xvrh xvrh deleted the xha/monopackage branch May 25, 2023 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reconsider one package vs. multiple packages
2 participants