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

Project.toml #46

Closed
colintbowers opened this issue Mar 27, 2019 · 10 comments
Closed

Project.toml #46

colintbowers opened this issue Mar 27, 2019 · 10 comments

Comments

@colintbowers
Copy link
Contributor

Hi all,

Is it my imagination or is Bootstrap.jl missing a Project.toml and Manifest.toml? I'm currently working on wrapping routines from DependentBootstrap.jl using the Bootstrap.jl API and can easily add a Project.toml and Manifest.toml at the same time as part of the (eventual) pull request...

Cheers,

Colin

@juliangehring
Copy link
Owner

Well, it doesn't have one... I looked into adding one beginning of this year, but didn't see big advantages from my point of view. What would be the benefits of having the new toml files in your opinion?

@colintbowers
Copy link
Contributor Author

It is not so much advantages, but more the fact that I'm pretty sure (although not certain) that you will need a Project.toml file at some point. Currently Pkg supports both REQUIRE files and Project.toml (which is essentially the replacement for REQUIRE), but I think the plan is to eventually get rid of REQUIRE files entirely.

To be honest, I'm surprised this hasn't caused a problem for Bootstrap already. Have you tried to change the dependencies of Bootstrap since Julia v1.0? I've checked out Bootstrap into a development branch, and although it compiled fine initially, as soon as I changed the dependencies (by adding a using DependentBootstrap) it refused to compile until I added a Project.toml file to the development branch. Certainly if you use Pkg to generate a new package today, it will auto-generate a Project.toml file and package uuid for you.

@juliangehring
Copy link
Owner

I have been using and developing the package without a manifest without problems, both with julia v1.0 and v1.1. Let me see if I can reproduce your findings.

@colintbowers
Copy link
Contributor Author

Sounds good. In the meantime, I might post a clarifying question about this to Discourse for my own edification. If the intention really is for all packages to migrate from REQUIRE to Project.toml it would probably be a good idea to have this stated in a Discourse thread by a core dev.

@colintbowers
Copy link
Contributor Author

Discourse question here. I'll be interested to see what the response is, since I've done some wider reading on this now, and some of the posts about the future of this stuff seem quite contradictory.

In the short term though, my reading agrees with your experience, i.e. I should have been able to alter the dependencies for Bootstrap with just a REQUIRE file without any problems. I'll look at it again this week. Please don't waste too much of your own time in the meantime :-)

@rofinn
Copy link
Contributor

rofinn commented Apr 2, 2019

NOTE: Project.toml files work nicely with a Pkg3 environment based workflow. For example, running julia --project=@. in the root package directory will create a custom environment just for that package. This potentially avoids version incompatibilities with other dev'd packages and means that any packages added will automatically update the Project.toml.

@colintbowers
Copy link
Contributor Author

OK, very clear answer from Stefan on the linked Discourse thread. REQUIRE is being retired soon, so Bootstrap will need a Project.toml. I've actually already done this as part of my work on #45, so if you're happy to wait a week or two, the file can just come through as part of my PR.

@juliangehring
Copy link
Owner

juliangehring commented Apr 2, 2019

@colintbowers Alright, thanks for getting some clarification on that issue. If you already have Project.toml and Manifest.tomllying around, would you mind opening a separate PR for that? It can be super quick and dirty (essentially just dumping the two prototypes of the files is fine, I can take it from there); but since missing those files is causing problems for working with the package for you (and potentially other), I'd like to get this in rather sooner than later. If you are busy with other things, I can also take a stab at this myself. Let me know what you prefer.

@colintbowers
Copy link
Contributor Author

No probs, I'll get it done tonight, or at the latest tomorrow night (Australia time).

@juliangehring
Copy link
Owner

Closed with #48.

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

No branches or pull requests

3 participants