Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [linuxtools-dev] Building only one component

> With a recent change merged to master (see below), it now becomes
> impossible to build just a single component in the Linux Tools tree. For
> example, doing:
> 
> $ cd lttng/
> $ mvn clean install
> 
> used to work, and would build and run tests only for the LTTng
> component. Now it fails with the following error:
> 
> [ERROR] Internal error: java.lang.RuntimeException: "No solution found
> because the problem is unsatisfiable.": ["Unable to satisfy dependency
> from org.eclipse.linuxtools.ctf.feature.group 2.1.0.qualifier to
> org.eclipse.linuxtools.license.feature.feature.group [1.0.0,1.0.1).",
> "No solution found because the problem is unsatisfiable."] -> [Help 1]
>
> I think it's nice to have all the licensing information in one place,
> but is there a way to add a dependency to something like
> "../releng/org.eclipse.linuxtools.license-feature", so that it remains
> possible to build one component at a time with Maven?

This raises a good point. Actually, most other projects (that depend on
the profiling framework already can't build in the way you describe
because their dependencies are in a different module. In these cases
you'd have to build the dependent modules first, and as long as those
never needed to be rebuilt, one could keep them in the reactor cache
and just use that for resolution.

If you do a full build from the license feature folder, (making sure the
install phase runs), then the license feature should be installed into the
reactor cache. From there, it should be possible to build from the
lttng module without ever having to build the license feature again, unless
you delete it from the reactor cache. Note that the license feature is
unlikely to change very often so having it resolve from the reactor cache
should not be a problem.

(Do this once)
$ cd releng/org.eclipse.linuxtools.license-feature/
$ mvn clean install
$ cd ../../lttng

(This should now work any number of times)
$ mvn clean install

Let me know if this works for you,
-- 
Roland Grunberg


Back to the top