You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Slawomir Jaranowski <s....@gmail.com> on 2022/06/24 18:12:21 UTC

maven-shared-utils what the future is ...

Hi,

maven-shared-utils has many deprecated stuff and looks like we want to bury
this project.

I want to fix the issue: MSHARED-1072 [1] ...  is in maven-shared-utils
project

I need it in maven-invoker, which is used by m-release-p for executing fork
builds ...

So I've tried to see if it is possible to move code responsible for the cli
process from shared-utils to invoker ....

but ... looks like package org.apache.maven.shared.utils.cli is even
widely used [2], so coping code is not good

Some other idea?


[1] https://issues.apache.org/jira/browse/MSHARED-1072
[2]
https://github.com/search?l=Java&p=7&q=org.apache.maven.shared.utils.cli&type=Code
-- 
Sławomir Jaranowski

Re: maven-shared-utils what the future is ...

Posted by Slawomir Jaranowski <s....@gmail.com>.
Hi,

Never mind what and why happened in the past the fact is the today we have
two similar library (even three shared-utils 3.x and 4.x)

We should make a decision which library will be maintained, add information
in project code (README) and finally retire one.

I'm not happy to maintain both.

pt., 1 lip 2022 o 07:55 Herve Boutemy <hb...@apache.org> napisał(a):

> given in the past, maven-shared-utils was expected to replace in the long
> term plexus-utils and give us more a Maven-centric view, yes, I added the
> Maven-specific logging code in maven-shared-utils in 2016
>
> if we finally go the other way now, and create a new lib, we'll need to
> avoid the same situation in a few years
>
> On 2022/06/27 06:42:18 Konrad Windszus wrote:
> > Thanks for the feedback.
> > This package depends on JAnsi and is pretty Maven-specific (
> https://github.com/apache/maven-shared-utils/blob/master/src/main/java/org/apache/maven/shared/utils/logging/Style.java),
> so therefore probably not a good fit for the Maven-agnostic plexus-utils.
> >
> > I use it for example for custom Maven enforcer rules (to emit warnings
> with some more colours/styling) and also plan to use it for this
> filevault-package-maven-plugin (
> https://issues.apache.org/jira/browse/JCRVLT-635).
> >
> > So probably either a dedicated new shared component (
> https://maven.apache.org/shared/index.html) or maybe even
> https://github.com/apache/maven/tree/master/maven-plugin-api/src/main/java/org/apache/maven/plugin/logging
> (but again that would only affect future Maven versions).
> > Konrad
> >
> > On 2022/06/26 21:27:10 Tamás Cservenák wrote:
> > > Howdy,
> > >
> > > I am unsure if this would fit to plexus-utils... does this depend on
> jansi
> > > or something?
> > > I'd rather create a new module (if broadly used, many dependents) or
> fit
> > > it somewhere else...
> > >
> > > Where is this currently used?
> > >
> > > T
> > >
> > > On Sun, Jun 26, 2022 at 6:53 PM Konrad Windszus <kw...@apache.org>
> wrote:
> > >
> > > > Sorry to reuse this thread, but another package which is not
> provided by
> > > > another library/artifact yet is
> > > >
> https://maven.apache.org/shared/maven-shared-utils/apidocs/org/apache/maven/shared/utils/logging/package-summary.html
> > > > .
> > > >
> > > > I would like to get rid of the maven-shared-utils dependency. Would
> you
> > > > accept a PR for https://github.com/codehaus-plexus/plexus-utils to
> add
> > > > that maven-shared-utils package (obviously relocated to
> > > > "org.codehaus.plexus.util.logging and ".logging.impl") to
> plexus-utils?
> > > >
> > > > (I know that this was recently added to the upcoming Maven 4 API in
> > > >
> https://github.com/apache/maven/pull/703/commits/8958f05171b715f2dd7ee95a5b37a6ca6184b6f4
> > > > but I need a solution until that is widely supported...).
> > > >
> > > > Thanks for your input in advance,
> > > > Konrad
> > > >
> > > > On 2022/06/24 18:12:21 Slawomir Jaranowski wrote:
> > > > > Hi,
> > > > >
> > > > > maven-shared-utils has many deprecated stuff and looks like we
> want to
> > > > bury
> > > > > this project.
> > > > >
> > > > > I want to fix the issue: MSHARED-1072 [1] ...  is in
> maven-shared-utils
> > > > > project
> > > > >
> > > > > I need it in maven-invoker, which is used by m-release-p for
> executing
> > > > fork
> > > > > builds ...
> > > > >
> > > > > So I've tried to see if it is possible to move code responsible
> for the
> > > > cli
> > > > > process from shared-utils to invoker ....
> > > > >
> > > > > but ... looks like package org.apache.maven.shared.utils.cli is
> even
> > > > > widely used [2], so coping code is not good
> > > > >
> > > > > Some other idea?
> > > > >
> > > > >
> > > > > [1] https://issues.apache.org/jira/browse/MSHARED-1072
> > > > > [2]
> > > > >
> > > >
> https://github.com/search?l=Java&p=7&q=org.apache.maven.shared.utils.cli&type=Code
> > > > > --
> > > > > Sławomir Jaranowski
> > > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > > > For additional commands, e-mail: dev-help@maven.apache.org
> > > >
> > > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

-- 
Sławomir Jaranowski

Re: maven-shared-utils what the future is ...

Posted by Herve Boutemy <hb...@apache.org>.
given in the past, maven-shared-utils was expected to replace in the long term plexus-utils and give us more a Maven-centric view, yes, I added the Maven-specific logging code in maven-shared-utils in 2016

if we finally go the other way now, and create a new lib, we'll need to avoid the same situation in a few years

On 2022/06/27 06:42:18 Konrad Windszus wrote:
> Thanks for the feedback.
> This package depends on JAnsi and is pretty Maven-specific (https://github.com/apache/maven-shared-utils/blob/master/src/main/java/org/apache/maven/shared/utils/logging/Style.java), so therefore probably not a good fit for the Maven-agnostic plexus-utils.
> 
> I use it for example for custom Maven enforcer rules (to emit warnings with some more colours/styling) and also plan to use it for this filevault-package-maven-plugin (https://issues.apache.org/jira/browse/JCRVLT-635).
> 
> So probably either a dedicated new shared component (https://maven.apache.org/shared/index.html) or maybe even https://github.com/apache/maven/tree/master/maven-plugin-api/src/main/java/org/apache/maven/plugin/logging (but again that would only affect future Maven versions).
> Konrad
> 
> On 2022/06/26 21:27:10 Tamás Cservenák wrote:
> > Howdy,
> > 
> > I am unsure if this would fit to plexus-utils... does this depend on jansi
> > or something?
> > I'd rather create a new module (if broadly used, many dependents) or fit
> > it somewhere else...
> > 
> > Where is this currently used?
> > 
> > T
> > 
> > On Sun, Jun 26, 2022 at 6:53 PM Konrad Windszus <kw...@apache.org> wrote:
> > 
> > > Sorry to reuse this thread, but another package which is not provided by
> > > another library/artifact yet is
> > > https://maven.apache.org/shared/maven-shared-utils/apidocs/org/apache/maven/shared/utils/logging/package-summary.html
> > > .
> > >
> > > I would like to get rid of the maven-shared-utils dependency. Would you
> > > accept a PR for https://github.com/codehaus-plexus/plexus-utils to add
> > > that maven-shared-utils package (obviously relocated to
> > > "org.codehaus.plexus.util.logging and ".logging.impl") to plexus-utils?
> > >
> > > (I know that this was recently added to the upcoming Maven 4 API in
> > > https://github.com/apache/maven/pull/703/commits/8958f05171b715f2dd7ee95a5b37a6ca6184b6f4
> > > but I need a solution until that is widely supported...).
> > >
> > > Thanks for your input in advance,
> > > Konrad
> > >
> > > On 2022/06/24 18:12:21 Slawomir Jaranowski wrote:
> > > > Hi,
> > > >
> > > > maven-shared-utils has many deprecated stuff and looks like we want to
> > > bury
> > > > this project.
> > > >
> > > > I want to fix the issue: MSHARED-1072 [1] ...  is in maven-shared-utils
> > > > project
> > > >
> > > > I need it in maven-invoker, which is used by m-release-p for executing
> > > fork
> > > > builds ...
> > > >
> > > > So I've tried to see if it is possible to move code responsible for the
> > > cli
> > > > process from shared-utils to invoker ....
> > > >
> > > > but ... looks like package org.apache.maven.shared.utils.cli is even
> > > > widely used [2], so coping code is not good
> > > >
> > > > Some other idea?
> > > >
> > > >
> > > > [1] https://issues.apache.org/jira/browse/MSHARED-1072
> > > > [2]
> > > >
> > > https://github.com/search?l=Java&p=7&q=org.apache.maven.shared.utils.cli&type=Code
> > > > --
> > > > Sławomir Jaranowski
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > > For additional commands, e-mail: dev-help@maven.apache.org
> > >
> > >
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: maven-shared-utils what the future is ...

Posted by Konrad Windszus <kw...@apache.org>.
Thanks for the feedback.
This package depends on JAnsi and is pretty Maven-specific (https://github.com/apache/maven-shared-utils/blob/master/src/main/java/org/apache/maven/shared/utils/logging/Style.java), so therefore probably not a good fit for the Maven-agnostic plexus-utils.

I use it for example for custom Maven enforcer rules (to emit warnings with some more colours/styling) and also plan to use it for this filevault-package-maven-plugin (https://issues.apache.org/jira/browse/JCRVLT-635).

So probably either a dedicated new shared component (https://maven.apache.org/shared/index.html) or maybe even https://github.com/apache/maven/tree/master/maven-plugin-api/src/main/java/org/apache/maven/plugin/logging (but again that would only affect future Maven versions).
Konrad

On 2022/06/26 21:27:10 Tamás Cservenák wrote:
> Howdy,
> 
> I am unsure if this would fit to plexus-utils... does this depend on jansi
> or something?
> I'd rather create a new module (if broadly used, many dependents) or fit
> it somewhere else...
> 
> Where is this currently used?
> 
> T
> 
> On Sun, Jun 26, 2022 at 6:53 PM Konrad Windszus <kw...@apache.org> wrote:
> 
> > Sorry to reuse this thread, but another package which is not provided by
> > another library/artifact yet is
> > https://maven.apache.org/shared/maven-shared-utils/apidocs/org/apache/maven/shared/utils/logging/package-summary.html
> > .
> >
> > I would like to get rid of the maven-shared-utils dependency. Would you
> > accept a PR for https://github.com/codehaus-plexus/plexus-utils to add
> > that maven-shared-utils package (obviously relocated to
> > "org.codehaus.plexus.util.logging and ".logging.impl") to plexus-utils?
> >
> > (I know that this was recently added to the upcoming Maven 4 API in
> > https://github.com/apache/maven/pull/703/commits/8958f05171b715f2dd7ee95a5b37a6ca6184b6f4
> > but I need a solution until that is widely supported...).
> >
> > Thanks for your input in advance,
> > Konrad
> >
> > On 2022/06/24 18:12:21 Slawomir Jaranowski wrote:
> > > Hi,
> > >
> > > maven-shared-utils has many deprecated stuff and looks like we want to
> > bury
> > > this project.
> > >
> > > I want to fix the issue: MSHARED-1072 [1] ...  is in maven-shared-utils
> > > project
> > >
> > > I need it in maven-invoker, which is used by m-release-p for executing
> > fork
> > > builds ...
> > >
> > > So I've tried to see if it is possible to move code responsible for the
> > cli
> > > process from shared-utils to invoker ....
> > >
> > > but ... looks like package org.apache.maven.shared.utils.cli is even
> > > widely used [2], so coping code is not good
> > >
> > > Some other idea?
> > >
> > >
> > > [1] https://issues.apache.org/jira/browse/MSHARED-1072
> > > [2]
> > >
> > https://github.com/search?l=Java&p=7&q=org.apache.maven.shared.utils.cli&type=Code
> > > --
> > > Sławomir Jaranowski
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
> >
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: maven-shared-utils what the future is ...

Posted by Tamás Cservenák <ta...@cservenak.net>.
Howdy,

I am unsure if this would fit to plexus-utils... does this depend on jansi
or something?
I'd rather create a new module (if broadly used, many dependents) or fit
it somewhere else...

Where is this currently used?

T

On Sun, Jun 26, 2022 at 6:53 PM Konrad Windszus <kw...@apache.org> wrote:

> Sorry to reuse this thread, but another package which is not provided by
> another library/artifact yet is
> https://maven.apache.org/shared/maven-shared-utils/apidocs/org/apache/maven/shared/utils/logging/package-summary.html
> .
>
> I would like to get rid of the maven-shared-utils dependency. Would you
> accept a PR for https://github.com/codehaus-plexus/plexus-utils to add
> that maven-shared-utils package (obviously relocated to
> "org.codehaus.plexus.util.logging and ".logging.impl") to plexus-utils?
>
> (I know that this was recently added to the upcoming Maven 4 API in
> https://github.com/apache/maven/pull/703/commits/8958f05171b715f2dd7ee95a5b37a6ca6184b6f4
> but I need a solution until that is widely supported...).
>
> Thanks for your input in advance,
> Konrad
>
> On 2022/06/24 18:12:21 Slawomir Jaranowski wrote:
> > Hi,
> >
> > maven-shared-utils has many deprecated stuff and looks like we want to
> bury
> > this project.
> >
> > I want to fix the issue: MSHARED-1072 [1] ...  is in maven-shared-utils
> > project
> >
> > I need it in maven-invoker, which is used by m-release-p for executing
> fork
> > builds ...
> >
> > So I've tried to see if it is possible to move code responsible for the
> cli
> > process from shared-utils to invoker ....
> >
> > but ... looks like package org.apache.maven.shared.utils.cli is even
> > widely used [2], so coping code is not good
> >
> > Some other idea?
> >
> >
> > [1] https://issues.apache.org/jira/browse/MSHARED-1072
> > [2]
> >
> https://github.com/search?l=Java&p=7&q=org.apache.maven.shared.utils.cli&type=Code
> > --
> > Sławomir Jaranowski
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

Re: maven-shared-utils what the future is ...

Posted by Konrad Windszus <kw...@apache.org>.
Sorry to reuse this thread, but another package which is not provided by another library/artifact yet is https://maven.apache.org/shared/maven-shared-utils/apidocs/org/apache/maven/shared/utils/logging/package-summary.html.

I would like to get rid of the maven-shared-utils dependency. Would you accept a PR for https://github.com/codehaus-plexus/plexus-utils to add that maven-shared-utils package (obviously relocated to "org.codehaus.plexus.util.logging and ".logging.impl") to plexus-utils?

(I know that this was recently added to the upcoming Maven 4 API in https://github.com/apache/maven/pull/703/commits/8958f05171b715f2dd7ee95a5b37a6ca6184b6f4 but I need a solution until that is widely supported...).

Thanks for your input in advance,
Konrad

On 2022/06/24 18:12:21 Slawomir Jaranowski wrote:
> Hi,
> 
> maven-shared-utils has many deprecated stuff and looks like we want to bury
> this project.
> 
> I want to fix the issue: MSHARED-1072 [1] ...  is in maven-shared-utils
> project
> 
> I need it in maven-invoker, which is used by m-release-p for executing fork
> builds ...
> 
> So I've tried to see if it is possible to move code responsible for the cli
> process from shared-utils to invoker ....
> 
> but ... looks like package org.apache.maven.shared.utils.cli is even
> widely used [2], so coping code is not good
> 
> Some other idea?
> 
> 
> [1] https://issues.apache.org/jira/browse/MSHARED-1072
> [2]
> https://github.com/search?l=Java&p=7&q=org.apache.maven.shared.utils.cli&type=Code
> -- 
> Sławomir Jaranowski
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: maven-shared-utils what the future is ...

Posted by Herve Boutemy <hb...@apache.org>.
as an old guy on the project, here is the proposal that explains why/how maven-shared-utils was introduced to try to replace plexus-utils:
https://cwiki.apache.org/confluence/display/MAVEN/MavenSharedUtils

how we went from a situation where shared-utils was expected to be easier to upgrade to new ways of coding, but now some feel that it is behind plexus-utils, I don't know: I did not really work on that, personally...

On 2022/06/24 18:52:10 Tamás Cservenák wrote:
> I bet i m-shared-util 50% of source is deprecated, white other big batch is
> duplicated (overlaps for example with plexus-utils). Otoh, p-u release pace
> and maintenance is light-years ahead of m-shared-u... Do I'd really drop
> this.
> 
> For CLI, i cannot believe there is no some sane license compatible and well
> maintained alternative (commons?) that can be used instead?
> 
> T
> 
> On Fri, Jun 24, 2022, 20:27 Michael Osipov <mi...@apache.org> wrote:
> 
> > Am 2022-06-24 um 20:12 schrieb Slawomir Jaranowski:
> > > Hi,
> > >
> > > maven-shared-utils has many deprecated stuff and looks like we want to
> > bury
> > > this project.
> > >
> > > I want to fix the issue: MSHARED-1072 [1] ...  is in maven-shared-utils
> > > project
> > >
> > > I need it in maven-invoker, which is used by m-release-p for executing
> > fork
> > > builds ...
> > >
> > > So I've tried to see if it is possible to move code responsible for the
> > cli
> > > process from shared-utils to invoker ....
> > >
> > > but ... looks like package org.apache.maven.shared.utils.cli is even
> > > widely used [2], so coping code is not good
> >
> > Beware, the CLI invocation code is, IMHO, fucked up. It wraps everything
> > in a shell, this is absolutely not necessary and caused a lot of bugs
> > around quoting and masking args. I wasted quite some time in SCM for
> > this. This must go way. Morover, it does not use ProcessBuilder, but
> > still Runtime.getRuntime().exec(). This must go way as well.
> >
> > M
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
> >
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: maven-shared-utils what the future is ...

Posted by Michael Osipov <mi...@apache.org>.
Am 2022-06-26 um 13:09 schrieb Slawomir Jaranowski:
> niedz., 26 cze 2022 o 12:54 Michael Osipov <mi...@apache.org> napisał(a):
> 
>> Am 2022-06-24 um 22:17 schrieb Slawomir Jaranowski:
>>> pt., 24 cze 2022 o 21:13 Michael Osipov <mi...@apache.org>
>> napisał(a):
>>>
>>>> Am 2022-06-24 um 20:52 schrieb Tamás Cservenák:
>>>>> I bet i m-shared-util 50% of source is deprecated, white other big
>> batch
>>>> is
>>>>> duplicated (overlaps for example with plexus-utils). Otoh, p-u release
>>>> pace
>>>>> and maintenance is light-years ahead of m-shared-u... Do I'd really
>> drop
>>>>> this.
>>>>
>>>> Some pains:
>>>> https://github.com/codehaus-plexus/plexus-utils/pull/109
>>>> https://github.com/codehaus-plexus/plexus-utils/pull/110
>>>>
>>>>
>>>>> For CLI, i cannot believe there is no some sane license compatible and
>>>> well
>>>>> maintained alternative (commons?) that can be used instead?
>>>>
>>>> Commons Exec is dead
>>>> Here a few with limitations:
>>>> https://github.com/zeroturnaround/zt-exec
>>>> https://github.com/brettwooldridge/NuProcess
>>>>
>>>> I believe that with can retain mostly of the current CLI API and drop a
>>>> of internal code for ProcessBuidler.
>>>>
>>>>
>>> One we need for  ProcessBuidler is parsing the command line to process
>> args.
>>
>> Why do we need to parse CLI as a whole string? All of those usecases I
>> would ultimately deprecate and replace with a distinc list/array approach.
>> Can you list them?
>>
>>
> As I know:
> 
> m-invoker-p -> invoker.properties -> invoker.goals

This can also be solved by replacing goals with .arg.<n>/.argument.<n>

Just like here: 
https://wrapper.tanukisoftware.com/doc/english/prop-app-parameter-n.html

Morover, we both know that this property has an invalid/misleading name, 
it takes everything instead of just goals.

> m-release-p -> arguments

This can be solved by making it <arguments/><argument>..</arguments>

M

Re: maven-shared-utils what the future is ...

Posted by Slawomir Jaranowski <s....@gmail.com>.
niedz., 26 cze 2022 o 12:54 Michael Osipov <mi...@apache.org> napisał(a):

> Am 2022-06-24 um 22:17 schrieb Slawomir Jaranowski:
> > pt., 24 cze 2022 o 21:13 Michael Osipov <mi...@apache.org>
> napisał(a):
> >
> >> Am 2022-06-24 um 20:52 schrieb Tamás Cservenák:
> >>> I bet i m-shared-util 50% of source is deprecated, white other big
> batch
> >> is
> >>> duplicated (overlaps for example with plexus-utils). Otoh, p-u release
> >> pace
> >>> and maintenance is light-years ahead of m-shared-u... Do I'd really
> drop
> >>> this.
> >>
> >> Some pains:
> >> https://github.com/codehaus-plexus/plexus-utils/pull/109
> >> https://github.com/codehaus-plexus/plexus-utils/pull/110
> >>
> >>
> >>> For CLI, i cannot believe there is no some sane license compatible and
> >> well
> >>> maintained alternative (commons?) that can be used instead?
> >>
> >> Commons Exec is dead
> >> Here a few with limitations:
> >> https://github.com/zeroturnaround/zt-exec
> >> https://github.com/brettwooldridge/NuProcess
> >>
> >> I believe that with can retain mostly of the current CLI API and drop a
> >> of internal code for ProcessBuidler.
> >>
> >>
> > One we need for  ProcessBuidler is parsing the command line to process
> args.
>
> Why do we need to parse CLI as a whole string? All of those usecases I
> would ultimately deprecate and replace with a distinc list/array approach.
> Can you list them?
>
>
As I know:

m-invoker-p -> invoker.properties -> invoker.goals
m-release-p -> arguments


> > Both will have the same problem if System.in will be used as input for
> > forked process that will hang forever.
> >
> >
> https://github.com/codehaus-plexus/plexus-utils/blob/master/src/main/java/org/codehaus/plexus/util/cli/CommandLineUtils.java#L229
> >
> https://github.com/apache/maven-shared-utils/blob/master/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java#L339
>
> This I cannot tell and has to be a separate discussion.
>
> M
>


-- 
Sławomir Jaranowski

Re: maven-shared-utils what the future is ...

Posted by Michael Osipov <mi...@apache.org>.
Am 2022-06-24 um 22:17 schrieb Slawomir Jaranowski:
> pt., 24 cze 2022 o 21:13 Michael Osipov <mi...@apache.org> napisał(a):
> 
>> Am 2022-06-24 um 20:52 schrieb Tamás Cservenák:
>>> I bet i m-shared-util 50% of source is deprecated, white other big batch
>> is
>>> duplicated (overlaps for example with plexus-utils). Otoh, p-u release
>> pace
>>> and maintenance is light-years ahead of m-shared-u... Do I'd really drop
>>> this.
>>
>> Some pains:
>> https://github.com/codehaus-plexus/plexus-utils/pull/109
>> https://github.com/codehaus-plexus/plexus-utils/pull/110
>>
>>
>>> For CLI, i cannot believe there is no some sane license compatible and
>> well
>>> maintained alternative (commons?) that can be used instead?
>>
>> Commons Exec is dead
>> Here a few with limitations:
>> https://github.com/zeroturnaround/zt-exec
>> https://github.com/brettwooldridge/NuProcess
>>
>> I believe that with can retain mostly of the current CLI API and drop a
>> of internal code for ProcessBuidler.
>>
>>
> One we need for  ProcessBuidler is parsing the command line to process args.

Why do we need to parse CLI as a whole string? All of those usecases I 
would ultimately deprecate and replace with a distinc list/array approach.
Can you list them?

> Both will have the same problem if System.in will be used as input for
> forked process that will hang forever.
> 
> https://github.com/codehaus-plexus/plexus-utils/blob/master/src/main/java/org/codehaus/plexus/util/cli/CommandLineUtils.java#L229
> https://github.com/apache/maven-shared-utils/blob/master/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java#L339

This I cannot tell and has to be a separate discussion.

M

Re: maven-shared-utils what the future is ...

Posted by Slawomir Jaranowski <s....@gmail.com>.
pt., 24 cze 2022 o 21:13 Michael Osipov <mi...@apache.org> napisał(a):

> Am 2022-06-24 um 20:52 schrieb Tamás Cservenák:
> > I bet i m-shared-util 50% of source is deprecated, white other big batch
> is
> > duplicated (overlaps for example with plexus-utils). Otoh, p-u release
> pace
> > and maintenance is light-years ahead of m-shared-u... Do I'd really drop
> > this.
>
> Some pains:
> https://github.com/codehaus-plexus/plexus-utils/pull/109
> https://github.com/codehaus-plexus/plexus-utils/pull/110
>
>
> > For CLI, i cannot believe there is no some sane license compatible and
> well
> > maintained alternative (commons?) that can be used instead?
>
> Commons Exec is dead
> Here a few with limitations:
> https://github.com/zeroturnaround/zt-exec
> https://github.com/brettwooldridge/NuProcess
>
> I believe that with can retain mostly of the current CLI API and drop a
> of internal code for ProcessBuidler.
>
>
One we need for  ProcessBuidler is parsing the command line to process args.

Both looks very similar ... like copy paste somewhen...

Both will have the same problem if System.in will be used as input for
forked process that will hang forever.

https://github.com/codehaus-plexus/plexus-utils/blob/master/src/main/java/org/codehaus/plexus/util/cli/CommandLineUtils.java#L229
https://github.com/apache/maven-shared-utils/blob/master/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java#L339

So IMHO we should choose one and maintain it.


M
>
>

-- 
Sławomir Jaranowski

Re: maven-shared-utils what the future is ...

Posted by Michael Osipov <mi...@apache.org>.
Am 2022-06-24 um 20:52 schrieb Tamás Cservenák:
> I bet i m-shared-util 50% of source is deprecated, white other big batch is
> duplicated (overlaps for example with plexus-utils). Otoh, p-u release pace
> and maintenance is light-years ahead of m-shared-u... Do I'd really drop
> this.

Some pains:
https://github.com/codehaus-plexus/plexus-utils/pull/109
https://github.com/codehaus-plexus/plexus-utils/pull/110


> For CLI, i cannot believe there is no some sane license compatible and well
> maintained alternative (commons?) that can be used instead?

Commons Exec is dead
Here a few with limitations:
https://github.com/zeroturnaround/zt-exec
https://github.com/brettwooldridge/NuProcess

I believe that with can retain mostly of the current CLI API and drop a 
of internal code for ProcessBuidler.

M


Re: maven-shared-utils what the future is ...

Posted by Tamás Cservenák <ta...@cservenak.net>.
I bet i m-shared-util 50% of source is deprecated, white other big batch is
duplicated (overlaps for example with plexus-utils). Otoh, p-u release pace
and maintenance is light-years ahead of m-shared-u... Do I'd really drop
this.

For CLI, i cannot believe there is no some sane license compatible and well
maintained alternative (commons?) that can be used instead?

T

On Fri, Jun 24, 2022, 20:27 Michael Osipov <mi...@apache.org> wrote:

> Am 2022-06-24 um 20:12 schrieb Slawomir Jaranowski:
> > Hi,
> >
> > maven-shared-utils has many deprecated stuff and looks like we want to
> bury
> > this project.
> >
> > I want to fix the issue: MSHARED-1072 [1] ...  is in maven-shared-utils
> > project
> >
> > I need it in maven-invoker, which is used by m-release-p for executing
> fork
> > builds ...
> >
> > So I've tried to see if it is possible to move code responsible for the
> cli
> > process from shared-utils to invoker ....
> >
> > but ... looks like package org.apache.maven.shared.utils.cli is even
> > widely used [2], so coping code is not good
>
> Beware, the CLI invocation code is, IMHO, fucked up. It wraps everything
> in a shell, this is absolutely not necessary and caused a lot of bugs
> around quoting and masking args. I wasted quite some time in SCM for
> this. This must go way. Morover, it does not use ProcessBuilder, but
> still Runtime.getRuntime().exec(). This must go way as well.
>
> M
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

Re: maven-shared-utils what the future is ...

Posted by Michael Osipov <mi...@apache.org>.
Am 2022-06-24 um 20:12 schrieb Slawomir Jaranowski:
> Hi,
> 
> maven-shared-utils has many deprecated stuff and looks like we want to bury
> this project.
> 
> I want to fix the issue: MSHARED-1072 [1] ...  is in maven-shared-utils
> project
> 
> I need it in maven-invoker, which is used by m-release-p for executing fork
> builds ...
> 
> So I've tried to see if it is possible to move code responsible for the cli
> process from shared-utils to invoker ....
> 
> but ... looks like package org.apache.maven.shared.utils.cli is even
> widely used [2], so coping code is not good

Beware, the CLI invocation code is, IMHO, fucked up. It wraps everything 
in a shell, this is absolutely not necessary and caused a lot of bugs 
around quoting and masking args. I wasted quite some time in SCM for 
this. This must go way. Morover, it does not use ProcessBuilder, but 
still Runtime.getRuntime().exec(). This must go way as well.

M

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org