Re: [Math] Release hurdles

2022-12-14 Thread Alex Herbert
On Wed, 14 Dec 2022 at 00:49, Gilles Sadowski  wrote:
>
> Hello.
>
> Next problem:
> $ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 mvn -Duser.name=erans
> clean deploy -Prelease
> [...]
> [INFO] Reactor Summary for Apache Commons Math 4.0-beta1:
> [INFO]
> [INFO] Apache Commons Math  SUCCESS [ 11.845 
> s]
> [INFO] Miscellaneous core classes . SUCCESS [ 26.164 
> s]
> [INFO] Artificial neural networks . SUCCESS [ 20.008 
> s]
> [INFO] Transforms . SUCCESS [ 17.360 
> s]
> [INFO] Exception classes (Legacy) . SUCCESS [ 18.615 
> s]
> [INFO] Miscellaneous core classes (Legacy)  SUCCESS [ 29.017 
> s]
> [INFO] Apache Commons Math (Legacy) ... SUCCESS [01:54 
> min]
> [INFO] Example applications ... SUCCESS [  4.542 
> s]
> [INFO] SOFM ... SUCCESS [  4.651 
> s]
> [INFO] SOFM: Chinese Rings  SUCCESS [ 18.144 
> s]
> [INFO] SOFM: Traveling Salesman Problem ... SUCCESS [ 15.359 
> s]
> [INFO] K-Means  SUCCESS [  4.529 
> s]
> [INFO] K-Means: Image Clustering .. SUCCESS [ 16.085 
> s]
> [INFO] Apache Commons Math (full distribution)  FAILURE [  1.303 
> s]
> [INFO] 
> 
> [INFO] BUILD FAILURE
> [INFO] 
> 
> [INFO] Total time:  05:02 min
> [INFO] Finished at: 2022-12-13T18:47:14+01:00
> [INFO] 
> 
> [ERROR] Failed to execute goal
> org.apache.commons:commons-release-plugin:1.8.0:clean-staging
> (clean-staging) on project commons-math: Failed to commit files: null
> [null]
> [...]
>
> I could see on the console that files are being uploaded to Nexus.
> But no trace there.[1]

This seems to be where the plugin tries to remove any old staged files
from the dev area. I've just checked and this directory does exist:

svn co https://dist.apache.org/repos/dist/dev/commons/math

If it is missing I think you get a different error. It was missing for
statistics.

When I run the release goal I add this [-Duser.password= -X

Alex

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



[FILEUPLOAD] State of the 1.6 branch

2022-12-14 Thread Mark Thomas

Hi all,

I was looking into the possibility of back-porting my recent file count 
limit change to 1.4 and I think the Github branch is rather out of sync.


Using gitk to explore the history, the last commit on the b1_4 branch 
was eed3e5 on 2017-06-03


But the 1.4 tag is at 047f315 on 2018-12-28

It looks like 1.4 development proceeded on master after the b1_4 tag and 
then master switched to 2.0 after the 1.4 tag.


There is also a b2_0 branch that was created and abandoned.

My proposal for a way forward as follows:

- Delete the b2_0 branch
- Move the head of the b1_4 branch to the 1.4 tag
- Update the b1_4 branch for development of 1.4.1
  (or should that be 1.5 and start a new branch?)
- Back-port my recent file count limit change

Thoughts?

Mark


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



Re: [FILEUPLOAD] State of the 1.6 branch

2022-12-14 Thread Gary Gregory
I would create a branch called "1.x" instead and bump the version in the
POM to 1.5.0.

FYI, I've been using the x.y.z version format in most of not all components
I work on, I find that it sets expectations better, for me anyway.

Gary

On Wed, Dec 14, 2022, 06:20 Mark Thomas  wrote:

> Hi all,
>
> I was looking into the possibility of back-porting my recent file count
> limit change to 1.4 and I think the Github branch is rather out of sync.
>
> Using gitk to explore the history, the last commit on the b1_4 branch
> was eed3e5 on 2017-06-03
>
> But the 1.4 tag is at 047f315 on 2018-12-28
>
> It looks like 1.4 development proceeded on master after the b1_4 tag and
> then master switched to 2.0 after the 1.4 tag.
>
> There is also a b2_0 branch that was created and abandoned.
>
> My proposal for a way forward as follows:
>
> - Delete the b2_0 branch
> - Move the head of the b1_4 branch to the 1.4 tag
> - Update the b1_4 branch for development of 1.4.1
>(or should that be 1.5 and start a new branch?)
> - Back-port my recent file count limit change
>
> Thoughts?
>
> Mark
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>


Re: [FILEUPLOAD] State of the 1.6 branch

2022-12-14 Thread Gilles Sadowski
Hi.

Le mer. 14 déc. 2022 à 12:25, Gary Gregory  a écrit :
>
> I would create a branch called "1.x" instead and bump the version in the
> POM to 1.5.0.
>
> FYI, I've been using the x.y.z version format in most of not all components
> I work on, I find that it sets expectations better, for me anyway.

IIRC, the convention is to use "x.y" if "z" is "0".
If a third number refers to "patch" or "bug fix", and there hasn't
been any, it is rather more confusing.
IMO, this is the kind of thing that should be consistent across all
releases within a project; so departing from the common (and
Commons') practice should not occur without a vote.
Perhaps the same remark about naming (git) "tags".

Regards,
Gilles

>> [...]

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



Re: [Math] Release hurdles

2022-12-14 Thread Gilles Sadowski
Le mer. 14 déc. 2022 à 09:09, Alex Herbert  a écrit :
>
> On Wed, 14 Dec 2022 at 00:49, Gilles Sadowski  wrote:
> >
> > Hello.
> >
> > Next problem:
> > $ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 mvn -Duser.name=erans
> > clean deploy -Prelease
> > [...]
> > [INFO] Reactor Summary for Apache Commons Math 4.0-beta1:
> > [INFO]
> > [INFO] Apache Commons Math  SUCCESS [ 
> > 11.845 s]
> > [INFO] Miscellaneous core classes . SUCCESS [ 
> > 26.164 s]
> > [INFO] Artificial neural networks . SUCCESS [ 
> > 20.008 s]
> > [INFO] Transforms . SUCCESS [ 
> > 17.360 s]
> > [INFO] Exception classes (Legacy) . SUCCESS [ 
> > 18.615 s]
> > [INFO] Miscellaneous core classes (Legacy)  SUCCESS [ 
> > 29.017 s]
> > [INFO] Apache Commons Math (Legacy) ... SUCCESS [01:54 
> > min]
> > [INFO] Example applications ... SUCCESS [  
> > 4.542 s]
> > [INFO] SOFM ... SUCCESS [  
> > 4.651 s]
> > [INFO] SOFM: Chinese Rings  SUCCESS [ 
> > 18.144 s]
> > [INFO] SOFM: Traveling Salesman Problem ... SUCCESS [ 
> > 15.359 s]
> > [INFO] K-Means  SUCCESS [  
> > 4.529 s]
> > [INFO] K-Means: Image Clustering .. SUCCESS [ 
> > 16.085 s]
> > [INFO] Apache Commons Math (full distribution)  FAILURE [  
> > 1.303 s]
> > [INFO] 
> > 
> > [INFO] BUILD FAILURE
> > [INFO] 
> > 
> > [INFO] Total time:  05:02 min
> > [INFO] Finished at: 2022-12-13T18:47:14+01:00
> > [INFO] 
> > 
> > [ERROR] Failed to execute goal
> > org.apache.commons:commons-release-plugin:1.8.0:clean-staging
> > (clean-staging) on project commons-math: Failed to commit files: null
> > [null]
> > [...]
> >
> > I could see on the console that files are being uploaded to Nexus.
> > But no trace there.[1]
>
> This seems to be where the plugin tries to remove any old staged files
> from the dev area. I've just checked and this directory does exist:
>
> svn co https://dist.apache.org/repos/dist/dev/commons/math
>
> If it is missing I think you get a different error. It was missing for
> statistics.
>
> When I run the release goal I add this 
> [-Duser.password=
> I found that my system does not cache my svn credentials. From the
> statistics release guide:
>
> "The apache ID password is required to clean and deploy the binary 
> distribution
> files to svn if the svn client is not configured to locally cache the user
> password."

This is where I'm a lost.  Why is "svn" involved here, where I thought
that "deploy" was meant to upload the artefacts to "nexus"?
If the "nexus" step did not work out (no email notification, thus it didn't,
despite I was seeing upload progress on the console), it should say so
before trying something else (related to "svn").

>
> You could restart from the failed module and run with -X to get more
> info on the point it fails
>
> mvn [release goals] -rf :commons-math -Duser.password= 
> -X

It is quite unexpected that a part of that command works without
providing the password (i.e. mvn uses the info in "~/.m2/settings.xml",
I guess), while another needs it to appear in clear-text on the command
line.  Is that the case?

Running
$ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 mvn -Duser.name=erans
clean deploy -Prelease -X -rf :commons-math
[ERROR] Failed to execute goal
org.apache.commons:commons-release-plugin:1.8.0:clean-staging
(clean-staging) on project commons-math: Failed to commit files: null
[null] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute goal org.apache.commons:commons-release-plugin:1.8.0:clean-staging
(clean-staging) on project commons-math: Failed to commit files: null
[null]
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)

Re: [Math] Release hurdles

2022-12-14 Thread Gary Gregory
Svn is used for 4 tasks:
- upload src and bin zip tars to the dev site
- upload the web site to the same place for reviews, at least that's how I
do it
- after a vote, transfer files from the dev to the release site (svnmucc)
- publish the final site

Nexus is only a convenience to our users, not an Apache requirement.

It would be nice to only use Nexus for distributions but that's a different
topic.

Gary

On Wed, Dec 14, 2022, 08:31 Gilles Sadowski  wrote:

> Le mer. 14 déc. 2022 à 09:09, Alex Herbert  a
> écrit :
> >
> > On Wed, 14 Dec 2022 at 00:49, Gilles Sadowski 
> wrote:
> > >
> > > Hello.
> > >
> > > Next problem:
> > > $ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 mvn -Duser.name=erans
> > > clean deploy -Prelease
> > > [...]
> > > [INFO] Reactor Summary for Apache Commons Math 4.0-beta1:
> > > [INFO]
> > > [INFO] Apache Commons Math  SUCCESS [
> 11.845 s]
> > > [INFO] Miscellaneous core classes . SUCCESS [
> 26.164 s]
> > > [INFO] Artificial neural networks . SUCCESS [
> 20.008 s]
> > > [INFO] Transforms . SUCCESS [
> 17.360 s]
> > > [INFO] Exception classes (Legacy) . SUCCESS [
> 18.615 s]
> > > [INFO] Miscellaneous core classes (Legacy)  SUCCESS [
> 29.017 s]
> > > [INFO] Apache Commons Math (Legacy) ... SUCCESS
> [01:54 min]
> > > [INFO] Example applications ... SUCCESS [
> 4.542 s]
> > > [INFO] SOFM ... SUCCESS [
> 4.651 s]
> > > [INFO] SOFM: Chinese Rings  SUCCESS [
> 18.144 s]
> > > [INFO] SOFM: Traveling Salesman Problem ... SUCCESS [
> 15.359 s]
> > > [INFO] K-Means  SUCCESS [
> 4.529 s]
> > > [INFO] K-Means: Image Clustering .. SUCCESS [
> 16.085 s]
> > > [INFO] Apache Commons Math (full distribution)  FAILURE [
> 1.303 s]
> > > [INFO]
> 
> > > [INFO] BUILD FAILURE
> > > [INFO]
> 
> > > [INFO] Total time:  05:02 min
> > > [INFO] Finished at: 2022-12-13T18:47:14+01:00
> > > [INFO]
> 
> > > [ERROR] Failed to execute goal
> > > org.apache.commons:commons-release-plugin:1.8.0:clean-staging
> > > (clean-staging) on project commons-math: Failed to commit files: null
> > > [null]
> > > [...]
> > >
> > > I could see on the console that files are being uploaded to Nexus.
> > > But no trace there.[1]
> >
> > This seems to be where the plugin tries to remove any old staged files
> > from the dev area. I've just checked and this directory does exist:
> >
> > svn co https://dist.apache.org/repos/dist/dev/commons/math
> >
> > If it is missing I think you get a different error. It was missing for
> > statistics.
> >
> > When I run the release goal I add this
> [-Duser.password= >
> > I found that my system does not cache my svn credentials. From the
> > statistics release guide:
> >
> > "The apache ID password is required to clean and deploy the binary
> distribution
> > files to svn if the svn client is not configured to locally cache the
> user
> > password."
>
> This is where I'm a lost.  Why is "svn" involved here, where I thought
> that "deploy" was meant to upload the artefacts to "nexus"?
> If the "nexus" step did not work out (no email notification, thus it
> didn't,
> despite I was seeing upload progress on the console), it should say so
> before trying something else (related to "svn").
>
> >
> > You could restart from the failed module and run with -X to get more
> > info on the point it fails
> >
> > mvn [release goals] -rf :commons-math
> -Duser.password= -X
>
> It is quite unexpected that a part of that command works without
> providing the password (i.e. mvn uses the info in "~/.m2/settings.xml",
> I guess), while another needs it to appear in clear-text on the command
> line.  Is that the case?
>
> Running
> $ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 mvn -Duser.name=erans
> clean deploy -Prelease -X -rf :commons-math
> [ERROR] Failed to execute goal
> org.apache.commons:commons-release-plugin:1.8.0:clean-staging
> (clean-staging) on project commons-math: Failed to commit files: null
> [null] -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
> execute goal org.apache.commons:commons-release-plugin:1.8.0:clean-staging
> (clean-staging) on project commons-math: Failed to commit files: null
> [null]
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:215)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:156)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:148)

Re: [Math] Release hurdles

2022-12-14 Thread Alex Herbert
On Wed, 14 Dec 2022 at 13:31, Gilles Sadowski  wrote:
>
> Le mer. 14 déc. 2022 à 09:09, Alex Herbert  a écrit 
> :
> >
> > On Wed, 14 Dec 2022 at 00:49, Gilles Sadowski  wrote:
> > >
> > > Hello.
> > >
> > > Next problem:
> > > $ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 mvn -Duser.name=erans
> > > clean deploy -Prelease
> > > [...]
> > > [INFO] Reactor Summary for Apache Commons Math 4.0-beta1:
> > > [INFO]
> > > [INFO] Apache Commons Math  SUCCESS [ 
> > > 11.845 s]
> > > [INFO] Miscellaneous core classes . SUCCESS [ 
> > > 26.164 s]
> > > [INFO] Artificial neural networks . SUCCESS [ 
> > > 20.008 s]
> > > [INFO] Transforms . SUCCESS [ 
> > > 17.360 s]
> > > [INFO] Exception classes (Legacy) . SUCCESS [ 
> > > 18.615 s]
> > > [INFO] Miscellaneous core classes (Legacy)  SUCCESS [ 
> > > 29.017 s]
> > > [INFO] Apache Commons Math (Legacy) ... SUCCESS 
> > > [01:54 min]
> > > [INFO] Example applications ... SUCCESS [  
> > > 4.542 s]
> > > [INFO] SOFM ... SUCCESS [  
> > > 4.651 s]
> > > [INFO] SOFM: Chinese Rings  SUCCESS [ 
> > > 18.144 s]
> > > [INFO] SOFM: Traveling Salesman Problem ... SUCCESS [ 
> > > 15.359 s]
> > > [INFO] K-Means  SUCCESS [  
> > > 4.529 s]
> > > [INFO] K-Means: Image Clustering .. SUCCESS [ 
> > > 16.085 s]
> > > [INFO] Apache Commons Math (full distribution)  FAILURE [  
> > > 1.303 s]
> > > [INFO] 
> > > 
> > > [INFO] BUILD FAILURE
> > > [INFO] 
> > > 
> > > [INFO] Total time:  05:02 min
> > > [INFO] Finished at: 2022-12-13T18:47:14+01:00
> > > [INFO] 
> > > 
> > > [ERROR] Failed to execute goal
> > > org.apache.commons:commons-release-plugin:1.8.0:clean-staging
> > > (clean-staging) on project commons-math: Failed to commit files: null
> > > [null]
> > > [...]
> > >
> > > I could see on the console that files are being uploaded to Nexus.
> > > But no trace there.[1]
> >
> > This seems to be where the plugin tries to remove any old staged files
> > from the dev area. I've just checked and this directory does exist:
> >
> > svn co https://dist.apache.org/repos/dist/dev/commons/math
> >
> > If it is missing I think you get a different error. It was missing for
> > statistics.
> >
> > When I run the release goal I add this 
> > [-Duser.password= >
> > I found that my system does not cache my svn credentials. From the
> > statistics release guide:
> >
> > "The apache ID password is required to clean and deploy the binary 
> > distribution
> > files to svn if the svn client is not configured to locally cache the user
> > password."
>
> This is where I'm a lost.  Why is "svn" involved here, where I thought
> that "deploy" was meant to upload the artefacts to "nexus"?
> If the "nexus" step did not work out (no email notification, thus it didn't,
> despite I was seeing upload progress on the console), it should say so
> before trying something else (related to "svn").
>
> >
> > You could restart from the failed module and run with -X to get more
> > info on the point it fails
> >
> > mvn [release goals] -rf :commons-math 
> > -Duser.password= -X
>
> It is quite unexpected that a part of that command works without
> providing the password (i.e. mvn uses the info in "~/.m2/settings.xml",
> I guess), while another needs it to appear in clear-text on the command
> line.  Is that the case?

That is how I get it to work because my svn client will not cache my
password for my username. So I have to provide it to the commons
release plugin.

As Gary stated, svn is used by the release plugin to copy the dist
archives to (in this case):

svn co https://dist.apache.org/repos/dist/dev/commons/math --depth immediates

Since the directory exists the error must be when the release plugin
is trying to remove all the items inside that directory and it does
not have svn commit permissions to do so.

Alex

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



Re: [Math] Release hurdles

2022-12-14 Thread Gilles Sadowski
Hello.

Le mer. 14 déc. 2022 à 16:23, Alex Herbert  a écrit :
>
> On Wed, 14 Dec 2022 at 13:31, Gilles Sadowski  wrote:
> >
> > Le mer. 14 déc. 2022 à 09:09, Alex Herbert  a 
> > écrit :
> > >
> > > On Wed, 14 Dec 2022 at 00:49, Gilles Sadowski  
> > > wrote:
> > > >
> > > > Hello.
> > > >
> > > > Next problem:
> > > > $ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 mvn -Duser.name=erans
> > > > clean deploy -Prelease
> > > > [...]
> > > >
> >
> > It is quite unexpected that a part of that command works without
> > providing the password (i.e. mvn uses the info in "~/.m2/settings.xml",
> > I guess), while another needs it to appear in clear-text on the command
> > line.  Is that the case?
>
> That is how I get it to work because my svn client will not cache my
> password for my username. So I have to provide it to the commons
> release plugin.

I was at step (11) of the CM "release howto" (not updated for a long
time, of course); in [RNG] the equivalent step is still referred to as
---CUT---
(11) Create and transfer the artifacts to the Nexus server (a.k.a. "deploy").
---CUT---
And I hadn't read further yet (hence the confusion with my vague memories
of upload to "nexus" and upload to "dist" server were independent), where
step (12) is replaced by additional functionality behind the scene (performed
by the "commons-release-plugin").

>
> As Gary stated, svn is used by the release plugin to copy the dist
> archives to (in this case):
>
> svn co https://dist.apache.org/repos/dist/dev/commons/math --depth immediates
>
> Since the directory exists the error must be when the release plugin
> is trying to remove all the items inside that directory and it does
> not have svn commit permissions to do so.

Thanks for confirming.
However, for the gain in simplicity, did we lose in security, by being
forced to provide the password (in clear-text), whereas the "svn" client
would handle the password securely (no echo).
Could this be caused by the "commons-release-plugin" assuming that
the "user.password" _must_ be defined (and passing an empty value
instead of letting "svn" prompt it from the user)?

Regards,
Gilles

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