What I've done in the past is setup a
standalone build that build the patch and all the plugins, and
produce an update site. Then my product build includes the feature
patch and gets it from the previously built repo.
HTH
Pascal
On 07/02/2014 11:29 AM, David M Williams wrote:
I'm trying to produce
some "feature
patches" with Tycho, and while I've read of some issues, and
read
some advice, I'm wondering if someone can confirm or recommend
"the
best way" to accomplish it ... or confirm if it is impossible!
Seems
much of what I've found "searching the net" is fairly old, and
wondering if there have been improvements? (I've discussed
some
of my issues/approaches in Bug 427242
).
My first thought was that since
the
build we are trying to "patch" already exists in a p2
repository,
I could simply use .target files, configured in the
target-platform-configuration
so the new bundles being built could get already built
"pre-reqs"
from there ... and still build the things we said were new and
should be
re-built. But, this didn't seem to work, easily. As if there was
confusion,
in Tycho, if it should rebuild something, or just re-use what
was in target
configuration.
Sound right? Known
bug/limitation?
Second, I could sort of get that
approach
to partially work by carefully specifying things from the target
that were
not being re-built so only lower level, true "prereqs" would
come from there ... but then ran into trouble trying to do
things with
"more than one Git repository". I _think_ the problem might be
related to having some "circular dependencies" (across
repositories)
so it was impossible to specify "only pre-reqs". After
much tedious effort, I got to the point where the "stumbling"
point was in the patch feature, where we say "patch feature
requires
original feature version 1234". If I did not include "1234"
in the list of prereqs, it'd say "not found". If I did include
it, then it would "drag along" all its original bundles and they
would not be re-built.
Sounds familiar? Known issue? Is
there
some "trick" to specify the version of the feature to patch?
(such as use "0.0.0")? Or could I have been make a simple
mistake?
At any rate, it sounded like,
from comments
in Bug 427242
that perhaps the only way
to do "patch
features" is to do one run, building everything, and actually
"installing"
results in local repo. Then do a second run, that did not start
with a
clean slate, but simply "assembled" what was built and installed
the first time.
Is it true this is the
recommended pattern
in Tycho to produce "feature patches"?
= = = = = = = = = = =
While experimenting with the
various
approaches, I thought of some solutions (that didn't seem to
work) and
thought I'd ask some more specific questions, to determine if I
was off-base,
or simply making a mistake or not doing it quite right? (with
the goal
of understanding Tycho/Maven better).
Do (or can)
target-platform-configurations
have a limited scope? So for example, I could have a different
.target
file for each feature (or repository) I am building patches for?
I get the impression not, that
there
is only one, used for everything ... or else, I do not know how
to specify
"scope".
Even if only one
"target-platform-configuration",
can the .target files be changed from one point to another ...
or are they
too "additive" and no way to replace what was specified
previously?
= = = = = = = = = = = =
Thanks for any advice or pointers
to
examples,
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user
|