RejectedSoftware Forums

Sign up

Development dependencies?

I'm thinking out loud here. RubyGems have a way to specify development
dependencies, which are different from the regular dependencies.

These dependencies are not required to build or run the package and not
installed by default. But they are used when developing the project.
Example, for a Rails plugin I'm working on I have these development
dependencies:

guard-rspec - automatically runs tests
guard-spork - automatically restarts "spork", see below
pry-doc - extension to the pry debugger
pry-exceptionexplorer - extension to the pry debugger
pry-rails - the pry debugger
pry-stack
explorer - extension to the pry debugger
rspec-rails - testing framework
spork - pre-initialize the testing environment to make the test run faster

Would that be a good addition?

/Jacob Carlborg

Re: Development dependencies?

Am 15.09.2013 13:36, schrieb Jacob Carlborg:

I'm thinking out loud here. RubyGems have a way to specify development
dependencies, which are different from the regular dependencies.

These dependencies are not required to build or run the package and not
installed by default. But they are used when developing the project.
Example, for a Rails plugin I'm working on I have these development
dependencies:

guard-rspec - automatically runs tests
guard-spork - automatically restarts "spork", see below
pry-doc - extension to the pry debugger
pry-exceptionexplorer - extension to the pry debugger
pry-rails - the pry debugger
pry-stack
explorer - extension to the pry debugger
rspec-rails - testing framework
spork - pre-initialize the testing environment to make the test run faster

Would that be a good addition?

It sounds like it would fit in well together with "optional" and
"runtime" dependencies. Actually, maybe "optional" could already be used
for this? Sorry if that doesn't make sense ;)

Re: Development dependencies?

On 2013-09-15 14:05, Sönke Ludwig wrote:

It sounds like it would fit in well together with "optional" and
"runtime" dependencies. Actually, maybe "optional" could already be used
for this? Sorry if that doesn't make sense ;)

Yes, sounds like "optional" could be used for this. When/how does those
get installed?

I couldn't find any documentation for "runtime" here:
http://code.dlang.org/package-format

"runtime" sounds like dependencies needed to run the package. This only
sounds useful for binary packages. I.e. three dependencies are required
to build the package but only one dependency to run it.

/Jacob Carlborg

Re: Development dependencies?

Am 15.09.2013 14:16, schrieb Jacob Carlborg:

On 2013-09-15 14:05, Sönke Ludwig wrote:

It sounds like it would fit in well together with "optional" and
"runtime" dependencies. Actually, maybe "optional" could already be used
for this? Sorry if that doesn't make sense ;)

Yes, sounds like "optional" could be used for this. When/how does those
get installed?

Any matching package that is available (dub list-installed) will
qualify. So the easiest way is "dub install (optional package name)" to
install user wide.

I couldn't find any documentation for "runtime" here:
http://code.dlang.org/package-format

"runtime" sounds like dependencies needed to run the package. This only
sounds useful for binary packages. I.e. three dependencies are required
to build the package but only one dependency to run it.

I was mixing up things there. What I really meant was the planned
support for executable dependencies, such as a parser generator that is
needed to generate the actual source code. But this is actually just an
ordinary dependency with a selected configuration that has
"targetType": "executable".

Runtime dependencies, I think, were discussed during the early system
package discussion, but that's a whole different topic of course.

Re: Development dependencies?

On 2013-09-15 15:07, Sönke Ludwig wrote:

Any matching package that is available (dub list-installed) will
qualify. So the easiest way is "dub install (optional package name)" to
install user wide.

I cannot run something like: "dub install foo --include-optional"?

/Jacob Carlborg

Re: Development dependencies?

Am 15.09.2013 15:51, schrieb Jacob Carlborg:

On 2013-09-15 15:07, Sönke Ludwig wrote:

Any matching package that is available (dub list-installed) will
qualify. So the easiest way is "dub install (optional package name)" to
install user wide.

I cannot run something like: "dub install foo --include-optional"?

Currently not, but I'll add that.

https://github.com/rejectedsoftware/dub/issues/123

Re: Development dependencies?

On 2013-09-15 16:50, Sönke Ludwig wrote:

Currently not, but I'll add that.

https://github.com/rejectedsoftware/dub/issues/123

Thanks.

/Jacob Carlborg

Re: Development dependencies?

Well, you already know what I think ;)