Ticket #111 (assigned enhancement)

Opened 1 year ago

Last modified 1 year ago

Should be a way to explicitly list files

Reported by: baxissimo Assigned to: Gregor (accepted)
Priority: major Milestone: 0.74
Component: DSSS Version:
Keywords: Cc:

Description

When just starting out, it's handy that you don't have to explicitly list the source files that are part of a library. But at some point this can become annoying. My directories are littered with little test files like _mtest.d, example1.d, runshell.d etc. I don't want these things to be part of the library, but it can be annoying to have to list everything I don't care about in an 'exclude' list. I'd rather just explicitly list what *is* in the library.

Change History

08/13/07 11:27:17 changed by Gregor

  • status changed from new to assigned.
  • milestone set to 0.71.

I originally intended to make an "includes" as a counterpart to "excludes", but at the time nobody I was talking to seemed to think it would be very useful. Slated for 0.71.

08/13/07 22:15:45 changed by baxissimo

Great. I'm not sure how you envision it working, but what I'd like would be for 'includes' to include the file(s) specified _and_ all dependencies. So if A.d imports B.d which in turn imports C.d and D.d, the single line "includes=A.d" should pull in all of those.

In the most common case, what I have is a main library or exe, and then a few other crufty things sitting around that aren't part of the project, but are old versions of files that I'll probably delete eventually, or simple tests I wrote to try something out, etc. These extra files aren't referred to by anything so my thought is that something like main_files=mylib/all.d should be enough to get what I want and leave out what I don't.

08/14/07 17:13:24 changed by Gregor

  • milestone changed from 0.71 to 0.72.

This is going to be a bit more complicated than I anticipated, so I'm moving it to 0.72.

08/25/07 18:41:32 changed by Gregor

Sorry, 0.72 is going to be a bugfix release, so I have to push this off again :(

08/25/07 18:41:40 changed by Gregor

  • milestone changed from 0.72 to 0.73.

08/31/07 17:38:13 changed by Gregor

+ wildcards too

09/17/07 12:41:53 changed by Gregor

  • milestone changed from 0.73 to 0.74.

I've implemented this in revision 807. However, I'm not sure of how valuable it will really be. The main problem is that if you have interdependent libraries within a single build, the exact semantics of what include= should do are a bit wonky. I'm going to leave this open but bump it to the next revision, anticipating future changes.