On 16/01/2013, at 6:06, Adam Murdoch <[email protected]> wrote:

> Hi,
> 
> To better support building Android apps (and other things), we want to rework 
> the jvm language plugins so that they can handle building multiple outputs 
> from a given set of source files.
> 
> I've made a bit of a start on a spec here, but's pretty rough: 
> https://github.com/gradle/gradle/blob/master/design-docs/building-multiple-outputs-from-jvm-languages.md
> 
> I need some suggestions for terminology:
> 
> 1. A term for the things that Gradle builds. With this work, plus 
> publications, components, reports and distributions work that is happening, 
> we're starting to model more of the things that Gradle can build. It feels 
> like we should have a term for this. So far we've been calling these things 
> 'things' and sometimes 'outputs'. I kind of like the term 'build item' from 
> abuild.

I don't fully understand the scope of what this thing is. 

Is it anything that can be produced during a build? Or is it something that is 
produced as a kind of primary goal?

> 2. A term for a thing that runs on a JVM. This is the focus of the spec 
> above. The spec calls these things a 'packaging', but this doesn't really 
> work that well. Note that this isn't the logical thing - we're calling them 
> 'components' - but the physical thing. Initially, there are 2 types of this 
> thing - a class directory packaging and a JAR packaging. If we come up with a 
> good term for 'things' in #1 above, we could just shove 'jvm' in front of it 
> as a name for these things (e.g. 'jvm build item').

What's the point of this term? How will it be used?

It seems to me that this is just describing a particular physical structure of 
a logical component. If that's the case, I think something like "format", 
"packaging", "structure" etc.

The term "jvm build item" seems far too general.

> 3. A term for a set of source of a specific language, that forms the input to 
> a compilation step. This is different to what we call 'source set' at the 
> moment - that's a logical grouping of source. The spec calls these things a 
> 'language source set'.
> 
> 4. A term for a logical set of source. Currently we call these a 'source 
> set'. The spec calls these things a 'functional source set'.

Do we need this distinction? Can't there just be source sets and composite 
source sets?


> 
> Suggestions?
> 
> --
> Adam Murdoch
> Gradle Co-founder
> http://www.gradle.org
> VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
> http://www.gradleware.com
> 

Reply via email to