Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[buckminster-dev] component materialization

Hi there,

In the dogfood example most components are pulled from CVS or SVN,
where they're stored as Eclipse projects. Buckminster materializes
them as-is. There are however also a few 3rd party components (e.g.
Apache log4j) being downloaded from the ibiblio Maven repository.
There the components are defined by a Maven POM and exist in binary
form as jars. Buckminster materializes them as jars inside the hidden
.buckminster Eclipse project.

I don't quite understand how Buckminster determines how a component
should be materialized. But I suspect it's the component provider's
role. Is that correct?

The reason I'm asking is that I'd like to implement other forms of
materialization. Here's two usecases I had in mind.

1. Materializing by creating new Eclipse projects -- I have a Java
project which I develop in Eclipse as a set of Eclipse plugins. Some
of these plugins depend on 3rd party components. E.g. Apache log4j. I
have currently created dedicated Eclipse plugin projects for these
components. They don't have any extensions or extension points, just a
runtime part. I don't know whether this is good practice or not, but
it does allow me to maintain finer grained dependencies. So I was
wondering if I could get Buckminster to materialize these 3rd party
components as Eclipse plugin projects for me. This would save me from
defining these dependencies in a separate buckminster.cspex file and
perform copy operations in the initial assembly build as in the
dogfood example.

2. Materializing by importing existing Eclipse projects -- In our
development environment we have an integration area in a shared file
system location where we have "prebuilt" read-only copies of all our
components. This means that a developer only has to fetch those
components from CVS which he intends to make changes to. Required
components will be used from the integration area. So I'd like to get
Buckminster to materialize these required components by importing the
existing projects from the integration area. Buckminster would thus
just create some workspace metadata.

What do you think about this?

Regards,

--knut


Back to the top