Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cbi-dev] Granularity of current Tycho build of eclipse sdk



On 12-08-04 1:47 PM, David M Williams wrote:
If I may ask another, probably "dumb question", What was the point,
exactly, of "building everything at once"? I know there was an initial
effort to build equinox, and then the platform, and then jdt and pde and
at the time that failed because the "repositories were not correct" for
that approach. I'm wondering if thing have improved enough (in Tycho or
understanding) that the Tycho builds could be more "feature driven" now?


Short answer is no, nothing has changed and I do not believe more
granular build is possible without somewhat noticeable changes to
Platform code structure.

I'm not sure about "platform and equinox" that might be hopelessly
intertwined due to intertwined history, but seems to me the
Platform-plus-equinox, JDT, and PDE, should be easily separable?


I don't remember all the details (and don't have my notes handy), but
from the top of my head

* test harness is part of eclipse.platform.runtime but requires PDE, JDT
* org.eclipse.core.resources requires ANT and therefore JDT
* org.eclipse.equinox.security.ui requires UI
* equinox sdk features have "forward" references to bundles and features
from other repositories.
* most likely other circular dependencies I don't remember

I tried to untangle these but ended up with number of git repositories I
thought was unreasonably high. I did not have time to try separating
only some components, like JDT or PDE.

I'm fairly sure they would be for PDE and the only reason no effort was
made in the past was so that everything could be included in one big zip
to "ship over" from IBM machines, to eclipse.org machines for signing,
and then shipped aback, and packaging and tests continue from there.


Tycho does not currently provide a nice way to publish build results for
downstream consumption. In other words, even if we figure out how to
build eclipse.platform.runtime by itself, there is currently no nice way
to make the binaries available for JDT build.

I think the problem is more complicated than "lets just publish each
build to a composite repository", but at the same time I never had the
time to sit down and really think this through, so I may be wrong.

I do believe proper granular build is more or less "must have" cbi
feature. I already had questions about building individual Platform
components and I think this will become more important as project
outside of Platform start adopting cbi.

I am asking to try and catch up my education. Is Tycho "repo driven"? Or
can it be made to be "feature driven"? I think the answer will give me
(us all) a good idea of what kind of simplifications could be made in
the future, since, I believe, part of the goal of this transition is to
end up with simpler, easier to understand builds.


Tycho uses maven pom.xml <modules> configuration element to decide
projects (or "modules" in Maven speak" to build, but it assumes all
modules to be available locally before the build and will never attempt
to checkout/clone source code from a version control system.

--
Regards,
Igor


Back to the top