You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by David Blevins <da...@gmail.com> on 2022/02/21 03:51:55 UTC

Dependencies on previous releases / Use of [8.0,) in examples

I've been digging through the build trying to eliminate dependencies older releases.

We've been inconsistently updating the versions in the examples, so I've gone and fixed a few of those.  We had some tools like the TomEE Patch Plugin indirectly pulling 8.0.0-M3 artifacts -- now fixed.

One of the things adding to the issue is the use of `<version>[8.0,)</version>` as the TomEE version in our examples.

This looks like a very well-intentioned way to get the latest version and avoid always having to update versions in examples.  What I'm seeing in practice is that it behaves very inconsistently from example to example for reasons that are unclear.

For example in the example `javamail-velocity` it downloads stuff from 8.0.7, 8.0.8, 8.0.9 and 8.0.10-SNAPSHOT. In fact if you build offline without those versions in your m2 repo, you'll get a build failure.  If you'd like to try, here's a quick way to delete the last few releases while leaving your 8.0.11-SNAPSHOTs intact:

    $ rm -r ~/.m2/repository/org/apache/tomee/*/8.0.{7,8,9,10}*
    $ rm -r ~/.m2/repository/org/apache/tomee/bom/boms/8.0.{7,8,9,10}*

Ultimately this means our build is actually dependent on previous releases.  Here's the full list of old release binaries our build needs to function:

 - https://gist.github.com/dblevins/c86f302c8a5b2afa4fecea905ad583fb

I don't see a way to eliminate these without eliminating our `<version>[8.0,)</version>` usage.

Any thoughts?


-- 
David Blevins
http://twitter.com/dblevins
http://www.tomitribe.com


Re: Dependencies on previous releases / Use of [8.0,) in examples

Posted by "Zowalla, Richard" <ri...@hs-heilbronn.de>.
"tomee-webaccess-7.0.0.war" is only used to participate in a
StripVersionTest: "tomee-webaccess-7.0.0.war" -> "tomee-webaccess".

Imho, it could basically be an empty WAR file, i.e. we could build a
"fake" war during our build and reference it. 

Same holds for the (outdated) sirona-javaagent. We could also add a
"fake" javaagent (or any other modern and small javaagent) to test the
same functionality.

Question would be: Separate repository or include it in a module of
TomEE main (which one)?

Gruß
Richard



Am Montag, dem 21.02.2022 um 20:48 -0500 schrieb David Blevins:
> Nice,
> 
> We're down to just one reference to a past release, tomee-webaccess-
> 7.0.0.war!  We're using that to test the TomEE Maven Plugin.
> 
> If someone wanted to cut it out, it looks like basically any war
> would work as long as it was in Maven Central.  Maybe we could push
> something up there that's smaller than 6.9MB.
> 
> 
> -David
> 
> > On Feb 21, 2022, at 3:49 AM, Jean-Louis Monteiro <
> > jlmonteiro@tomitribe.com> wrote:
> > 
> > +1
> > 
> > I did the same in the 9.x branch.
> > I'm not a fan either because as you mentioned, it's not
> > reproducible.
> > 
> > --
> > Jean-Louis Monteiro
> > http://twitter.com/jlouismonteiro
> > http://www.tomitribe.com
> > 
> > 
> > On Mon, Feb 21, 2022 at 8:03 AM Zowalla, Richard <
> > richard.zowalla@hs-heilbronn.de> wrote:
> > 
> > > I think, that we need to totally avoid the range syntax in our
> > > examples. We also use it for the EE API and some other things in
> > > there.
> > > 
> > > In total, it leads to (non) reproducable builds (as you
> > > described).
> > > 
> > > I am strongly +1 for replacing the range syntax by plain versions
> > > in
> > > the examples.
> > > 
> > > Gruß
> > > Richard
> > > 
> > > Am Sonntag, dem 20.02.2022 um 22:51 -0500 schrieb David Blevins:
> > > > I've been digging through the build trying to eliminate
> > > > dependencies
> > > > older releases.
> > > > 
> > > > We've been inconsistently updating the versions in the
> > > > examples, so
> > > > I've gone and fixed a few of those.  We had some tools like the
> > > > TomEE
> > > > Patch Plugin indirectly pulling 8.0.0-M3 artifacts -- now
> > > > fixed.
> > > > 
> > > > One of the things adding to the issue is the use of
> > > > `<version>[8.0,)</version>` as the TomEE version in our
> > > > examples.
> > > > 
> > > > This looks like a very well-intentioned way to get the latest
> > > > version
> > > > and avoid always having to update versions in examples.  What
> > > > I'm
> > > > seeing in practice is that it behaves very inconsistently from
> > > > example to example for reasons that are unclear.
> > > > 
> > > > For example in the example `javamail-velocity` it downloads
> > > > stuff
> > > > from 8.0.7, 8.0.8, 8.0.9 and 8.0.10-SNAPSHOT. In fact if you
> > > > build
> > > > offline without those versions in your m2 repo, you'll get a
> > > > build
> > > > failure.  If you'd like to try, here's a quick way to delete
> > > > the last
> > > > few releases while leaving your 8.0.11-SNAPSHOTs intact:
> > > > 
> > > >    $ rm -r ~/.m2/repository/org/apache/tomee/*/8.0.{7,8,9,10}*
> > > >    $ rm -r
> > > > ~/.m2/repository/org/apache/tomee/bom/boms/8.0.{7,8,9,10}*
> > > > 
> > > > Ultimately this means our build is actually dependent on
> > > > previous
> > > > releases.  Here's the full list of old release binaries our
> > > > build
> > > > needs to function:
> > > > 
> > > > - 
> > > > https://gist.github.com/dblevins/c86f302c8a5b2afa4fecea905ad583fb
> > > > 
> > > > I don't see a way to eliminate these without eliminating our
> > > > `<version>[8.0,)</version>` usage.
> > > > 
> > > > Any thoughts?
> > > > 
> > > > 

Re: Dependencies on previous releases / Use of [8.0,) in examples

Posted by David Blevins <da...@gmail.com>.
Nice,

We're down to just one reference to a past release, tomee-webaccess-7.0.0.war!  We're using that to test the TomEE Maven Plugin.

If someone wanted to cut it out, it looks like basically any war would work as long as it was in Maven Central.  Maybe we could push something up there that's smaller than 6.9MB.


-David

> On Feb 21, 2022, at 3:49 AM, Jean-Louis Monteiro <jl...@tomitribe.com> wrote:
> 
> +1
> 
> I did the same in the 9.x branch.
> I'm not a fan either because as you mentioned, it's not reproducible.
> 
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
> 
> 
> On Mon, Feb 21, 2022 at 8:03 AM Zowalla, Richard <
> richard.zowalla@hs-heilbronn.de> wrote:
> 
>> I think, that we need to totally avoid the range syntax in our
>> examples. We also use it for the EE API and some other things in there.
>> 
>> In total, it leads to (non) reproducable builds (as you described).
>> 
>> I am strongly +1 for replacing the range syntax by plain versions in
>> the examples.
>> 
>> Gruß
>> Richard
>> 
>> Am Sonntag, dem 20.02.2022 um 22:51 -0500 schrieb David Blevins:
>>> I've been digging through the build trying to eliminate dependencies
>>> older releases.
>>> 
>>> We've been inconsistently updating the versions in the examples, so
>>> I've gone and fixed a few of those.  We had some tools like the TomEE
>>> Patch Plugin indirectly pulling 8.0.0-M3 artifacts -- now fixed.
>>> 
>>> One of the things adding to the issue is the use of
>>> `<version>[8.0,)</version>` as the TomEE version in our examples.
>>> 
>>> This looks like a very well-intentioned way to get the latest version
>>> and avoid always having to update versions in examples.  What I'm
>>> seeing in practice is that it behaves very inconsistently from
>>> example to example for reasons that are unclear.
>>> 
>>> For example in the example `javamail-velocity` it downloads stuff
>>> from 8.0.7, 8.0.8, 8.0.9 and 8.0.10-SNAPSHOT. In fact if you build
>>> offline without those versions in your m2 repo, you'll get a build
>>> failure.  If you'd like to try, here's a quick way to delete the last
>>> few releases while leaving your 8.0.11-SNAPSHOTs intact:
>>> 
>>>    $ rm -r ~/.m2/repository/org/apache/tomee/*/8.0.{7,8,9,10}*
>>>    $ rm -r
>>> ~/.m2/repository/org/apache/tomee/bom/boms/8.0.{7,8,9,10}*
>>> 
>>> Ultimately this means our build is actually dependent on previous
>>> releases.  Here's the full list of old release binaries our build
>>> needs to function:
>>> 
>>> - https://gist.github.com/dblevins/c86f302c8a5b2afa4fecea905ad583fb
>>> 
>>> I don't see a way to eliminate these without eliminating our
>>> `<version>[8.0,)</version>` usage.
>>> 
>>> Any thoughts?
>>> 
>>> 
>> 


Re: Dependencies on previous releases / Use of [8.0,) in examples

Posted by Jean-Louis Monteiro <jl...@tomitribe.com>.
+1

I did the same in the 9.x branch.
I'm not a fan either because as you mentioned, it's not reproducible.

--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Mon, Feb 21, 2022 at 8:03 AM Zowalla, Richard <
richard.zowalla@hs-heilbronn.de> wrote:

> I think, that we need to totally avoid the range syntax in our
> examples. We also use it for the EE API and some other things in there.
>
> In total, it leads to (non) reproducable builds (as you described).
>
> I am strongly +1 for replacing the range syntax by plain versions in
> the examples.
>
> Gruß
> Richard
>
> Am Sonntag, dem 20.02.2022 um 22:51 -0500 schrieb David Blevins:
> > I've been digging through the build trying to eliminate dependencies
> > older releases.
> >
> > We've been inconsistently updating the versions in the examples, so
> > I've gone and fixed a few of those.  We had some tools like the TomEE
> > Patch Plugin indirectly pulling 8.0.0-M3 artifacts -- now fixed.
> >
> > One of the things adding to the issue is the use of
> > `<version>[8.0,)</version>` as the TomEE version in our examples.
> >
> > This looks like a very well-intentioned way to get the latest version
> > and avoid always having to update versions in examples.  What I'm
> > seeing in practice is that it behaves very inconsistently from
> > example to example for reasons that are unclear.
> >
> > For example in the example `javamail-velocity` it downloads stuff
> > from 8.0.7, 8.0.8, 8.0.9 and 8.0.10-SNAPSHOT. In fact if you build
> > offline without those versions in your m2 repo, you'll get a build
> > failure.  If you'd like to try, here's a quick way to delete the last
> > few releases while leaving your 8.0.11-SNAPSHOTs intact:
> >
> >     $ rm -r ~/.m2/repository/org/apache/tomee/*/8.0.{7,8,9,10}*
> >     $ rm -r
> > ~/.m2/repository/org/apache/tomee/bom/boms/8.0.{7,8,9,10}*
> >
> > Ultimately this means our build is actually dependent on previous
> > releases.  Here's the full list of old release binaries our build
> > needs to function:
> >
> >  - https://gist.github.com/dblevins/c86f302c8a5b2afa4fecea905ad583fb
> >
> > I don't see a way to eliminate these without eliminating our
> > `<version>[8.0,)</version>` usage.
> >
> > Any thoughts?
> >
> >
>

Re: Dependencies on previous releases / Use of [8.0,) in examples

Posted by "Zowalla, Richard" <ri...@hs-heilbronn.de>.
I think, that we need to totally avoid the range syntax in our
examples. We also use it for the EE API and some other things in there.

In total, it leads to (non) reproducable builds (as you described).

I am strongly +1 for replacing the range syntax by plain versions in
the examples.

Gruß
Richard

Am Sonntag, dem 20.02.2022 um 22:51 -0500 schrieb David Blevins:
> I've been digging through the build trying to eliminate dependencies
> older releases.
> 
> We've been inconsistently updating the versions in the examples, so
> I've gone and fixed a few of those.  We had some tools like the TomEE
> Patch Plugin indirectly pulling 8.0.0-M3 artifacts -- now fixed.
> 
> One of the things adding to the issue is the use of
> `<version>[8.0,)</version>` as the TomEE version in our examples.
> 
> This looks like a very well-intentioned way to get the latest version
> and avoid always having to update versions in examples.  What I'm
> seeing in practice is that it behaves very inconsistently from
> example to example for reasons that are unclear.
> 
> For example in the example `javamail-velocity` it downloads stuff
> from 8.0.7, 8.0.8, 8.0.9 and 8.0.10-SNAPSHOT. In fact if you build
> offline without those versions in your m2 repo, you'll get a build
> failure.  If you'd like to try, here's a quick way to delete the last
> few releases while leaving your 8.0.11-SNAPSHOTs intact:
> 
>     $ rm -r ~/.m2/repository/org/apache/tomee/*/8.0.{7,8,9,10}*
>     $ rm -r
> ~/.m2/repository/org/apache/tomee/bom/boms/8.0.{7,8,9,10}*
> 
> Ultimately this means our build is actually dependent on previous
> releases.  Here's the full list of old release binaries our build
> needs to function:
> 
>  - https://gist.github.com/dblevins/c86f302c8a5b2afa4fecea905ad583fb
> 
> I don't see a way to eliminate these without eliminating our
> `<version>[8.0,)</version>` usage.
> 
> Any thoughts?
> 
>