[Hawkular-dev] Console project structure and plugins

mike thompson mithomps at redhat.com
Tue Jan 27 12:25:36 EST 2015


> On 27 Jan 2015, at 09:09, Viliam Rockai <vrockai at redhat.com> wrote:
> 
> Hey All,
> 
> I want to start this thread to gather some information about how
> components are shared between projects. So, to make the terminology
> clear, lets check this stuff:
> https://github.com/vrockai/hawkular/tree/master/ui/console/alerts
> https://github.com/vrockai/hawkular/tree/master/ui/console/metrics
> 
> are future components/widgets which are going to be used on the console
> page. Those components are Hawtio 2.x plugins.
> 
> According to:
> https://github.com/hawtio/hawtio/blob/master/docs/Overview2dotX.md
> 
> I expect exposing plugins as bower packages is the preferred way in
> Hawtio 2.x. From my perspective (angular guy) this is pretty much what
> is expected. The only way to expose/share those components as bower
> packages to third-parties would be to put them in separate repo. As was
> already said on IRC, this may be overkill. I see two ways of resolution:
> 
> 1. Create separate repository for each component. Those all would be
> bower dependencies of the hawkular console.
> Pros: possibly consistent with the Hawtio 2.x ways, modularity = we
> download only what we need. 
> Cons: lots of repositories to take care of.
> 
> 2. Create a single repository for all the plugins. The whole library of
> sibling components, similar to i.e. Angular-UI. 
> Pros: easier maintenance. 
> Cons: less modular = need to download whole library before we filter
> which plugins we want to use.

We could use a combination of 1 + 2 meaning: use the directory structure of 2, but publishing each of those plugins as bower components to pulled into the main Hawkular-console (or other hawt.io consoles). This keeps the plugins free of maven as only the Hawkular console build would use maven to pull in the bower components. Each plugin publishes a new version when ready and Hawkular console can assemble using whatever versions.
Pros: easier maintenance, code is all in one place. We get bower components and versioning.
Cons: there is no need for a target directory (because no maven for ui plugins) so bower/npm component artefacts get downloaded into source dir.


> 
> I see, that the 2nd approach already exists in the hawtio repository,
> probably the best way would be to put our components to this repo:
> https://github.com/hawtio/hawtio-ui
> 
> Thanks for your thoughts,
> 
> Viliam
> 
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev




More information about the hawkular-dev mailing list