QuantConnect / lean-cli

CLI for running the LEAN engine locally and in the cloud
https://www.lean.io/cli
Apache License 2.0
191 stars 100 forks source link

Cannot Push Encrypted Projects With Same Library #384

Closed AlexCatarino closed 7 months ago

AlexCatarino commented 7 months ago

To reproduce the issue, create two project and one library. Add the library to both projects and push to cloud:

(base) PS C:\Users\Alex\LeanCLI> lean project-create "EncryptProject1" --language python
Successfully created Python project 'EncryptProject1'
(base) PS C:\Users\Alex\LeanCLI> lean project-create "EncryptProject2" --language python
Successfully created Python project 'EncryptProject2'
(base) PS C:\Users\Alex\LeanCLI> lean project-create "Library/EncryptLibrary" --language python
Successfully created Python project 'Library/EncryptLibrary'
(base) PS C:\Users\Alex\LeanCLI> lean library add "EncryptProject1" "Library/EncryptLibrary"
Adding Lean CLI library C:\Users\Alex\LeanCLI\Library\EncryptLibrary to project C:\Users\Alex\LeanCLI\EncryptProject1
(base) PS C:\Users\Alex\LeanCLI> lean cloud push --project "EncryptProject1" --encrypt --key AlexKey.txt
[1/2] Pushing 'Library\EncryptLibrary'
Successfully created cloud project 'Library/EncryptLibrary' in organization '<org-id>'
Successfully updated name, files, and libraries for 'Library/EncryptLibrary'
[2/2] Pushing 'EncryptProject1'
Successfully created cloud project 'EncryptProject1' in organization '<org-id>'
Successfully updated name, files, and libraries for 'EncryptProject1'
(base) PS C:\Users\Alex\LeanCLI> lean library add "EncryptProject2" "Library/EncryptLibrary"
Adding Lean CLI library C:\Users\Alex\LeanCLI\Library\EncryptLibrary to project C:\Users\Alex\LeanCLI\EncryptProject2
(base) PS C:\Users\Alex\LeanCLI> lean cloud push --project "EncryptProject2" --encrypt --key AlexKey.txt
[1/2] Pushing 'Library\EncryptLibrary'
Cannot push 'Library\EncryptLibrary': A project used as library by other projects can not be encrypted
[2/2] Pushing 'EncryptProject2'
Successfully created cloud project 'EncryptProject2' in organization '<org-id>'
Successfully updated name, files, and libraries for 'EncryptProject2'