[Proposal] When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, Cloud Ready Microservice

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[Proposal] When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, Cloud Ready Microservice

Massimiliano Dessì
Hi all,
as a part of my daily job in Red Hat
I've worked on a "customization" of Maven for our Kie Workbench used with
Drools, JBPM and Optaplanner.
The starting point was exports Objects created by Drools inside our Maven
plugin, but the features are growed a lot.

A brief and not exhaustive list of the features:
-From static file producer to in memory producer and exporter
-Reusable internal components to optimize memory footprint and time of
execution
-Maven like a builder Daemon
-Configurable behaviour using a pipeline of decorators
-Stateless (when possible)
-Concurrent builds and concurrent logs
-Cloud enabled
-Local and remote executions
-Plugins turned from FileSystem based to in memory based
-Async API to consume build result
-Incremental builds

The current version is based on the Maven 3.3.9 but could be easily updated
and is in our plans in the next months.
Currently we have four modules plus other testing module and the offprocess
module is under development.

core
service
maven-plugins (plugins turned from FS to in memory)
distribution

Preso with details:
https://www.slideshare.net/desmax74/when-old-meets-new-turning-maven-into-a-high-scalable-resource-efficient-cloud-ready-microservice

I'd like to contribute this code, but since isn't a simple patch I'd like
discuss about how to contribute,
code plus tests is around 18k loc.

Best
Max
--
http://twitter.com/desmax74
http://www.linkedin.com/in/desmax74
http://www.slideshare.net/desmax74
Author of: Spring 2.5 Aspect Oriented Programming
"http://www.packtpub.com/aspect-oriented-programming-with-spring-2-5/book"
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, Cloud Ready Microservice

Karl Heinz Marbaise-3
Hi,

On 06/08/18 11:16, Massimiliano Dessì wrote:

> Hi all,
> as a part of my daily job in Red Hat
> I've worked on a "customization" of Maven for our Kie Workbench used with
> Drools, JBPM and Optaplanner.
> The starting point was exports Objects created by Drools inside our Maven
> plugin, but the features are growed a lot.
>
> A brief and not exhaustive list of the features:
> -From static file producer to in memory producer and exporter
> -Reusable internal components to optimize memory footprint and time of
> execution
> -Maven like a builder Daemon
> -Configurable behaviour using a pipeline of decorators
> -Stateless (when possible)
> -Concurrent builds and concurrent logs
> -Cloud enabled
> -Local and remote executions
> -Plugins turned from FileSystem based to in memory based
> -Async API to consume build result
> -Incremental builds
>
> The current version is based on the Maven 3.3.9 but could be easily updated
> and is in our plans in the next months.
> Currently we have four modules plus other testing module and the offprocess
> module is under development.
>
> core
> service
> maven-plugins (plugins turned from FS to in memory)
> distribution
>
> Preso with details:
> https://www.slideshare.net/desmax74/when-old-meets-new-turning-maven-into-a-high-scalable-resource-efficient-cloud-ready-microservice
>
> I'd like to contribute this code, but since isn't a simple patch I'd like
> discuss about how to contribute,
> code plus tests is around 18k loc.
>
> Best
> Max
>

This sounds great...at first I would like to take a deeper look on it
and do of course some test?...

Kind regards
Karl Heinz Marbaise

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, Cloud Ready Microservice

Karl Heinz Marbaise-3
Hi,

is the code somewhere available? Usable ?


kind regards
Karl Heinz Marbaise

On 06/08/18 13:15, Karl Heinz Marbaise wrote:

> Hi,
>
> On 06/08/18 11:16, Massimiliano Dessì wrote:
>> Hi all,
>> as a part of my daily job in Red Hat
>> I've worked on a "customization" of Maven for our Kie Workbench used with
>> Drools, JBPM and Optaplanner.
>> The starting point was exports Objects created by Drools inside our Maven
>> plugin, but the features are growed a lot.
>>
>> A brief and not exhaustive list of the features:
>> -From static file producer to in memory producer and exporter
>> -Reusable internal components to optimize memory footprint and time of
>> execution
>> -Maven like a builder Daemon
>> -Configurable behaviour using a pipeline of decorators
>> -Stateless (when possible)
>> -Concurrent builds and concurrent logs
>> -Cloud enabled
>> -Local and remote executions
>> -Plugins turned from FileSystem based to in memory based
>> -Async API to consume build result
>> -Incremental builds
>>
>> The current version is based on the Maven 3.3.9 but could be easily
>> updated
>> and is in our plans in the next months.
>> Currently we have four modules plus other testing module and the
>> offprocess
>> module is under development.
>>
>> core
>> service
>> maven-plugins (plugins turned from FS to in memory)
>> distribution
>>
>> Preso with details:
>> https://www.slideshare.net/desmax74/when-old-meets-new-turning-maven-into-a-high-scalable-resource-efficient-cloud-ready-microservice 
>>
>>
>> I'd like to contribute this code, but since isn't a simple patch I'd like
>> discuss about how to contribute,
>> code plus tests is around 18k loc.
>>
>> Best
>> Max
>>
>
> This sounds great...at first I would like to take a deeper look on it
> and do of course some test?...
>
> Kind regards
> Karl Heinz Marbaise

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, Cloud Ready Microservice

Massimiliano Dessì
In reply to this post by Massimiliano Dessì
Hi Tibor
the pom is changed the rirst time the compiler discover the project,
it turning off the default Maven compiler and adding Takari,
I've contributed the failOnError flag in Takari projects because we need to
provide a real incremental behaviour
to the user, compile all the correct stuff and provide the error message
about the parts to fix,
instead of stop everything.

2018-08-06 13:23 GMT+02:00 Tibor Digana <[hidden email]>:

> I am interested in the incremental builds.
> Takari has some extension for incremental build, and there are also some
> extensions for children in Maven multi-module project when you update it
> via Git.
>
> On Mon, Aug 6, 2018 at 11:16 AM, Massimiliano Dessì <
> [hidden email]> wrote:
>
> > Hi all,
> > as a part of my daily job in Red Hat
> > I've worked on a "customization" of Maven for our Kie Workbench used with
> > Drools, JBPM and Optaplanner.
> > The starting point was exports Objects created by Drools inside our Maven
> > plugin, but the features are growed a lot.
> >
> > A brief and not exhaustive list of the features:
> > -From static file producer to in memory producer and exporter
> > -Reusable internal components to optimize memory footprint and time of
> > execution
> > -Maven like a builder Daemon
> > -Configurable behaviour using a pipeline of decorators
> > -Stateless (when possible)
> > -Concurrent builds and concurrent logs
> > -Cloud enabled
> > -Local and remote executions
> > -Plugins turned from FileSystem based to in memory based
> > -Async API to consume build result
> > -Incremental builds
> >
> > The current version is based on the Maven 3.3.9 but could be easily
> updated
> > and is in our plans in the next months.
> > Currently we have four modules plus other testing module and the
> offprocess
> > module is under development.
> >
> > core
> > service
> > maven-plugins (plugins turned from FS to in memory)
> > distribution
> >
> > Preso with details:
> > https://www.slideshare.net/desmax74/when-old-meets-new-
> > turning-maven-into-a-high-scalable-resource-efficient-
> > cloud-ready-microservice
> >
> > I'd like to contribute this code, but since isn't a simple patch I'd like
> > discuss about how to contribute,
> > code plus tests is around 18k loc.
> >
> > Best
> > Max
> > --
> > http://twitter.com/desmax74
> > http://www.linkedin.com/in/desmax74
> > http://www.slideshare.net/desmax74
> > Author of: Spring 2.5 Aspect Oriented Programming
> > "http://www.packtpub.com/aspect-oriented-programming-
> with-spring-2-5/book"
> >
>



--
http://twitter.com/desmax74
http://www.linkedin.com/in/desmax74
http://www.slideshare.net/desmax74
Author of: Spring 2.5 Aspect Oriented Programming
"http://www.packtpub.com/aspect-oriented-programming-with-spring-2-5/book"
Reply | Threaded
Open this post in threaded view
|

Re: [Proposal] When Old Meets New: Turning Maven into a High Scalable, Resource Efficient, Cloud Ready Microservice

Paul Hammant
In reply to this post by Massimiliano Dessì
Related to Incremental - idempotent builds would be good.

Having been exposed to Google's Blaze (now Bazel in OSSland) and directed
graph build system science (as opposed to recursive build systems) there's
a great efficiency from skipping parts of a build that don't need to be
done.

Also related to incremental -
https://github.com/khmarbaise/incremental-module-builder goes some way.  It
doesn't do changes in dep triggering a build (or not), I don't think. It
also can't work out the difference between the heavy phases of a module's
build that are independently skipable (compile, test compile, jar, shade,
etc).

- Paul