On Sun, 9 Jun 2019 at 14:20, Gilles Sadowski <gillese...@gmail.com> wrote:
>
> Hi.
>
> Le dim. 9 juin 2019 à 14:06, James Carman <ja...@carmanconsulting.com> a 
> écrit :
> >
> > On Sun, Jun 9, 2019 at 7:36 AM sebb <seb...@gmail.com> wrote:
> >
> > >
> > > Huh?
> > > That can still cause jar issues, *precisely because* only one jar will
> > > reach the Java classpath.
> > >
> > > Suppose there is jar1 with API-V1.
> > > This is depended on by app1 and app2.
> > >
> > > Then jar2 is produced with API-V2 (not BC-compatible with API-V1)
> > > Update app2 to use jar2.
> > >
> > > Assuming jar2 is a later version than jar1, the classpath will no
> > > longer contain jar1.
> > > However jar1 contains objects needed by app1.
> > >
> >
> > My "jar hell" I usually think of is when two different jars are on the
> > classpath at the same time and they expose the same class name.
> > You're talking about the transitive dependency "jar hell" which
> > definitely can happen.  Sorry for my confusion.
> >
> > So, in order to get two different jars on the classpath at the same
> > time (which I thought was what the original request was about in order
> > to compare APIs), you'd need to change the maven coordinates to allow
> > them to co-exist.  When you do that, you'll need to change the package
> > names in order to avoid collisions.
> >
> > If folks are publishing jars for others to consume with alpha/beta
> > dependencies (which may very well change), I'd think that's really not
> > a good idea and we should document our alpha/beta releases as such
> > (although that's a pretty standard understanding).
>
> Sure, it's not good to depend on "beta"; but it's still better than
> no code at all.  With such releases, developers can start to
> migrate away from obsolete CM codes, knowing that if all is
> well, adapting to the final release will only be matter of a trivial
> update of the "import" statements.

Or just recommend that developers download the current CM branch/tag
and compile+test against that.

This means no need to change the import statements.
Which BTW might have to be done multiple times if there are several
alphas/betas.

And if errors are found in the user code, they may have to update
multiple versions.

This all seems a lot of work.

I question whether releasing source-incompatible code is likely to
encourage more alpha/beta testers compared with requiring users to
compile the code from source.

> >  The other option
> > is to just keep with SNAPSHOTs and tell folks to point to our snapshot
> > repository.
>
> This is a step worse than "beta", as the artefacts can change
> without notice.

That is always the case with SNAPSHOTs.

> Regards,
> Gilles
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to