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

Built-in deploy generator #4972

Merged
merged 8 commits into from Apr 30, 2019

Conversation

Projects
None yet
4 participants
@danimtb
Copy link
Member

commented Apr 14, 2019

Changelog: Feature: New deploy generator to export files from a dependency graph to an installation folder
Docs: conan-io/docs#1262

  • Refer to the issue that supports this Pull Request: closes #4847
  • If the issue has missing info, explain the purpose/use case/pain/need that covers this Pull Request.
  • I've read the Contributing guide.
  • I've followed the PEP8 style guides for Python code.
  • I've opened another PR in the Conan docs repo to the develop branch, documenting this one.

Note: By default this PR will skip the slower tests and will use a limited set of python versions. Check here how to increase the testing level by writing some tags in the current PR body text.

@danimtb danimtb added this to the 1.15 milestone Apr 14, 2019

@ghost ghost assigned danimtb Apr 14, 2019

@ghost ghost added the stage: review label Apr 14, 2019

@danimtb danimtb assigned jgsogo and unassigned danimtb Apr 14, 2019

@ghost ghost assigned danimtb Apr 16, 2019

@danimtb danimtb removed their assignment Apr 16, 2019

@jgsogo
Copy link
Member

left a comment

Nice, but before moving it forwards, I would like to know what happens with a couple of things (at least I need to read them in the associated documentation):

  • public/private requirements and build_requires. I know this is not related to that, this PR has nothing to do with the graph model, but I need to know if it is possible to traverse the full graph with this generator or not.
  • We are using deps_build_info.dependendencies (which in turn is conanfile.deps_cpp_info) and according to the docs it contains "the requirements of the recipe", it is confusing for me... Let me explain myself better: in your second test you are doing conan install name2/version@user/channel -g deploy and it is copying not only the requirements of name2 but also name2 files themselves. It is what we want, it is what we need, it is not related to this PR, but it means that generators are being fed with that virtual conanfile instead of name2 conanfile itself, isn't it?

Just wanted to comment about those two things, when the documentation is written let me know to check it all again and approve the PR.

Thanks!

@lasote lasote self-requested a review Apr 26, 2019

Show resolved Hide resolved conans/client/generators/deploy.py Outdated
Show resolved Hide resolved conans/client/generators/deploy.py Outdated
Show resolved Hide resolved conans/test/functional/generators/deploy_test.py Outdated

@ghost ghost assigned danimtb Apr 29, 2019

@danimtb

This comment has been minimized.

Copy link
Member Author

commented Apr 29, 2019

but it means that generators are being fed with that virtual conanfile instead of name2 conanfile itself, isn't it?

@jgsogo
Yes, but that is the current behavior in Conan. Packages installed directly by reference are considered the "second" node in the graph and the "virtual consumer" node is created

@lasote

lasote approved these changes Apr 29, 2019

@jgsogo

jgsogo approved these changes Apr 29, 2019

Copy link
Member

left a comment

Waiting for the docs... 🕦

@danimtb danimtb assigned jgsogo and unassigned jgsogo and danimtb Apr 29, 2019

@memsharded memsharded merged commit c4470a6 into conan-io:develop Apr 30, 2019

2 checks passed

continuous-integration/jenkins/pr-head This commit looks good
Details
license/cla Contributor License Agreement is signed.
Details

@ghost ghost removed the stage: review label Apr 30, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.