Releasing a subset of the Reactor

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

Releasing a subset of the Reactor

Andres Almiray
Hello everyone,

Does anyone know if it's possible to release justa  subset of the Reactor
when using the maven-release-plugin?

The Layrry build includes a set of modules (examples and integration tests)
that should not be part of the release. And added hurdle is that there are
"duplicate" modules, that is same groupId:artifactId but different version
for a couple of modules (I know, weird) which are needed to test Layrry's
capabilities to deal with conflicting module versions.

As it stands right now the release plugin attempts to release the whole
Reactor and croaks when it finds duplicate modules.

I haven't found a *.skip property like other plugins have.

TIA.

Cheers,
Andres

-------------------------------------------
Java Champion; Groovy Enthusiast
http://andresalmiray.com
http://www.linkedin.com/in/aalmiray
--
What goes up, must come down. Ask any system administrator.
There are 10 types of people in the world: Those who understand binary, and
those who don't.
To understand recursion, we must first understand recursion.
Reply | Threaded
Open this post in threaded view
|

Re: Releasing a subset of the Reactor

mthmulders
Hi Andres,

If its just about deploying the modules to a remote repo, you could set
the skip property of the maven-deploy-plugin. I've applied that trick in
a Maven plug-in I've made [1]; their integration tests don't need to be
in Central, but all other modules should. In this scenario, the
integration tests are versioned (tagged in Git) together with the actual
code, but they don't get uploaded.

HTH,

Maarten


[1] https://github.com/mthmulders/puml-maven-plugin

On 05/02/2021 13:06, Andres Almiray wrote:

> Hello everyone,
>
> Does anyone know if it's possible to release justa  subset of the Reactor
> when using the maven-release-plugin?
>
> The Layrry build includes a set of modules (examples and integration tests)
> that should not be part of the release. And added hurdle is that there are
> "duplicate" modules, that is same groupId:artifactId but different version
> for a couple of modules (I know, weird) which are needed to test Layrry's
> capabilities to deal with conflicting module versions.
>
> As it stands right now the release plugin attempts to release the whole
> Reactor and croaks when it finds duplicate modules.
>
> I haven't found a *.skip property like other plugins have.
>
> TIA.
>
> Cheers,
> Andres
>
> -------------------------------------------
> Java Champion; Groovy Enthusiast
> http://andresalmiray.com
> http://www.linkedin.com/in/aalmiray
> --
> What goes up, must come down. Ask any system administrator.
> There are 10 types of people in the world: Those who understand binary, and
> those who don't.
> To understand recursion, we must first understand recursion.
>

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

Reply | Threaded
Open this post in threaded view
|

Re: Releasing a subset of the Reactor

Andres Almiray
Hi Maarten,

Yup, this is a matter of fact an attempt to configure the Layrry build to publish its artifacts to Maven Central and make it happen with a single release commit.

I’ve got the deploy plugin configured in such a way they it will skip tests and examples. That works. However the release plugin complains about duplicate reactor modules (rightly so). I know I can change versions and tag manually but I’d rather have it automated hence the use of the release plugin.

Perhaps there’s a different way to do this? What I need is:
- given a subset of the Reactor:
  - attach sources and javadoc jars (done)
  - sign artifacts (done)
  - publish to Maven Central
     - deploy plugin?
     - release plugin?
  - automatic promotion from staging to production at MC.

Any tips to make this happen would be greatly appreciated.

Thanks!

Sent from my primitive tricorder

> On 5 Feb 2021, at 13:17, Maarten Mulders <[hidden email]> wrote:
>
> Hi Andres,
>
> If its just about deploying the modules to a remote repo, you could set the skip property of the maven-deploy-plugin. I've applied that trick in a Maven plug-in I've made [1]; their integration tests don't need to be in Central, but all other modules should. In this scenario, the integration tests are versioned (tagged in Git) together with the actual code, but they don't get uploaded.
>
> HTH,
>
> Maarten
>
>
> [1] https://github.com/mthmulders/puml-maven-plugin
>
>> On 05/02/2021 13:06, Andres Almiray wrote:
>> Hello everyone,
>> Does anyone know if it's possible to release justa  subset of the Reactor
>> when using the maven-release-plugin?
>> The Layrry build includes a set of modules (examples and integration tests)
>> that should not be part of the release. And added hurdle is that there are
>> "duplicate" modules, that is same groupId:artifactId but different version
>> for a couple of modules (I know, weird) which are needed to test Layrry's
>> capabilities to deal with conflicting module versions.
>> As it stands right now the release plugin attempts to release the whole
>> Reactor and croaks when it finds duplicate modules.
>> I haven't found a *.skip property like other plugins have.
>> TIA.
>> Cheers,
>> Andres
>> -------------------------------------------
>> Java Champion; Groovy Enthusiast
>> http://andresalmiray.com
>> http://www.linkedin.com/in/aalmiray
>> --
>> What goes up, must come down. Ask any system administrator.
>> There are 10 types of people in the world: Those who understand binary, and
>> those who don't.
>> To understand recursion, we must first understand recursion.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

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

Reply | Threaded
Open this post in threaded view
|

Re: Releasing a subset of the Reactor

Thomas Broyer-2
How about (in addition to disabling the deploy plugin, just in case)
putting those submodules into a profile, enabled by default, but disabled
during release? (e.g. through a "-P !tests" or "-Dit-tests=false" in
<arguments> and the appropriate activation for the profile)

On Fri, Feb 5, 2021 at 2:16 PM Andres Almiray <[hidden email]> wrote:

> Hi Maarten,
>
> Yup, this is a matter of fact an attempt to configure the Layrry build to
> publish its artifacts to Maven Central and make it happen with a single
> release commit.
>
> I’ve got the deploy plugin configured in such a way they it will skip
> tests and examples. That works. However the release plugin complains about
> duplicate reactor modules (rightly so). I know I can change versions and
> tag manually but I’d rather have it automated hence the use of the release
> plugin.
>
> Perhaps there’s a different way to do this? What I need is:
> - given a subset of the Reactor:
>   - attach sources and javadoc jars (done)
>   - sign artifacts (done)
>   - publish to Maven Central
>      - deploy plugin?
>      - release plugin?
>   - automatic promotion from staging to production at MC.
>
> Any tips to make this happen would be greatly appreciated.
>
> Thanks!
>
> Sent from my primitive tricorder
>
> > On 5 Feb 2021, at 13:17, Maarten Mulders <[hidden email]> wrote:
> >
> > Hi Andres,
> >
> > If its just about deploying the modules to a remote repo, you could set
> the skip property of the maven-deploy-plugin. I've applied that trick in a
> Maven plug-in I've made [1]; their integration tests don't need to be in
> Central, but all other modules should. In this scenario, the integration
> tests are versioned (tagged in Git) together with the actual code, but they
> don't get uploaded.
> >
> > HTH,
> >
> > Maarten
> >
> >
> > [1] https://github.com/mthmulders/puml-maven-plugin
> >
> >> On 05/02/2021 13:06, Andres Almiray wrote:
> >> Hello everyone,
> >> Does anyone know if it's possible to release justa  subset of the
> Reactor
> >> when using the maven-release-plugin?
> >> The Layrry build includes a set of modules (examples and integration
> tests)
> >> that should not be part of the release. And added hurdle is that there
> are
> >> "duplicate" modules, that is same groupId:artifactId but different
> version
> >> for a couple of modules (I know, weird) which are needed to test
> Layrry's
> >> capabilities to deal with conflicting module versions.
> >> As it stands right now the release plugin attempts to release the whole
> >> Reactor and croaks when it finds duplicate modules.
> >> I haven't found a *.skip property like other plugins have.
> >> TIA.
> >> Cheers,
> >> Andres
> >> -------------------------------------------
> >> Java Champion; Groovy Enthusiast
> >> http://andresalmiray.com
> >> http://www.linkedin.com/in/aalmiray
> >> --
> >> What goes up, must come down. Ask any system administrator.
> >> There are 10 types of people in the world: Those who understand binary,
> and
> >> those who don't.
> >> To understand recursion, we must first understand recursion.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

--
Thomas Broyer
/tɔ.ma.bʁwa.je/ <http://xn--nna.ma.xn--bwa-xxb.je/>
Reply | Threaded
Open this post in threaded view
|

Re: Releasing a subset of the Reactor

Andres Almiray
@Thomas: I think you just solved my problem. I had to check if profiles let
you modify <modules> and they do!

There's one issue left though, if tests and demos are left out of the
release then their versions won't be updated, which means their POMs will
have to be updated after a release.
I guess I can live with that given the peculiarities of the Layrry build.

I'll give profiles a try.

Thanks!

-------------------------------------------
Java Champion; Groovy Enthusiast
http://andresalmiray.com
http://www.linkedin.com/in/aalmiray
--
What goes up, must come down. Ask any system administrator.
There are 10 types of people in the world: Those who understand binary, and
those who don't.
To understand recursion, we must first understand recursion.


On Fri, Feb 5, 2021 at 8:27 PM Thomas Broyer <[hidden email]> wrote:

> How about (in addition to disabling the deploy plugin, just in case)
> putting those submodules into a profile, enabled by default, but disabled
> during release? (e.g. through a "-P !tests" or "-Dit-tests=false" in
> <arguments> and the appropriate activation for the profile)
>
> On Fri, Feb 5, 2021 at 2:16 PM Andres Almiray <[hidden email]> wrote:
>
> > Hi Maarten,
> >
> > Yup, this is a matter of fact an attempt to configure the Layrry build to
> > publish its artifacts to Maven Central and make it happen with a single
> > release commit.
> >
> > I’ve got the deploy plugin configured in such a way they it will skip
> > tests and examples. That works. However the release plugin complains
> about
> > duplicate reactor modules (rightly so). I know I can change versions and
> > tag manually but I’d rather have it automated hence the use of the
> release
> > plugin.
> >
> > Perhaps there’s a different way to do this? What I need is:
> > - given a subset of the Reactor:
> >   - attach sources and javadoc jars (done)
> >   - sign artifacts (done)
> >   - publish to Maven Central
> >      - deploy plugin?
> >      - release plugin?
> >   - automatic promotion from staging to production at MC.
> >
> > Any tips to make this happen would be greatly appreciated.
> >
> > Thanks!
> >
> > Sent from my primitive tricorder
> >
> > > On 5 Feb 2021, at 13:17, Maarten Mulders <[hidden email]>
> wrote:
> > >
> > > Hi Andres,
> > >
> > > If its just about deploying the modules to a remote repo, you could set
> > the skip property of the maven-deploy-plugin. I've applied that trick in
> a
> > Maven plug-in I've made [1]; their integration tests don't need to be in
> > Central, but all other modules should. In this scenario, the integration
> > tests are versioned (tagged in Git) together with the actual code, but
> they
> > don't get uploaded.
> > >
> > > HTH,
> > >
> > > Maarten
> > >
> > >
> > > [1] https://github.com/mthmulders/puml-maven-plugin
> > >
> > >> On 05/02/2021 13:06, Andres Almiray wrote:
> > >> Hello everyone,
> > >> Does anyone know if it's possible to release justa  subset of the
> > Reactor
> > >> when using the maven-release-plugin?
> > >> The Layrry build includes a set of modules (examples and integration
> > tests)
> > >> that should not be part of the release. And added hurdle is that there
> > are
> > >> "duplicate" modules, that is same groupId:artifactId but different
> > version
> > >> for a couple of modules (I know, weird) which are needed to test
> > Layrry's
> > >> capabilities to deal with conflicting module versions.
> > >> As it stands right now the release plugin attempts to release the
> whole
> > >> Reactor and croaks when it finds duplicate modules.
> > >> I haven't found a *.skip property like other plugins have.
> > >> TIA.
> > >> Cheers,
> > >> Andres
> > >> -------------------------------------------
> > >> Java Champion; Groovy Enthusiast
> > >> http://andresalmiray.com
> > >> http://www.linkedin.com/in/aalmiray
> > >> --
> > >> What goes up, must come down. Ask any system administrator.
> > >> There are 10 types of people in the world: Those who understand
> binary,
> > and
> > >> those who don't.
> > >> To understand recursion, we must first understand recursion.
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> --
> Thomas Broyer
> /tɔ.ma.bʁwa.je/ <http://xn--nna.ma.xn--bwa-xxb.je/> <
> http://xn--nna.ma.xn--bwa-xxb.je/>
>