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
Merged

Built-in deploy generator #4972

merged 8 commits into from Apr 30, 2019

Conversation

@danimtb
Copy link
Member

@danimtb danimtb 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
Copy link
Member

@jgsogo jgsogo 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!

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 Show resolved Hide resolved
@ghost ghost assigned danimtb Apr 29, 2019
@danimtb
Copy link
Member Author

@danimtb danimtb 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

@jgsogo jgsogo 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
@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
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

4 participants