On Wed, 2003-11-12 at 09:14, Vincent Massol wrote:

> I would view deliverables as core information and hence put it in the
> POM/core driver properties.

In the past we have tried to align the top-level POM fields with
dependencies so that there was a mesh for example we have:

<project>
  <groupId>foo</groupId>
  <artifactId>bar</artifactId>
  ...
</project>

Now lets take that a step further ...

> Don't you think defining a project's deliverables belong to the
> "standardized" property set? Isn't that a major structural information
> for a project?

Yes, but I am still of the mind that a project produces one artifact.
I'll call it the primary artifact for lack of a better word because
there are always docs and distributions and whatever else. But adding a
type to the top-level:

<project>
  <groupId>foo</groupId>
  <artifactId>bar</artifactId>
  <type>
</project>

Then this meshes an actual project more completely with the dependency
elements.

> A project requires several information:
> 1- what dependencies it has on others
> 2- what it generates

To me given a type at the top-level would indicate what we are
generating. 

I honestly do not like a <deliverables/> because it distinctly clashes
with a central notion of one artifact per project. Yes, in reality more
are produced but maybe this is an indication that projects need to be
separated further i.e. a small project for creating distributions and a
small project for creating various documentation artifacts.

> 3- how to generate the distributables
> 
> Number 2 is what we are discussing. Actually if you look at Gump's
> descriptors you'll find they have this information as it is required is
> you start managing several projects: the output from one project is the
> input from another project. It's also useful to verify if a full project
> build has been successful (i.e. if the distributables have all been
> generated).

I think we could do that by adding a <type/> to the top-level and think
harder about how we work with projects on a daily basis. 

I often assume the output of one project and use it for the input to
another all the time. I guess typically I assume the default jar type
and I have my projects organized in such a way as I know where they are
deposited.

I'm am not keen on a <deliverables/> element as I think allowing an
arbitrary number of deliverables versus forcing the thought of how to
decompose projects so that there is one artifact per project will lead
to problems down the line.

> Thanks
> -Vincent
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to