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