diffplug / goomph

IDE as build artifact
Apache License 2.0
130 stars 30 forks source link

Is there any support for building features? #11

Closed thomasmhofmann closed 7 years ago

thomasmhofmann commented 7 years ago

Hi, I didn't see any examples that use features. Is there anything that I might have overlooked? Is it possible to build a product based on features?

nedtwigg commented 7 years ago

You're correct that there aren't any examples, but it is possible (we use it in our build at DiffPlug).

The easiest way is to use the FeaturesAndBundlesPublisherApplication.

Goomph has a DSL for wrapping its inputs.

thomasmhofmann commented 7 years ago

I'll see if I can figure it out. Thanks for now.

thomasmhofmann commented 7 years ago

Hi again, I looked at the FeaturesAndBundlesPublisherApplication and I don't think it does what I need to do.

Let me explain: I got a whole bunch of plugin and feature projects in my multi-project build. I also got product definitions that are based on these features.

In the end, I want to build the different RCP products.

Now, I use the org.standardout.bnd-platform gradle plugin to build the plugins (like in your sample in the target.maven project). This works.

The feature projects that I have must be built some other way and this is where I am currently stuck.

Looking at the docs for PDE Product builds I figure that it would be sufficient to place (copy) the feature projects to the buildDirectory into a features subdirectory. Then, when the product build runs, the features should also be built.

It tried to do so but stumbled upon the problem, that the buildDirectory is being deleted when the PdeBuildTask is run (Line 151).

Do you have any suggestions to this not so uncommon problem of building a feature-based product? Am I missing something? I don't want to build each feature separately so that they are already pre-built when I run the product build.

If copying the feature projects to the buildDirectory of the product build would actually build the needed features you might add a CopySpec to the PdeBuildTask that the task would then use to copythe features to that directory.

nedtwigg commented 7 years ago

Am I missing something?

Nope! You're probably just the first person to use Goomph for a feature-based product.

We built Goomph to solve the problems we had at DiffPlug, and our product is plugin-based (we also have several features which we build using FeaturesAndBundlesPublisher). Feature-based products are certainly a use-case we'd like to help with, but we don't have an example to test against.

I'd be happy to merge a PR that makes whatever changes are required to fix your issue, or I'd be happy to setup an hour or two consulting job to sit down with you over a screenshare to figure it out (contact info in my profile).

thomasmhofmann commented 7 years ago

OK thanks for your response. I forked the repo and will try a few different things first.

nedtwigg commented 7 years ago

Closing due to inactivity, feel free to reopen.