-
-
Notifications
You must be signed in to change notification settings - Fork 270
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
Feature request: dev
time dependencies
#744
Comments
You can still load packages in a lower environment in LOAD_PATH in the REPL. So if you install Revise.jl in the v1.0 environment, activate a dev environment, you can still do `using Revise´ in the REPL (or a script). |
That does mostly solve it, for user-dev packages, |
I would have thought that would just be
|
I think having a way to ask target environments in general would be useful. Then you could imagine having this: [extras]
TestPkgA = "<uuid>"
TestPkgB = "<uuid>"
DevToolA = "<uuid>"
DevToolB = "<uuid>"
[targets]
dev = ["DevToolA", "DevToolB"]
test = ["TestPkgA", "TestPkgB", "DevToolA"] In the manifest, one would have [[DevToolA]]
targets = ["dev", "test"] Which would let the system know that the package should only be loadable in the In the mean time, you can just have a git repo called |
Note that this has suddenly become a lot more significant now that |
I do not think my original idea is good anymore, |
The simplest solution I think of would be to simply have a |
Only for in source code breakpoints and we could come up with a way to do this without having Debugger loaded in the package. It just needs to be something unique in the code that we know marks a breakpoint. |
What do you have in mind? Adding a |
Take this to another issue? |
Similar to #727
This idea has been thrown around a few times on Discourse and Slack.
So I thought I would write it up, or at least start to
Consider the case where your active enviroment is a project you have
] dev
ed.This is kinda as I understand it an intended way to do package development.
It lets you do
] test
to test the project and]add
adds deps to the project.This means you do not have your normal enviroment.
So the idea of a
dev
time dependency is a set of packages that are installed when you rundev
.There exist packages you want to be using as a developer.
With
Revise.jl
now being the most common way to interactive editting,one really wants it at dev time.
Below is a list of packages that exist to be used at Dev time.
I break them into two categories.
user-dev: for packages that the use of depends on the preference of the developer.
I.e. you can develop the package without them, and different developers may want to use them or not.
project-dev: for packages that you actually can't develop the project without,
because they do some part that is required for the dev process, like generating code.
(You can develop parts of the project with out them, but there are some parts that you really shouldn't touch).
user-dev packages:
project-dev packages
Further to this list, just about any package can be a project-dev package, if you have some development scripting that needs it, like JSON.jl perhaps.
But it might be, that it is best if all test time dependencies were installed at dev time,
since that makes it easier to mess around with the tests manually/interactively.
The text was updated successfully, but these errors were encountered: