Re: [Vote] Release Apache Commons RNG v1.2 (RC1)

2018-12-04 Thread Gilles

On Tue, 4 Dec 2018 09:11:44 -0500, Rob Tompkins wrote:

I’ll try to get to validation on this by the end of the day,


Thanks!


unless
@Gilles, you want to take into account the vote below.


I don't think anything mentioned is blocking (cf. my answer
in the other post).

[Hmm, it mostly stems from the release-plugin not being
robust yet when applied to a multi-module project, missing
(cf. generated "vote.txt") or unexpected conditions (it uses
default values where it shouldn't).  It also lacks reporting
adequate error messages when something goes wrong like SVN
authentication (1.5-SNAPSHOT is better!).].

So, please, do review the contents of the official release.

Regards,
Gilles



-Rob

On Dec 4, 2018, at 9:08 AM, Alex Herbert  
wrote:


+0 (non-binding)


The user guide shows updated Performance and Quality tables 
following the changes to the core implementation for all tables 
(verses release 1.1). I note that the times for the 
BoxMullerNormalizedGaussianSampler have all improved nearly 2-fold 
which is strange. The code appears to be unchanged from v1.1.



The RC site:


https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1/site/userguide/rng.html

Is also showing at the official location:

http://commons.apache.org/proper/commons-rng/

This link is broken from the 'Release History' page:


https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1/site/release-notes/RELEASE-NOTES-1.2.txt


The following reports are empty in the Project Reports menu:

- Surefire Report

- japicmp

- JaCoCo Aggregate (this link jumps out of the 'frames' view an 
loses the menu)


- Checkstyle

There are no spotbugs or PMD entries in the menu.


I'm not sure where to get the artifacts to check the hashes so I've 
not done that.



The 'Project Documentation > Source Code Management' page states to 
use:


git clone http://git-wip-us.apache.org/repos/asf/commons-rng.git

This doesn't work for me. I used the mirror and the RC tag:

https://github.com/apache/commons-rng


Building with mvn verify site

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 
2018-06-17T19:33:14+01:00)

Maven home: /usr/local/apache-maven-3.5.4
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: 
/usr/lib/jvm/java-8-openjdk-amd64/jre

Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-139-generic", arch: "amd64", 
family: "unix"


This works but the local site is missing the same Project Reports. 
The modules all have surefire reports, PMD, CPD, spotbugs, checkstyle 
in the target directories. Not sure where japicmp writes plain results 
but the japicmp.html page is always blank. So something is broken with 
aggregating the reports and possibly the japicmp report.


Alex


On 04/12/2018 01:19, Gilles wrote:

Hello.

I would like to release Apache Commons RNG v1.2.

Apache Commons RNG 1.2 RC1 is available for review:
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1 (svn 
revision 31333)


The Git tag for this RC is "RNG_1_2_RC1":

https://git-wip-us.apache.org/repos/asf?p=commons-rng.git;a=tag;h=refs/tags/RNG_1_2_RC1

Maven artifacts:

https://repository.apache.org/content/repositories/orgapachecommons-1397/org/apache/commons/

Maven artifacts' SHA-512 hashes in Nexus:

commons-rng-1.2-bin-tar.gz=beba8312f8702563b7d2a8b3919e812b60e509342fb102274b1fef8107c67d8419b74a82b7c6fd6fdfd9ed03cd590751a80ca27614cca2a909ba057e3c513ef7

commons-rng-1.2-bin-tar.gz.asc=500c67f4c3c1fdc6583fab068f20664e7235e5f983dcc90c1c9d70290bf5eb3e4a76d7fb3eba56f4a3e8e957bf0c490db237698419c95e2dbca8716f393def4c

commons-rng-1.2-src-tar.gz=a9325efec521ff3f3489fa67568bc91b5a89014c888d81d14a39e669cf678648ba60722e3f3320ad643d9e84ef3193f272bfd78b4495044b6a763a6442590a3f

commons-rng-1.2-bin-zip=55342112a7e505882ad5739233508d2957c396f71bf22a45226844bf5ccdfb4947066a0fb111f1a51287ef359bdd1e84f9c7fdde7c3a02092b4cf45aa9eb3d99

commons-rng-1.2-src-zip=f2d7dbabb1479afd15adae00e9007480638d7c8b5a2900d1d43ec7497efd8f2a0a66bc84032c642de6b3ecf0829a01d3c6748e583b43476f4f3647fe2292

commons-rng-1.2-src-zip.asc=e931a42202b3ba274ca07251d8114066c88085014823c421b0cba15c300596aad1d7a7c7f42f85fe0e62cfa3ab4dd4a7afd32ab18149d42e5e775c9c2bf0e187

commons-rng-1.2-pom.asc=4c9ebbb00fbc1b7f7a679c1f165fc6561ad69fd5e7ec2b268d89c26053643a9574ac69876d47cc8e1a27f595010a6466c4f679518ee7dec5b9c250a5a4720089

commons-rng-1.2-bin-zip.asc=30e72114890ad6551fb2dc21251d787cf7410d22c92960375d2bfc8586279d1981261af74ce9477313bd1dac4ee632d94100c0db6340a216e385c947b491f432

commons-rng-1.2-src-tar.gz.asc=e1a04875744dc3cd5b04bfbe5c6fa52e553ecc645c5923db53259202daf28f5fd8570c84a9fcb0ae10669a0924101d4d737ca23fb9cbcd4da7f708ce67c6b5f8

Details of changes:

https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1/RELEASE-NOTES.txt

https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1/site/changes-report.h

Re: [Vote] Release Apache Commons RNG v1.2 (RC1)

2018-12-04 Thread Gilles

On Tue, 4 Dec 2018 16:33:48 +, Alex Herbert wrote:

On 04/12/2018 15:15, Gilles wrote:

On Tue, 4 Dec 2018 14:08:59 +, Alex Herbert wrote:

+0 (non-binding)


The user guide shows updated Performance and Quality tables 
following
the changes to the core implementation for all tables (verses 
release
1.1). I note that the times for the 
BoxMullerNormalizedGaussianSampler

have all improved nearly 2-fold which is strange.


Agreed.  But I can't say much more.  You are welcome to
confirm that either the current or the previous values
(or neither) are correct.
And we'll update the site accordingly.


OK. I ran a quick trial of SamplersPerformance and it seems that the
BoxMullerNormalizedGaussianSampler should be slower than the others.
This matches the old results.

commons-rng/commons-rng-examples/examples-jmh > mvn -P benchmark

'-Dbenchmark=org.apache.commons.rng.examples.jmh.distribution.(Next*|SamplersPerformance.*Gaussian.*)'
test

Here are the results with 5 iterations:

RNG BoxMuller   Marsaglia   Ziggurat
ISAAC   0.95078383140.53942851440.2749968235
JDK 1.06886825960.64403177650.3243021893
KISS0.98582366180.47000588580.2568217134
MT  1.02754243890.52687593590.2690456029
MT_64   0.88268167070.45571044780.2296754309
MWC_256 0.95075223530.41963833020.2114958789
SPLIT_MIX_640.83773824440.36173037090.1846275404
TWO_CMRES   0.85361553680.387562567 0.1884355236
WELL_1024_A 1.08558152540.59940466780.3088309612
WELL_19937_A1.13505483350.67183046850.3952235947
WELL_19937_C1.15183941420.69857434970.419527361
WELL_44497_A1.15351286580.69582940480.4177399342
WELL_44497_B1.16790612630.72375242430.4451146416
WELL_512_A  1.05796049220.58138590040.2975178907
XOR_SHIFT_1024_S0.84054573680.37659780360.2007193048

I'll run the benchmark with more iterations...


I was in fact running Java 10 for the benchmarks: "BoxMuller" is indeed
50% faster on it than on Java 8 and "Marsaglia" 10% slower!



Thanks for the clarifications about the reports being in the modules.
It is not obvious from the site. Now I've found them they look OK.


So, you'll change your vote?

Regards,
Gilles




They are next to the files, here:
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1/binaries/
and here:
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1/source/


Downloaded and checked with gpg and sha512sum. All OK.

The 'Project Documentation > Source Code Management' page states to 
use:


git clone http://git-wip-us.apache.org/repos/asf/commons-rng.git


Odd.
It works for me (TM). :-)


It now works for me too.


The command to generate the full site for a multi-module project is
  $ mvn clean site site:stage


Now I've found the module reports the local build looks good too.

Alex



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



Re: [all] Amazon Corretto

2018-12-05 Thread Gilles

On Wed, 14 Nov 2018 10:33:34 -0800, Eric Barnhill wrote:

It reminds me uncomfortably of Microsoft's old "embrace, extend,
exterminate" philosophy in the 1990s.


https://www.linuxjournal.com/video/linux-sucks-forever



On Wed, Nov 14, 2018 at 10:03 AM Pascal Schumacher 


wrote:


Isn't this basically the same as Adopt Open JDK:

https://adoptopenjdk.net

or am I missing something?

-Pascal

Am 14.11.2018 um 15:14 schrieb Rob Tompkins:
> Curious to see what people’s thoughts are to this:
>
> https://aws.amazon.com/corretto/
>
> -Rob



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



Re: [Vote] Release Apache Commons RNG v1.2 (RC1)

2018-12-06 Thread Gilles

On Wed, 5 Dec 2018 21:29:26 -0500, Rob Tompkins wrote:

With:

$ mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe;
2018-06-17T14:33:14-04:00)
Maven home: /usr/local/Cellar/maven/3.5.4/libexec
Java version: 9.0.4, vendor: Oracle Corporation, runtime:
/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.1", arch: "x86_64", family: 
"mac"


I get this:

[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-site-plugin:3.7.1:site (default-site)
on project commons-rng-sampling: Error generating
maven-javadoc-plugin:3.0.1:javadoc report:
[ERROR] Exit code: 1 -

/Users/tompkicr/Desktop/commons-rng/source/commons-rng-1.2-src/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/SmallMeanPoissonSampler.java:35:
error: reference not found
[ERROR]  * For large means, {@link LargePoissonSampler} should be
used instead.


This is a type in the Javadoc (should have been 
"LargeMeanPoissonSampler", fixed now).

In my environment, it only triggered a warning.
Does the policy consider this as a blocker?

Gilles


[ERROR]^
[ERROR]
[ERROR] Command line was:

/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/javadoc
@options @packages
[ERROR]
[ERROR] Refer to the generated Javadoc files in

'/Users/tompkicr/Desktop/commons-rng/source/commons-rng-1.2-src/commons-rng-sampling/target/site/apidocs'
dir.

On Dec 3, 2018, at 8:19 PM, Gilles  
wrote:


Hello.

I would like to release Apache Commons RNG v1.2.

Apache Commons RNG 1.2 RC1 is available for review:
   https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1 (svn 
revision 31333)


The Git tag for this RC is "RNG_1_2_RC1":
   
https://git-wip-us.apache.org/repos/asf?p=commons-rng.git;a=tag;h=refs/tags/RNG_1_2_RC1


Maven artifacts:
   
https://repository.apache.org/content/repositories/orgapachecommons-1397/org/apache/commons/


Maven artifacts' SHA-512 hashes in Nexus:
   
commons-rng-1.2-bin-tar.gz=beba8312f8702563b7d2a8b3919e812b60e509342fb102274b1fef8107c67d8419b74a82b7c6fd6fdfd9ed03cd590751a80ca27614cca2a909ba057e3c513ef7
   
commons-rng-1.2-bin-tar.gz.asc=500c67f4c3c1fdc6583fab068f20664e7235e5f983dcc90c1c9d70290bf5eb3e4a76d7fb3eba56f4a3e8e957bf0c490db237698419c95e2dbca8716f393def4c
   
commons-rng-1.2-src-tar.gz=a9325efec521ff3f3489fa67568bc91b5a89014c888d81d14a39e669cf678648ba60722e3f3320ad643d9e84ef3193f272bfd78b4495044b6a763a6442590a3f
   
commons-rng-1.2-bin-zip=55342112a7e505882ad5739233508d2957c396f71bf22a45226844bf5ccdfb4947066a0fb111f1a51287ef359bdd1e84f9c7fdde7c3a02092b4cf45aa9eb3d99
   
commons-rng-1.2-src-zip=f2d7dbabb1479afd15adae00e9007480638d7c8b5a2900d1d43ec7497efd8f2a0a66bc84032c642de6b3ecf0829a01d3c6748e583b43476f4f3647fe2292
   
commons-rng-1.2-src-zip.asc=e931a42202b3ba274ca07251d8114066c88085014823c421b0cba15c300596aad1d7a7c7f42f85fe0e62cfa3ab4dd4a7afd32ab18149d42e5e775c9c2bf0e187
   
commons-rng-1.2-pom.asc=4c9ebbb00fbc1b7f7a679c1f165fc6561ad69fd5e7ec2b268d89c26053643a9574ac69876d47cc8e1a27f595010a6466c4f679518ee7dec5b9c250a5a4720089
   
commons-rng-1.2-bin-zip.asc=30e72114890ad6551fb2dc21251d787cf7410d22c92960375d2bfc8586279d1981261af74ce9477313bd1dac4ee632d94100c0db6340a216e385c947b491f432
   
commons-rng-1.2-src-tar.gz.asc=e1a04875744dc3cd5b04bfbe5c6fa52e553ecc645c5923db53259202daf28f5fd8570c84a9fcb0ae10669a0924101d4d737ca23fb9cbcd4da7f708ce67c6b5f8


Details of changes:
   
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1/RELEASE-NOTES.txt
   
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC1/site/changes-report.html


Site:
   http://commons.apache.org/proper/commons-rng/

KEYS:
  id=B39617E095CD748DFE505816703413011E22D5B8
  https://www.apache.org/dist/commons/KEYS

Please review the release candidate and vote.
This vote will close no sooner that 72 hours from now.

 [ ] +1 Release these artifacts
 [ ] +0 OK, but...
 [ ] -0 OK, but really should fix...
 [ ] -1 I oppose this release because...

Thanks,
Gilles



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



Re: [Vote] Release Apache Commons RNG v1.2 (RC1)

2018-12-06 Thread Gilles

On Thu, 6 Dec 2018 11:37:25 +, sebb wrote:
On Thu, 6 Dec 2018 at 10:58, Gilles  
wrote:


On Wed, 5 Dec 2018 21:29:26 -0500, Rob Tompkins wrote:
> With:
>
> $ mvn -version
> Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe;
> 2018-06-17T14:33:14-04:00)
> Maven home: /usr/local/Cellar/maven/3.5.4/libexec
> Java version: 9.0.4, vendor: Oracle Corporation, runtime:
> /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
> Default locale: en_US, platform encoding: UTF-8
> OS name: "mac os x", version: "10.14.1", arch: "x86_64", family:
> "mac"
>
> I get this:
>
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-site-plugin:3.7.1:site 
(default-site)

> on project commons-rng-sampling: Error generating
> maven-javadoc-plugin:3.0.1:javadoc report:
> [ERROR] Exit code: 1 -
>
> 
/Users/tompkicr/Desktop/commons-rng/source/commons-rng-1.2-src/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/SmallMeanPoissonSampler.java:35:

> error: reference not found
> [ERROR]  * For large means, {@link LargePoissonSampler} should be
> used instead.

This is a type in the Javadoc (should have been
"LargeMeanPoissonSampler", fixed now).
In my environment, it only triggered a warning.
Does the policy consider this as a blocker?


I don't think Javadoc errors are blockers per se, however a failing
build seems to me like a blocker unless there are extenutating
circumstances.
For example a very rarely used JVM/OS combination.

Whilst it may be tedious to fix this, if we don't, there are likely 
to
be ongoing complaints about the issue that will have to be dealt 
with,

possibly causing more work overall.


OK.  I'll make a new RC.

But the thing is, although we expect support from 
automated/reproducible
build (through common maven config), every time we advocate/work 
towards

a single way to manage Commons projects, the discussion dies off with
TMTOWTDI.[1]
In my experience, this is what makes it painful to handle releases (for
manager and reviewers alike).[2]
The extenuating circumstance is that we don't want to enforce 
convergence

of the release process, and then complain that it is tedious... :-}

Regards,
Gilles

[1] https://en.wiktionary.org/wiki/TMTOWTDI#English
[2] And also the Jenkins configuration (that now seem to break with
every update of the CI system and/or POM upgrade).




[...]



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



[Cancel][Vote] Release Apache Commons RNG v1.2 (RC1)

2018-12-06 Thread Gilles



Preparing RC2.

Regards,
Gilles

On Tue, 04 Dec 2018 02:19:33 +0100, Gilles wrote:

Hello.

I would like to release Apache Commons RNG v1.2.

Apache Commons RNG 1.2 RC1 is available for review:
[...]



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



[Vote] RC2 for releasing Commons RNG v1.2

2018-12-06 Thread Gilles

Hello.


I'd like to release version 1.2 of "Commons RNG".


Apache Commons RNG v1.2 (RC2) is available for review:
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2 (svn 
revision 31410)


Git tag is named "RNG_1_2_RC2":

https://git-wip-us.apache.org/repos/asf?p=commons-rng.git;a=tag;h=refs/tags/RNG_1_2_RC2


Maven artifacts are here:

https://repository.apache.org/content/repositories/orgapachecommons-1399/org/apache/commons/


Maven artifacts' SHA-512 hashes in Nexus:

commons-rng-1.2-bin-tar.gz=681530e0f26f1ac84b626de4adfc7a5c615b2784157da412b329c5ff33361a7b

commons-rng-1.2-bin-tar.gz.asc=5785291f481029c00600cca402ca37fbf9bea64a1b58db4f58c3c41270200e58

commons-rng-1.2-src-tar.gz=89d1d4fb95651c0d008d941b928e468822769a142f69c1e7f174994e3c13285c

commons-rng-1.2-bin-zip=09608ac82e654287d69cca991d516cd95f09189f412bf2be1292f10f9b7d103e

commons-rng-1.2-src-zip=aabe2a548c991ef89a7f86a5ed6b7ba9847678a0fd87b48d7d40775ba545063d

commons-rng-1.2-src-zip.asc=d676fa86a0fa81db7c9c63fb1c86dc5ae23755081186adf6f3650bee3e341e96

commons-rng-1.2-pom.asc=24d621f1b1724134d4d493e0672e9c9a0627c0e8b5614c3ef4d8030ecc14f541

commons-rng-1.2-bin-zip.asc=243e1b663c639116840301d3610abec9b5d6b68f494eee10b164fc7057b4a7e5

commons-rng-1.2-src-tar.gz.asc=7480a80014b3ec58cf3a98c84bb693ba5ea86b02361889c43893752cd9203f33



Details of changes since 1.1 are in the release notes:

https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2/RELEASE-NOTES.txt

https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2/site/changes-report.html


Site:
http://commons.apache.org/proper/commons-rng/

KEYS:
   id=B39617E095CD748DFE505816703413011E22D5B8
   https://www.apache.org/dist/commons/KEYS


Please review the release candidate and vote.
This vote will close no sooner that 72 hours from now.

  [ ] +1 Release these artifacts
  [ ] +0 OK, but...
  [ ] -0 OK, but really should fix...
  [ ] -1 I oppose this release because...


Thanks,
Gilles


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



Fwd: [NOTICE] Mandatory relocation of Apache git repositories on git-wip-us.apache.org

2018-12-07 Thread Gilles

Hi.

[See message quoted below.]

Any objection to my filing an INFRA request for each of the
following components:
  [Numbers]
  [RNG]
  [Statistics]
  [Math]
?

Gilles

 Original Message 
Subject: [NOTICE] Mandatory relocation of Apache git repositories on 
git-wip-us.apache.org

Date: Fri, 7 Dec 2018 17:52:36 +0100
From: Daniel Gruno 
To: "us...@infra.apache.org" 
Reply-To: "us...@infra.apache.org" 

[IF YOUR PROJECT DOES NOT HAVE GIT REPOSITORIES ON GIT-WIP-US PLEASE
 DISREGARD THIS EMAIL; IT WAS MASS-MAILED TO ALL APACHE PROJECTS]

Hello Apache projects,

I am writing to you because you may have git repositories on the
git-wip-us server, which is slated to be decommissioned in the coming
months. All repositories will be moved to the new gitbox service which
includes direct write access on github as well as the standard ASF
commit access via gitbox.apache.org.

## Why this move? ##
The move comes as a result of retiring the git-wip service, as the
hardware it runs on is longing for retirement. In lieu of this, we
have decided to consolidate the two services (git-wip and gitbox), to
ease the management of our repository systems and future-proof the
underlying hardware. The move is fully automated, and ideally, nothing
will change in your workflow other than added features and access to
GitHub.

## Timeframe for relocation ##
Initially, we are asking that projects voluntarily request to move
their repositories to gitbox, hence this email. The voluntary
timeframe is between now and January 9th 2019, during which projects
are free to either move over to gitbox or stay put on git-wip. After
this phase, we will be requiring the remaining projects to move within
one month, after which we will move the remaining projects over.

To have your project moved in this initial phase, you will need:

- Consensus in the project (documented via the mailing list)
- File a JIRA ticket with INFRA to voluntarily move your project repos
  over to gitbox (as stated, this is highly automated and will take
  between a minute and an hour, depending on the size and number of
  your repositories)

To sum up the preliminary timeline;

- December 9th 2018 -> January 9th 2019: Voluntary (coordinated)
  relocation
- January 9th -> February 6th: Mandated (coordinated) relocation
- February 7th: All remaining repositories are mass migrated.

This timeline may change to accommodate various scenarios.

## Using GitHub with ASF repositories ##
When your project has moved, you are free to use either the ASF
repository system (gitbox.apache.org) OR GitHub for your development
and code pushes. To be able to use GitHub, please follow the primer
at: https://reference.apache.org/committer/github


We appreciate your understanding of this issue, and hope that your
project can coordinate voluntarily moving your repositories in a
timely manner.

All settings, such as commit mail targets, issue linking, PR
notification schemes etc will automatically be migrated to gitbox as
well.

With regards, Daniel on behalf of ASF Infra.

PS:For inquiries, please reply to us...@infra.apache.org, not your 
project's dev list :-).




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



Re: [Vote] RC2 for releasing Commons RNG v1.2

2018-12-08 Thread Gilles

On Sat, 8 Dec 2018 09:48:22 -0500, Rob Tompkins wrote:

+1 (I predicate this on our being ok with a java 9 build only)


All modules that compose the official release:
 client-api
 core
 simple
 sampling
compile fine and pass all the tests with Java 8.

The "main" code compiles fine with Java 10, but the surefire
plugin crashes.

I do not have older JDKs at hand (and Jenkins builds broke
for some reason not clearly apparent from the console log).



clirr - good (2 info issues)


I suggest that we consider setting up CP to support
the newer
  https://revapi.org/


rat - good
pmd - few nits


Those appeared after an upgrade of the tool.
On the TODO list:
 https://issues.apache.org/jira/projects/RNG/issues/RNG-49


checkstyle - good
signatures - good
build java9 only:

$ mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe;
2018-06-17T14:33:14-04:00)
Maven home: /usr/local/Cellar/maven/3.5.4/libexec
Java version: 9.0.4, vendor: Oracle Corporation, runtime:
/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.1", arch: "x86_64", family: 
"mac"


It was a tad cumbersome working with all of the nexus artifacts for
release validation.


I'm not sure what you mean here.
If it is about the checksum/signature check, I had suggested
that it could be automated: After the upload to Nexus, the
release plugin should download the artefacts and verify that
the signatures are OK.

Thanks for the review,
Gilles



-Rob

On Dec 6, 2018, at 12:15 PM, Gilles  
wrote:


Hello.


I'd like to release version 1.2 of "Commons RNG".


Apache Commons RNG v1.2 (RC2) is available for review:
   https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2 (svn 
revision 31410)


Git tag is named "RNG_1_2_RC2":
   
https://git-wip-us.apache.org/repos/asf?p=commons-rng.git;a=tag;h=refs/tags/RNG_1_2_RC2


Maven artifacts are here:
   
https://repository.apache.org/content/repositories/orgapachecommons-1399/org/apache/commons/


Maven artifacts' SHA-512 hashes in Nexus:
   
commons-rng-1.2-bin-tar.gz=681530e0f26f1ac84b626de4adfc7a5c615b2784157da412b329c5ff33361a7b
   
commons-rng-1.2-bin-tar.gz.asc=5785291f481029c00600cca402ca37fbf9bea64a1b58db4f58c3c41270200e58
   
commons-rng-1.2-src-tar.gz=89d1d4fb95651c0d008d941b928e468822769a142f69c1e7f174994e3c13285c
   
commons-rng-1.2-bin-zip=09608ac82e654287d69cca991d516cd95f09189f412bf2be1292f10f9b7d103e
   
commons-rng-1.2-src-zip=aabe2a548c991ef89a7f86a5ed6b7ba9847678a0fd87b48d7d40775ba545063d
   
commons-rng-1.2-src-zip.asc=d676fa86a0fa81db7c9c63fb1c86dc5ae23755081186adf6f3650bee3e341e96
   
commons-rng-1.2-pom.asc=24d621f1b1724134d4d493e0672e9c9a0627c0e8b5614c3ef4d8030ecc14f541
   
commons-rng-1.2-bin-zip.asc=243e1b663c639116840301d3610abec9b5d6b68f494eee10b164fc7057b4a7e5
   
commons-rng-1.2-src-tar.gz.asc=7480a80014b3ec58cf3a98c84bb693ba5ea86b02361889c43893752cd9203f33



Details of changes since 1.1 are in the release notes:
   
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2/RELEASE-NOTES.txt
   
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2/site/changes-report.html


Site:
   http://commons.apache.org/proper/commons-rng/

KEYS:
  id=B39617E095CD748DFE505816703413011E22D5B8
  https://www.apache.org/dist/commons/KEYS


Please review the release candidate and vote.
This vote will close no sooner that 72 hours from now.

 [ ] +1 Release these artifacts
 [ ] +0 OK, but...
 [ ] -0 OK, but really should fix...
 [ ] -1 I oppose this release because...


Thanks,
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



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



Re: [RNG] How to enable japicmp?

2018-12-08 Thread Gilles

Hi.


[...]

from [Lang].[1]
The plugin crashes with NPE.
[...]

Are there problems with "japicmp" that are specific to multi-modules
projects?


It seems that's already fixed:
https://github.com/siom79/japicmp/issues/210


Thanks for the info.



Worth trying with a newer version.


Looking at the "commons-parent" project, the upgrade was done (to 0.13)
in version 48-SNAPSHOT, which has not been released yet.

Regards,
Gilles



[...]



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



[Numbers] Inheritance and ValJO ? (Was: Where to define "quaternion"?)

2018-12-09 Thread Gilles

Hello.

After the discussion quote below, the conclusion was to go with
inheritance:
  https://issues.apache.org/jira/browse/NUMBERS-80

However, it would make "Quaternion" fail the "ValJO" definition[1]
that mandates that all constructors be private.

Would a protected constructor really be an issue?
[In the case of "Quaternion", the subclass constructor would only
perform additional validation (cf. below for details).]


Thanks,
Gilles

[1] https://blog.joda.org/2014/03/valjos-value-java-objects.html

On Mon, 03 Dec 2018 10:31:42 +0100, Gilles wrote:

Hi.

On Mon, 3 Dec 2018 03:56:02 +, Matt Juntunen wrote:

I was just thinking from a practical standpoint. My current
QuaternionRotation class is still in my working branch for 
GEOMETRY-14
and so isn't really accessible to anyone. If I can finish it up in 
its

current state (hopefully very soon) and get it merged, then someone
else will be able to work with it and blend the functionality with
commons-numbers.


Someone else?



Here are some notes on your questions from before:

  * Should "QuaternionRotation" inherit from "Quaternion"?

That would work conceptually. The quaternions in the
QuaternionRotation class are standard quaternions that meet two 
other

criteria: 1) they are unit length, and 2) their scalar component is
greater than or equal to zero (in order to standardize the angles
involved).


It seems indeed the perfect case for inheritance.


The one sticking point here is that I'm not sure how this
fits with the VALJO concept. If we can get this sorted, then this 
very

well may be the best option.


What do you see as a potential issue?



  * Should "Quaternion" be defined in [Geometry] (and removed from
[Numbers])?

Perhaps. I've certainly only used them to represent 3D rotations. 
Are

there any other use cases from commons-numbers?


Not within [Numbers], but that's the point of those very low-level
components/modules: they are common utilities used by higher-level
components/libraries/applications.

Given that "QuaternionRotation" is a special case of "Quaternion",
it is logical to keep the latter at a lower-level, namely in
[Numebers], and make [Geometry] depend on it.



  * Are some utilities defined in "QuaternionRotation" general
such that they could be part of the [Numbers] "Quaternion" API.
An example might be the transformation between quaternion and
matrix (represented as a double[3][3])?

The conversion to rotation matrix and slerp are the best candidates
here. The other methods rely on core classes from commons-geometry,
namely Vector3D.


Is "slerp" applicable to a general "Quaternion", or does it assume
the additional requirements of "QuaternionRotation"?
[Same question applies to all utilities in order to decide where to
define them.]



One more note: I decided to make a separate package for 3D rotations
in my working branch for GEOMETRY-14, so QuaternionRotation is now 
at


https://github.com/darkma773r/commons-geometry/blob/transforms/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/QuaternionRotation.java.


Could you please update it so that it inherits from "Quaternion"?

Thanks,
Gilles



-Matt

From: Gilles 
Sent: Sunday, December 2, 2018 3:57 PM
To: dev@commons.apache.org
Subject: Re: [Numbers][Geometry] Where to define "quaternion" (Was:
Making Quaternion a VALJO)

On Sun, 2 Dec 2018 19:20:03 +, Matt Juntunen wrote:
Unless anyone objects, I'm going to continue with what I'm working 
on


I certainly don't object on your working to improve the geometry
code, but wherever that work overlaps with code being worked on
elsewhere (in this case, the "Quaternion" class), then we'd
rather have a discussion happening here first.


with QuaternionRotation and create a merge request. That way, we'll
at
least have a reference implementation and baseline functionality 
for

commons-geometry that we can modify later based on what's decided
here.


My questions below are a start; I'm waiting for answers.
Code duplication is bad (TM).

Regards,
Gilles



-Matt

From: Gilles 
Sent: Saturday, December 1, 2018 9:40 PM
To: dev@commons.apache.org
Subject: Re: [Numbers][Geometry] Where to define "quaternion" (Was:
Making Quaternion a VALJO)

On Sat, 01 Dec 2018 12:56:34 +0100, Gilles wrote:

Hello.

On Sat, 1 Dec 2018 06:05:31 +, Matt Juntunen wrote:

Hi guys,

FYI, I've been working on a quaternion-related class named
QuaternionRotation for commons-geometry (see link below). It
includes
slerp as well as several other geometry-oriented methods, such as
conversion to/from axis-angle representations and creation from
basis
rotations. It's not quite ready for a merge ye

Re: [RNG] How to enable japicmp?

2018-12-09 Thread Gilles

On Sun, 9 Dec 2018 11:15:15 +, sebb wrote:
On Sat, 8 Dec 2018 at 22:47, Gilles  
wrote:


Hi.

> [...]
>> from [Lang].[1]
>> The plugin crashes with NPE.
>> [...]
>>
>> Are there problems with "japicmp" that are specific to 
multi-modules

>> projects?
>
> It seems that's already fixed:
> https://github.com/siom79/japicmp/issues/210

Thanks for the info.

>
> Worth trying with a newer version.

Looking at the "commons-parent" project, the upgrade was done (to 
0.13)

in version 48-SNAPSHOT, which has not been released yet.


One can easily override the plugin versions for testing:

mvn ... --Dcommons.japicmp.version=0.13.0


Tried it: plugin does not crash anymore. :-)
But report is empty. :-{


Regards,
Gilles


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



Fwd: Re: [Vote] RC2 for releasing Commons RNG v1.2

2018-12-10 Thread Gilles

[Forwarding to ML.]

 Original Message 
Subject: Re: [Vote] RC2 for releasing Commons RNG v1.2
Date: Mon, 10 Dec 2018 13:12:33 +0100
From: Gilles 
To: Alex Herbert 

On Mon, 10 Dec 2018 10:54:28 +, Alex Herbert wrote:

On 06/12/2018 17:15, Gilles wrote:


Maven artifacts' SHA-512 hashes in Nexus:

commons-rng-1.2-bin-tar.gz=681530e0f26f1ac84b626de4adfc7a5c615b2784157da412b329c5ff33361a7b

commons-rng-1.2-bin-tar.gz.asc=5785291f481029c00600cca402ca37fbf9bea64a1b58db4f58c3c41270200e58

commons-rng-1.2-src-tar.gz=89d1d4fb95651c0d008d941b928e468822769a142f69c1e7f174994e3c13285c

commons-rng-1.2-bin-zip=09608ac82e654287d69cca991d516cd95f09189f412bf2be1292f10f9b7d103e

commons-rng-1.2-src-zip=aabe2a548c991ef89a7f86a5ed6b7ba9847678a0fd87b48d7d40775ba545063d

commons-rng-1.2-src-zip.asc=d676fa86a0fa81db7c9c63fb1c86dc5ae23755081186adf6f3650bee3e341e96

commons-rng-1.2-pom.asc=24d621f1b1724134d4d493e0672e9c9a0627c0e8b5614c3ef4d8030ecc14f541

commons-rng-1.2-bin-zip.asc=243e1b663c639116840301d3610abec9b5d6b68f494eee10b164fc7057b4a7e5

commons-rng-1.2-src-tar.gz.asc=7480a80014b3ec58cf3a98c84bb693ba5ea86b02361889c43893752cd9203f33


Sorry I am late with this one.


Late but not last I hope... :-}




I find these to be SHA-256 hashes.


Yes; sorry for the copy/paste mistake.




Downloaded all the Nexus artifacts. All .asc signatures verify OK 
using gpg.



User manual:

User Manual > Performance

I note that the Gaussian samplers table has been updated. I presume
it is to remove the JDK 10 times and replace with the documented
OpenJDK 1.8. This is good.

User Manual > Quality

There is a missing link under Dieharder for WELL_44497_B. The number
of failed tests is missing in the rng.apt source file so the link to
the test result is not visible.


Now fixed in "master".




'mvn test site site:stage' using

Maven home: /usr/local/apache-maven-3.5.4
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime:
/usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-140-generic", arch: "amd64", 
family: "unix"


All builds OK. Local site has the same error in the user manual.


+0.5 (just the issue with the table in the user manual)


That's a tough mark for just one typo! ;-)


Thanks for the review,
Gilles


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



Re: [Vote] RC2 for releasing Commons RNG v1.2

2018-12-11 Thread Gilles

Ping?

On Thu, 06 Dec 2018 18:15:24 +0100, Gilles wrote:

Hello.


I'd like to release version 1.2 of "Commons RNG".


Apache Commons RNG v1.2 (RC2) is available for review:
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2 (svn
revision 31410)

Git tag is named "RNG_1_2_RC2":


https://git-wip-us.apache.org/repos/asf?p=commons-rng.git;a=tag;h=refs/tags/RNG_1_2_RC2

Maven artifacts are here:


https://repository.apache.org/content/repositories/orgapachecommons-1399/org/apache/commons/

Maven artifacts' SHA-512 hashes in Nexus:


commons-rng-1.2-bin-tar.gz=681530e0f26f1ac84b626de4adfc7a5c615b2784157da412b329c5ff33361a7b


commons-rng-1.2-bin-tar.gz.asc=5785291f481029c00600cca402ca37fbf9bea64a1b58db4f58c3c41270200e58


commons-rng-1.2-src-tar.gz=89d1d4fb95651c0d008d941b928e468822769a142f69c1e7f174994e3c13285c


commons-rng-1.2-bin-zip=09608ac82e654287d69cca991d516cd95f09189f412bf2be1292f10f9b7d103e


commons-rng-1.2-src-zip=aabe2a548c991ef89a7f86a5ed6b7ba9847678a0fd87b48d7d40775ba545063d


commons-rng-1.2-src-zip.asc=d676fa86a0fa81db7c9c63fb1c86dc5ae23755081186adf6f3650bee3e341e96


commons-rng-1.2-pom.asc=24d621f1b1724134d4d493e0672e9c9a0627c0e8b5614c3ef4d8030ecc14f541


commons-rng-1.2-bin-zip.asc=243e1b663c639116840301d3610abec9b5d6b68f494eee10b164fc7057b4a7e5


commons-rng-1.2-src-tar.gz.asc=7480a80014b3ec58cf3a98c84bb693ba5ea86b02361889c43893752cd9203f33


Details of changes since 1.1 are in the release notes:


https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2/RELEASE-NOTES.txt


https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2/site/changes-report.html

Site:
http://commons.apache.org/proper/commons-rng/

KEYS:
   id=B39617E095CD748DFE505816703413011E22D5B8
   https://www.apache.org/dist/commons/KEYS


Please review the release candidate and vote.
This vote will close no sooner that 72 hours from now.

  [ ] +1 Release these artifacts
  [ ] +0 OK, but...
  [ ] -0 OK, but really should fix...
  [ ] -1 I oppose this release because...


Thanks,
Gilles



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



[Vote][RESULT] RC2 for releasing Commons RNG v1.2

2018-12-12 Thread Gilles

Hi.

RC2 was reviewed by the following people:

 * Rob Tompkins (+1)
 * Alex Herbert (+0.5)
 * Gary Gregory (+1)

With my +1, the vote passes with the bare minimum of binding votes.

Regards,
Gilles

On Thu, 06 Dec 2018 18:15:24 +0100, Gilles wrote:

Hello.


I'd like to release version 1.2 of "Commons RNG".


Apache Commons RNG v1.2 (RC2) is available for review:
https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2 (svn
revision 31410)

Git tag is named "RNG_1_2_RC2":


https://git-wip-us.apache.org/repos/asf?p=commons-rng.git;a=tag;h=refs/tags/RNG_1_2_RC2

Maven artifacts are here:


https://repository.apache.org/content/repositories/orgapachecommons-1399/org/apache/commons/

Maven artifacts' SHA-512 hashes in Nexus:


commons-rng-1.2-bin-tar.gz=681530e0f26f1ac84b626de4adfc7a5c615b2784157da412b329c5ff33361a7b


commons-rng-1.2-bin-tar.gz.asc=5785291f481029c00600cca402ca37fbf9bea64a1b58db4f58c3c41270200e58


commons-rng-1.2-src-tar.gz=89d1d4fb95651c0d008d941b928e468822769a142f69c1e7f174994e3c13285c


commons-rng-1.2-bin-zip=09608ac82e654287d69cca991d516cd95f09189f412bf2be1292f10f9b7d103e


commons-rng-1.2-src-zip=aabe2a548c991ef89a7f86a5ed6b7ba9847678a0fd87b48d7d40775ba545063d


commons-rng-1.2-src-zip.asc=d676fa86a0fa81db7c9c63fb1c86dc5ae23755081186adf6f3650bee3e341e96


commons-rng-1.2-pom.asc=24d621f1b1724134d4d493e0672e9c9a0627c0e8b5614c3ef4d8030ecc14f541


commons-rng-1.2-bin-zip.asc=243e1b663c639116840301d3610abec9b5d6b68f494eee10b164fc7057b4a7e5


commons-rng-1.2-src-tar.gz.asc=7480a80014b3ec58cf3a98c84bb693ba5ea86b02361889c43893752cd9203f33


Details of changes since 1.1 are in the release notes:


https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2/RELEASE-NOTES.txt


https://dist.apache.org/repos/dist/dev/commons/rng/1.2-RC2/site/changes-report.html

Site:
http://commons.apache.org/proper/commons-rng/

KEYS:
   id=B39617E095CD748DFE505816703413011E22D5B8
   https://www.apache.org/dist/commons/KEYS


Please review the release candidate and vote.
This vote will close no sooner that 72 hours from now.

  [ ] +1 Release these artifacts
  [ ] +0 OK, but...
  [ ] -0 OK, but really should fix...
  [ ] -1 I oppose this release because...


Thanks,
Gilles



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



Apache Commons RNG version 1.2 release

2018-12-12 Thread Gilles


We are pleased to announce the availability of version 1.2 of the
"Apache Commons RNG" library.

Apache Commons RNG provides Java implementations of pseudo-random
numbers generators.

The release notes can be reviewed at
  https://www.apache.org/dist/commons/rng/RELEASE-NOTES.txt

Distribution packages can be downloaded from
  https://commons.apache.org/proper/commons-rng/download_rng.cgi

When downloading, please verify signatures using the KEYS file
available at
  https://www.apache.org/dist/commons/KEYS

Maven artifacts are also available in the central Maven repository:
  https://repo1.maven.org/maven2/org/apache/commons/


Best regards,
Gilles (on behalf of the Apache Commons Team)

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



Re: Apache Commons RNG version 1.2 release

2018-12-12 Thread Gilles

On Wed, 12 Dec 2018 08:34:19 -0500, Rob Tompkins wrote:

I was under the impression that we were to wait 24 hours between
promotion and announcement as to wait for the mirrors of the world to
catch up with the release promotion on the Apache servers.


The artefacts are already on Maven Central.

Given the stats for past releases, I doubt that the "world" is
going to hammer the Apache servers for immediate availability
of the release tarball. ;-)

Gilles



-Rob


On Dec 12, 2018, at 8:30 AM, Gilles  wrote:


We are pleased to announce the availability of version 1.2 of the
"Apache Commons RNG" library.

Apache Commons RNG provides Java implementations of pseudo-random
numbers generators.

The release notes can be reviewed at
 https://www.apache.org/dist/commons/rng/RELEASE-NOTES.txt

Distribution packages can be downloaded from
 https://commons.apache.org/proper/commons-rng/download_rng.cgi

When downloading, please verify signatures using the KEYS file
available at
 https://www.apache.org/dist/commons/KEYS

Maven artifacts are also available in the central Maven repository:
 https://repo1.maven.org/maven2/org/apache/commons/


Best regards,
Gilles (on behalf of the Apache Commons Team)



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



Re: [Numbers] Inheritance and ValJO ?

2018-12-12 Thread Gilles

Hi.

On Wed, 12 Dec 2018 22:48:54 +, Stephen Colebourne wrote:

I think this has already been worked out, but the main reason for no
inheritance is that is probably blocks future conversion to value 
types.

Composition instead of inheritance is usually the right solution.


Thanks for the reply.

Do you think that the implementation here:
  
https://gitbox.apache.org/repos/asf?p=commons-numbers.git;a=blob;f=commons-numbers-quaternion/src/main/java/org/apache/commons/numbers/quaternion/Quaternion.java

still counts as ValJO, despite allowing (mandating even) inheritance
by inner classes (as per your paragraph that ends with "The need for
this is rare however.")

What I don't quite see is the consequences of the class not being
final...


Gilles



Stephen


On Sun, 9 Dec 2018 at 10:21, Gilles  
wrote:



Hello.

After the discussion quote below, the conclusion was to go with
inheritance:
   https://issues.apache.org/jira/browse/NUMBERS-80

However, it would make "Quaternion" fail the "ValJO" definition[1]
that mandates that all constructors be private.

Would a protected constructor really be an issue?
[In the case of "Quaternion", the subclass constructor would only
perform additional validation (cf. below for details).]


Thanks,
Gilles

[1] https://blog.joda.org/2014/03/valjos-value-java-objects.html

On Mon, 03 Dec 2018 10:31:42 +0100, Gilles wrote:
> Hi.
>
> On Mon, 3 Dec 2018 03:56:02 +, Matt Juntunen wrote:
>> I was just thinking from a practical standpoint. My current
>> QuaternionRotation class is still in my working branch for
>> GEOMETRY-14
>> and so isn't really accessible to anyone. If I can finish it up 
in

>> its
>> current state (hopefully very soon) and get it merged, then 
someone
>> else will be able to work with it and blend the functionality 
with

>> commons-numbers.
>
> Someone else?
>
>>
>> Here are some notes on your questions from before:
>>
>>   * Should "QuaternionRotation" inherit from "Quaternion"?
>>
>> That would work conceptually. The quaternions in the
>> QuaternionRotation class are standard quaternions that meet two
>> other
>> criteria: 1) they are unit length, and 2) their scalar component 
is

>> greater than or equal to zero (in order to standardize the angles
>> involved).
>
> It seems indeed the perfect case for inheritance.
>
>> The one sticking point here is that I'm not sure how this
>> fits with the VALJO concept. If we can get this sorted, then this
>> very
>> well may be the best option.
>
> What do you see as a potential issue?
>
>>
>>   * Should "Quaternion" be defined in [Geometry] (and removed 
from

>> [Numbers])?
>>
>> Perhaps. I've certainly only used them to represent 3D rotations.
>> Are
>> there any other use cases from commons-numbers?
>
> Not within [Numbers], but that's the point of those very low-level
> components/modules: they are common utilities used by higher-level
> components/libraries/applications.
>
> Given that "QuaternionRotation" is a special case of "Quaternion",
> it is logical to keep the latter at a lower-level, namely in
> [Numebers], and make [Geometry] depend on it.
>
>>
>>   * Are some utilities defined in "QuaternionRotation" general
>> such that they could be part of the [Numbers] "Quaternion" 
API.

>> An example might be the transformation between quaternion and
>> matrix (represented as a double[3][3])?
>>
>> The conversion to rotation matrix and slerp are the best 
candidates
>> here. The other methods rely on core classes from 
commons-geometry,

>> namely Vector3D.
>
> Is "slerp" applicable to a general "Quaternion", or does it assume
> the additional requirements of "QuaternionRotation"?
> [Same question applies to all utilities in order to decide where 
to

> define them.]
>
>>
>> One more note: I decided to make a separate package for 3D 
rotations
>> in my working branch for GEOMETRY-14, so QuaternionRotation is 
now

>> at
>>
>>

https://github.com/darkma773r/commons-geometry/blob/transforms/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/rotation/QuaternionRotation.java
.
>
> Could you please update it so that it inherits from "Quaternion"?
>
> Thanks,
> Gilles
>
>>
>> -Matt
>> 
>> From: Gilles 
>> Sent: Sunday, December 2, 2018 3:57 PM
>> To: dev@commons.apache.org
>> Subject: Re: [Numbers][Geometry] Where to define "quaternion&q

[Release-plugin] Auto-generated download page is wrong (Was: Returned post for annou...@apache.org)

2018-12-13 Thread Gilles

Hi.

[See below, the rejected announce mail for Commons RNG v1.2.]

Release candidates were generated with the "release-plugin".[1]
The "xml" template files were generated using
 $ mvn -Prelease commons-build:download-page

Please advise on the appropriate incantations (that would lead
to the download page being generated with correct links to the
checksum files (SHA-256).

Thanks,
Gilles

[1] http://commons.apache.org/proper/commons-release-plugin/index.html

On 13 Dec 2018 09:16:38 -, announce-ow...@apache.org wrote:

Hi! This is the ezmlm program. I'm managing the
annou...@apache.org mailing list.

I'm sorry, your message (enclosed) was not accepted by the moderator.
If the moderator has made any comments, they are shown below.


 >>>>>

Sorry, but the download page is not acceptable at present.

SHA1 is now deprecated; please replace with SHA256/SHA512, and resend 
the

announce message when this has been done.

Thanks
Sebb
<<<<<  <<<<<



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



Re: [numbers] propose making BigFraction an extension of Fraction

2018-12-13 Thread Gilles

Hi Eric.

On Thu, 13 Dec 2018 11:20:12 -0800, Eric Barnhill wrote:

Right now BigFraction and Fraction are separate parallel classes.

I propose altering this so that BigFraction extends Fraction, 
overrides its

methods, but also keeps its own unique methods.

I think it would be an improvement to the API to have both classes 
share

the same interface (and indeed an interface-based solution would be
possible, but strikes me as overkill, since I don't see any 
additional
classes beyond Fraction and BigFraction). BigFraction would in 
addition

have its current methods to convert BigIntegers to ints and longs.

Among the elegancies afforded by this change, if a Fraction operation
causes overflow as previously discussed, a BigFraction could be 
returned
and should be able to handle all further calls to Fraction unaltered. 
(This
might not always be desired behavior, so Fraction may need to contain 
a
setting to either throw and exception, or convert to BigFraction in 
case of

overflow.)


Doesn't this setting achieve at runtime what the application
developer should decide at compile time (by instantiating the
class that has the desired behaviour)?



So I propose writing a ticket for this change. As sub-points on the 
ticket
the BigFraction class could be conformed to Fraction class in terms 
of

reduction of constants and producing a VALJO.


Inheritance and ValJO turn out being contradictory (see thread
with subject "Inheritance and ValJO ?").
And (IIUC) the workaround/alternative hinted at by Stephen
in that same thread might not be directly applicable because,
here, the instance fields are different in "Fraction" and
"BigFraction" ("long" vs "BigInteger").

I've just noticed that "BigInteger" is not final; hence
"BigFraction" cannot be a ValJO either.[1]

I don't think that we should rule out a "Fraction" interface.

A "Fraction64" class would be an explicit "long"-based ValJO
(with operations that are fast, but throw in case of overflow).

"BigFraction" would be the fail-safe implementation.  If it
allows for faster operation in some cases, it could hold
a "Fraction64" instance field (i.e. what you propose would
be achieved through composition rather than inheritance).
Does this make sense?

Regards,
Gilles

[1] So this issue:
  https://issues.apache.org/jira/browse/NUMBERS-75
should probably be resolved as "Invalid".



Eric



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



Re: [numbers/general] unlikely argument type warning

2018-12-13 Thread Gilles

On Thu, 13 Dec 2018 11:39:05 -0800, Eric Barnhill wrote:

For the line:

Assert.assertFalse(zero.equals(Double.valueOf(0)));


What is it testing?
Conceptually, I'd expect "assertTrue" (zero as a fraction
is equal to zero as a double).



Eclipse is producing a warning:

"Unlikely argument type for equals(): Double seems to be unrelated to
Fraction"

Does anyone have a suggestion for how to handle this warning, thank 
you.


Perhaps Eclipse indicates that the test is useless (since
"Double" is not a subclass of "Fraction").

And perhaps "Fraction" should overload "equals":

public boolean equals(double x, int ulp) {
   return Precision.equals(doubleValue(), x, ulp);
}
public boolean equals(Number x, int ulp) {
   return equals(x.doubleValue, ulp);
}
public boolean equals(double x) {
   return equals(doubleValue(), x, 1);
}

Gilles



Eric



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



Re: [geometry] 1.0 Roadmap

2018-12-15 Thread Gilles

Hi.

On Fri, 7 Sep 2018 02:29:21 +, Matt Juntunen wrote:

Hi all,

I've been working on the new commons-geometry component for a while
now and I wanted to share with everyone the current state of the
project and what I'm picturing for the future, up to a 1.0 release.

Here is where we are now:

  1.  All of the original geometry code from commons-math has been
moved to commons-geometry.
  2.  Code has been split into a number of distinct modules, per Java
9+ conventions.
  3.  The old Vector classes have been completely redesigned and
refactored into separate Point and Vector classes to better reflect
the underlying math.
  4.  All Point and Vector classes are now VALJOs.
  5.  Support for spherical and polar coordinates has been added.

Here is what I'd like to still accomplish before a 1.0 release (in
order of priority):

  1.  Add additional Vector methods (GEOMETRY-9) -- This includes
methods like lerp, project, and reject among others. A pull request
has been submitted for this and is in discussion.


Done.


  2.  Vector normalization optimizations (GEOMETRY-10) -- We can
avoid a lot of computation by making some tweaks here. I've started 
on

this but do not yet have a pull request.


Done.


  3.  Add matrix-based AffineTransform?D classes (GEOMETRY-14) -- We
are sorely lacking an API to translate, rotate, and scale.


In progress.  PR provided but design is under discussion:
  https://issues.apache.org/jira/browse/GEOMETRY-14


  4.  Encapsulate concept of tolerance (GEOMETRY-11) -- We currently
use raw double tolerance values to help determine equality between
floating point numbers. I think we should encapsulate this into a
GeometryContext class to ensure that this is done consistently and to
allow us to easily tweak the algorithm if needed. If anyone has any
ideas for how to best maintain floating point accuracy here, that
would be great.


Open.


  5.  API cleanup for Region, Hyperplane, and BSPTree (no JIRA issue
yet) -- This is a big one and kind of ill-defined. One of the main
gripes I and other people at my work have had with the old
commons-math geometry code was that it was awkward to use. You had to
jump through a bunch of hoops to do things like get the vertices of
the union of two 2D shapes. I'd like to try to clean this up and
streamline some of the common use cases. Comments and feedback on 
this

would be great.


Status?


  6.  BSPTree optimizations (no JIRA issue yet) -- I have some ideas
I'd like to try out to speed up the BSP tree code. My unofficial
benchmark is to convert a model of the Utah teapot I have with ~1000
facets into a PolygonsSet and back. The current code cannot do this.
It takes forever and then fails, I believe due to accumulated 
floating

point errors. If we can get the code to be able to do this correctly
and in a reasonable amount of time, then I'd feel good about making a
release.


Status?



Thoughts? Comments? I have a project at work coming up near the end
of the year that I'd really love to use commons-geometry on, so 
that's

what I'm aiming for in terms of a timeline.


I'm very much for RERO.
However, given the lack of feedback for this component, we cannot
be confident that no corners have been cut for such a large code
base (8526 LOC as of today[1]).
Hence I'd like to release (ASAP) a _beta_ version of what we have,
such that the functionality can be put to use (and problems, design
or bugs, arise from actual use cases).

[Geometry] depends on [Numbers] whose first release is also long
overdue!  But the lack of feedback applies to the latter too, and
I thus also propose to prepare a beta version of it.

The safer approach[2] is to put _all_ codes under a new top-level
package (e.g. "org.apache.commons.geometry.beta").
That name would remain the same for all beta releases, _without_
any BC requirement (hence JAR hell _can_ occur, but is explicitly
allowed in beta releases[3]).

WDYT?

If we agree, what timeline are we talking about?

Regards,
Gilles


Thanks,
Matt Juntunen


[1] Down 10% from the original "Commons Math" code base, but with
more features (IIUC). :-)
Actually, AFAICT, the work by Matt is the first ever large
scale review/refactoring of the code contained in "geometry"
package of "Commons Math".
[2] IIUC the scarce discussions, without any firm conclusions,
about how our "Commons" project should deliver alpha/beta
releases. [Directions still welcome...]
[3] Cf. ML archive. If PMC members disagree, please speak up now.


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



Re: [CSV] Records as Lists

2018-12-15 Thread Gilles

On Thu, 13 Dec 2018 11:33:45 -0700, Gary Gregory wrote:

Hi All,

I am looking for opinions on turning a CSV record into a list, as 
opposed
to the minimal current implementation. There would be side-effects 
like a
record becoming writable instead of read-only as the current 
implementation.


IIUC, the patch referred to below does not add those side-effects.



Memory footprint would also be a concern.


The patch does not change that either.

Gilles



Please see https://github.com/apache/commons-csv/pull/35

Gary



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



[Numbers] 1.0 Roadmap

2018-12-17 Thread Gilles

Hi.

I've proposed to release a beta version of "Commons
Numbers"[1].

Any blockers?

Regards,
Gilles

[1] https://markmail.org/message/3wskoxpc2l7itiao


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



Re: [Release-plugin] Auto-generated download page is wrong (Was: Returned post for annou...@apache.org)

2018-12-17 Thread Gilles

Ping?

Is this a "release-plugin" bug to report on JIRA (COMMONSSITE),
or a usage issue?
I did not spot a recent documentation resource that warns of
this (new?) problem.

Gilles

On Thu, 13 Dec 2018 16:38:38 +0100, Gilles wrote:

Hi.

[See below, the rejected announce mail for Commons RNG v1.2.]

Release candidates were generated with the "release-plugin".[1]
The "xml" template files were generated using
 $ mvn -Prelease commons-build:download-page

Please advise on the appropriate incantations (that would lead
to the download page being generated with correct links to the
checksum files (SHA-256).

Thanks,
Gilles

[1] 
http://commons.apache.org/proper/commons-release-plugin/index.html


On 13 Dec 2018 09:16:38 -, announce-ow...@apache.org wrote:

Hi! This is the ezmlm program. I'm managing the
annou...@apache.org mailing list.

I'm sorry, your message (enclosed) was not accepted by the 
moderator.

If the moderator has made any comments, they are shown below.


 >>>>>

Sorry, but the download page is not acceptable at present.

SHA1 is now deprecated; please replace with SHA256/SHA512, and 
resend the

announce message when this has been done.

Thanks
Sebb
<<<<<  <<<<<




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



Re: [exec] Add stream api to improve exec ease of use

2018-12-17 Thread Gilles

Hello.

On Sun, 9 Dec 2018 13:14:15 +0800, ideal wrote:
Hi all, the current use of java8 has been very extensive. I designed 
a
stream api based simplified `exec` and verified its usability in a 
lot of

scenarios. Share my api now.

demo:

JVMLauncher launcher = 
JVMLaunchers.newJvm()

.setCallable(() -> {
System.out.println(" exec task jvm
start ***");
TimeUnit.SECONDS.sleep(1);
System.out.println(" exec task jvm
stop ***");
return 1;
})
.setXms("16m")
.setXmx("16m")
.addUserjars(Collections.emptyList())
.setConsole((msg) -> System.err.println(msg))
.build();

VmFuture out = launcher.startAndGet();   --run


It seems that the [exec] component has become unmaintained: last
release happened more than 4 years ago.

In order to make it worth reviving it (if there people willing
to do it), it would be useful to list what your project provides
that is missing from recent Java versions (e.g. enhancements to
the "Process"-related JDK classes).

Thanks,
Gilles


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



Re: [CSV] Records as Lists

2018-12-18 Thread Gilles

Hi.

On Tue, 18 Dec 2018 07:22:00 + (UTC), Bruno P. Kinoshita wrote:

From what I understood from the previous messages & discussion on
GitHub, it would be more convenient for users to be able to have a
List instead of an Iterable,


Why "instead"?
The patch makes the class a subclass of "List"; and "List"
implements "Iterable".


or instead of having to call the
#toList() or convert to a List in some other way.
I commented in the pull request, that I don't think there would be a
performance penalty in doing so (at least I don't think so, as the
values are not streamed, but rather kept in the private values 
array).

However, I think we are delivering an Iterable that's fully capable
to be used as an Iterable now. Whereas the proposal would make it a
read-only list, as that returned from unmodifiableList,


That's not what the patch does:
  https://docs.oracle.com/javase/7/docs/api/java/util/AbstractList.html


i.e. throwing
exceptions for add/clear/etc operations.


The original code (using "Arrays.asList") could not do those 
operations:
  
https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#asList(T...)



In my opinion, I prefer to keep it as an Iterable, leave the toList
method, as I think current users could be affected


How?
[In the original code, "toList" is private.]


by accidentally
trying to reuse CSVRecord while reading from one input and writing to
an output stream.


I don't understand this.

Regards,
Gilles



So I'm -0 for it.
Bruno

  From: sebb 
 To: Commons Developers List 
 Sent: Tuesday, 18 December 2018 12:24 AM
 Subject: Re: [CSV] Records as Lists

What is the use-case for using lists?

On Thu, 13 Dec 2018 at 18:34, Gary Gregory  
wrote:


Hi All,

I am looking for opinions on turning a CSV record into a list, as 
opposed
to the minimal current implementation. There would be side-effects 
like a
record becoming writable instead of read-only as the current 
implementation.


Memory footprint would also be a concern.

Please see https://github.com/apache/commons-csv/pull/35

Gary


-
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



Re: Help with migrating one of OpenJPA classes to commons-collections4

2018-12-18 Thread Gilles

On Tue, 18 Dec 2018 22:03:04 +0700, Maxim Solodovnik wrote:

It seems I'm unable to commit to SVN:

URL: https://dist.apache.org/repos/dist/release/commons

SendingKEYS
Transmitting file data .svn: E195023: Commit failed (details follow):
svn: E195023: Changing file
'/home/solomax/work/apache-dist/release/commons/KEYS' is forbidden by 
the

server
svn: E175013: Access to
'/repos/dist/!svn/txr/31592-qod/release/commons/KEYS' forbidden

Can someone help me with access rights?


Not me.
But I've added your key (revision 31593).

Hope it gets you a little further,
Gilles



On Tue, 18 Dec 2018 at 21:22, Maxim Solodovnik  
wrote:



Moving conversation to dev@ list

I was able to create branch using gitbox remote
Will proceed,

Thanks for the tip


On Tue, 18 Dec 2018 at 21:14, Gilles  
wrote:



Hi.

On Tue, 18 Dec 2018 20:54:22 +0700, Maxim Solodovnik wrote:
> Hello Gilles,
>
> I read documentation and as far as I can see To perform release I
> need
> rights to create branch
>
> git remote -v
> origin g...@github.com:apache/commons-collections.git (fetch)
> origin g...@github.com:apache/commons-collections.git (push)
>
> git push -u origin 4.3-release
> ERROR: Permission to apache/commons-collections.git denied to
> solomax.
> fatal: Could not read from remote repository.
>
> Please make sure you have the correct access rights
> and the repository exists.

The repository (at Apache) is here:
   https://gitbox.apache.org/repos/asf?p=commons-collections.git

We were told that it should now be possible to also write
through GitHub, but I don't know if and how it should work.

IMO, the easiest would be to clone the above, and try again
with that.  [If it still does not work, then perhaps the issue
is that the "all-Apache-committers-are-committers" resolution
was not applied.]

Gilles

P.S. We should move this conversation over to the "dev" ML.

>
> Shall I use SVN? Or some other remote?
>
>
>
> On Tue, 18 Dec 2018 at 16:04, Maxim Solodovnik 


> wrote:
>
>> Thanks Gilles,
>>
>> will try to create RC tonight
>>
>> On Tue, 18 Dec 2018 at 15:55, Gilles 


>> wrote:
>>
>>> Hi.
>>>
>>> On Tue, 18 Dec 2018 09:52:15 +0700, Maxim Solodovnik wrote:
>>> > I can create RC, no problem
>>> > But
>>> > 1) I need my signing key [1] to be added to official KEYS
>>>
>>> The file is here:
>>>https://dist.apache.org/repos/dist/release/commons/KEYS
>>>
>>> > 2) Do you have description of your release process? I was 
unable

>>> to
>>> > find one
>>>
>>> 
http://commons.apache.org/proper/commons-release-plugin/index.html

>>>
>>> Also, a step-by-step recipe is here:
>>>
>>>
>>>
>>>

https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=blob;f=doc/release/release.howto.txt
>>>
>>> [It is for a multimodule maven project ("Commons RNG"); it
>>> mentions problems with the release process that might need
>>> manual adjustments.]
>>>
>>> If you encounter something that does not work as noted,
>>> please report it here, and on the bug tracking system:
>>>https://issues.apache.org/jira/projects/COMMONSSITE
>>>
>>> > 3) most probably I will need some rights
>>>
>>> The "Commons" project has granted "write" access to all
>>> Apache committers.
>>> [But some repositories perhaps miss the actual settings
>>> to make it work.  You'll have to try...]
>>>
>>> HTH,
>>> Gilles
>>>
>>> > [1] 
https://github.com/apache/openmeetings/blob/master/KEYS#L88

>>> >
>>> > On Tue, 18 Dec 2018 at 01:06, sebb  wrote:
>>> >
>>> >> On Mon, 17 Dec 2018 at 15:38, Gary Gregory
>>> 
>>> >> wrote:
>>> >> >
>>> >> > I am on the road driving this week, my availability is
>>> limited.
>>> >> >
>>> >> > WRT being a RM, I think you need PMC karma for that. Sebb
>>> might be
>>> >> able
>>> >> to
>>> >> > confirm.
>>> >>
>>> >> Creating the dist/dev release candidate only requires 
project

>>> >> committer karma; Commons requires the same for dist/release
>>> >>
>>> >> I don't know about Nexus; I imagine at least LDAP commons
>>> committer
>>> >> membership is required.
>>> >>
>>> >> There's no harm in try

Re: Help with migrating one of OpenJPA classes to commons-collections4

2018-12-18 Thread Gilles

Hello.

On Tue, 18 Dec 2018 23:05:12 +0700, Maxim Solodovnik wrote:

Thanks a lot

Unfortunately the next error is: Failed to deploy artifacts: Could 
not
transfer artifact org.apache.commons:commons-collections4:jar:4.3 
from/to

apache.releases.https (
https://repository.apache.org/service/local/staging/deploy/maven2): 
Access

denied to:

https://repository.apache.org/service/local/staging/deploy/maven2/org/apache/commons/commons-collections4/4.3/commons-collections4-4.3.jar

I'm release manger for Apache OpenMeetings and just double-check I 
can

access Staging Repos at repository.apache.org
, so I guess there are additional restrictions here

would appreciate any help/hint :)


I don't know how to change the permissions (I don't think I have
the privilege anyway), and the PMC chair is AFK for a couple more
days IIUC. :-(

Perhaps someone with a taller hat. :-}

Sorry for the inconvenience; it looks like you are first one to
try and exercise those privileges voted several years ago...

Gilles



On Tue, 18 Dec 2018 at 22:54, Gilles  
wrote:



On Tue, 18 Dec 2018 22:03:04 +0700, Maxim Solodovnik wrote:
> It seems I'm unable to commit to SVN:
>
> URL: https://dist.apache.org/repos/dist/release/commons
>
> SendingKEYS
> Transmitting file data .svn: E195023: Commit failed (details 
follow):

> svn: E195023: Changing file
> '/home/solomax/work/apache-dist/release/commons/KEYS' is forbidden 
by

> the
> server
> svn: E175013: Access to
> '/repos/dist/!svn/txr/31592-qod/release/commons/KEYS' forbidden
>
> Can someone help me with access rights?

Not me.
But I've added your key (revision 31593).

Hope it gets you a little further,
Gilles

>
> On Tue, 18 Dec 2018 at 21:22, Maxim Solodovnik 


> wrote:
>
>> Moving conversation to dev@ list
>>
>> I was able to create branch using gitbox remote
>> Will proceed,
>>
>> Thanks for the tip
>>
>>
>> On Tue, 18 Dec 2018 at 21:14, Gilles 


>> wrote:
>>
>>> Hi.
>>>
>>> On Tue, 18 Dec 2018 20:54:22 +0700, Maxim Solodovnik wrote:
>>> > Hello Gilles,
>>> >
>>> > I read documentation and as far as I can see To perform 
release I

>>> > need
>>> > rights to create branch
>>> >
>>> > git remote -v
>>> > origin g...@github.com:apache/commons-collections.git (fetch)
>>> > origin g...@github.com:apache/commons-collections.git (push)
>>> >
>>> > git push -u origin 4.3-release
>>> > ERROR: Permission to apache/commons-collections.git denied to
>>> > solomax.
>>> > fatal: Could not read from remote repository.
>>> >
>>> > Please make sure you have the correct access rights
>>> > and the repository exists.
>>>
>>> The repository (at Apache) is here:
>>>https://gitbox.apache.org/repos/asf?p=commons-collections.git
>>>
>>> We were told that it should now be possible to also write
>>> through GitHub, but I don't know if and how it should work.
>>>
>>> IMO, the easiest would be to clone the above, and try again
>>> with that.  [If it still does not work, then perhaps the issue
>>> is that the "all-Apache-committers-are-committers" resolution
>>> was not applied.]
>>>
>>> Gilles
>>>
>>> P.S. We should move this conversation over to the "dev" ML.
>>>
>>> >
>>> > Shall I use SVN? Or some other remote?
>>> >
>>> > [...]



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



Re: [CSV] Records as Lists

2018-12-18 Thread Gilles

Hi.

On Tue, 18 Dec 2018 21:33:42 + (UTC), Bruno P. Kinoshita wrote:

Hi Gilles!

Sorry, just came back from a long holiday, speaking Portuguese only.
Semantic, vocabulary, etc, in English is a bit laggy right now.



On Tue, 18 Dec 2018 07:22:00 + (UTC), Bruno P. Kinoshita wrote:
From what I understood from the previous messages & discussion on
GitHub, it would be more convenient for users to be able to have a
List instead of an Iterable,


Why "instead"?
The patch makes the class a subclass of "List"; and "List"
implements "Iterable".



That's right, I meant to say that it would be an AbstractList, and
not only an Iterable any more.


I think that's the reporter's purpose: get more functionality...




However, I think we are delivering an Iterable that's fully capable



to be used as an Iterable now. Whereas the proposal would make it a
read-only list, as that returned from unmodifiableList,


That's not what the patch does:
https://docs.oracle.com/javase/7/docs/api/java/util/AbstractList.html



I think tis another semantic/communication issue. From the link 
above:


"Note that this implementation throws an
UnsupportedOperationException unless remove(int index) or
removeRange(int fromIndex, int toIndex) is overridden."


That's what I meant. By extending AbstractList, users could now call
remove and other methods, that would result in the exception above
(similarly to the list returned via Collections.unmodifiableList).


"remove()" can also be called on the instance return by the
"iterator()" method; and it will throw just the same.





How?



[In the original code, "toList" is private.]


Oh, good point!!! I wrote the e-mail from memory, a few days after
reading the code, and after just arriving at home. Mea culpa.



by accidentally
trying to reuse CSVRecord while reading from one input and writing 
to

an output stream.


I don't understand this.



That was a contrived example. Say you read the records, transform the
Iterable into a List, and add/remove/clear columns/rows while
processing the CSVRecord (e.g. you could be using commons-text and
other libs to filter/process the entries). Then you get these values
and create a new CSV.


IIUC, the current code cannot do that because it uses "Arrays.asList"
to return a _view_ of the underlying array (fixed length, remove not
supported).



When users realize they now have a List instead, they could rely on
the CSVRecord object, instead of creating new Lists, and get some
runtime errors. Corner case, and - again - a contrived example.


Still not sure I get it; the behaviour does not seem to change apart
from providing more functionality.



But I'm not opposing the change, just don't see the need for using
AbstractList (though I've been writing Python for the past couple of
months, so my Java-fu isn't really sharp right now).


The reporter mentioned "subList".

Regards,
Gilles




Cheers
Bruno


From: Gilles 
To: dev@commons.apache.org
Sent: Wednesday, 19 December 2018 1:28 AM
Subject: Re: [CSV] Records as Lists



Hi.

On Tue, 18 Dec 2018 07:22:00 + (UTC), Bruno P. Kinoshita wrote:

From what I understood from the previous messages & discussion on
GitHub, it would be more convenient for users to be able to have a
List instead of an Iterable,


Why "instead"?
The patch makes the class a subclass of "List"; and "List"
implements "Iterable".


or instead of having to call the
#toList() or convert to a List in some other way.
I commented in the pull request, that I don't think there would be a
performance penalty in doing so (at least I don't think so, as the
values are not streamed, but rather kept in the private values
array).
However, I think we are delivering an Iterable that's fully capable
to be used as an Iterable now. Whereas the proposal would make it a
read-only list, as that returned from unmodifiableList,


That's not what the patch does:
  
https://docs.oracle.com/javase/7/docs/api/java/util/AbstractList.html



i.e. throwing
exceptions for add/clear/etc operations.


The original code (using "Arrays.asList") could not do those
operations:


https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#asList(T...)


In my opinion, I prefer to keep it as an Iterable, leave the toList
method, as I think current users could be affected


How?
[In the original code, "toList" is private.]


by accidentally
trying to reuse CSVRecord while reading from one input and writing 
to

an output stream.


I don't understand this.

Regards,
Gilles



So I'm -0 for it.
Bruno

  From: sebb 
 To: Commons Developers List 
 Sent: Tuesday, 18 December 2018 12:24 AM
 Subject: Re: [CSV] Records as Lists

What is the use-case for using lists?

On Thu, 1

[All][RNG] Fixing the download page (Was: [Release-plugin] Auto-generated download page is wrong (Was: Returned post for annou...@apache.org))

2018-12-18 Thread Gilles

On Mon, 17 Dec 2018 15:28:46 +0100, Gilles wrote:

Ping?


I found this:
  
https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commitdiff;h=f73546863611e5dd850fd311277f2019259489ce;hp=288c8b5196ab29e0e2ca50182a28f217e0828833


Please confirm whether the fix is "manual".

Gilles



Is this a "release-plugin" bug to report on JIRA (COMMONSSITE),
or a usage issue?
I did not spot a recent documentation resource that warns of
this (new?) problem.

Gilles

On Thu, 13 Dec 2018 16:38:38 +0100, Gilles wrote:

Hi.

[See below, the rejected announce mail for Commons RNG v1.2.]

Release candidates were generated with the "release-plugin".[1]
The "xml" template files were generated using
 $ mvn -Prelease commons-build:download-page

Please advise on the appropriate incantations (that would lead
to the download page being generated with correct links to the
checksum files (SHA-256).

Thanks,
Gilles

[1] 
http://commons.apache.org/proper/commons-release-plugin/index.html


On 13 Dec 2018 09:16:38 -, announce-ow...@apache.org wrote:

Hi! This is the ezmlm program. I'm managing the
annou...@apache.org mailing list.

I'm sorry, your message (enclosed) was not accepted by the 
moderator.

If the moderator has made any comments, they are shown below.


 >>>>>

Sorry, but the download page is not acceptable at present.

SHA1 is now deprecated; please replace with SHA256/SHA512, and 
resend the

announce message when this has been done.

Thanks
Sebb
<<<<<  <<<<<




-
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



Re: Help with migrating one of OpenJPA classes to commons-collections4

2018-12-18 Thread Gilles

On Wed, 19 Dec 2018 06:59:26 +0700, Maxim Solodovnik wrote:

I found it here:

https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=blob;f=doc/release/release.howto.txt#l300

Shall I drop current staging repo and restart the build without this
profile?


Yes.
As I wrote, [RNG] is a modular project and "commons-rng-examples" is
one of its modules.
You can safely ignore any "-Pcommons-rng-examples" switch.  The rest
of the command line is fine.

For a non-modular project, you might be lucky to not hit the bugs of
the "release-plugin".



On Wed, 19 Dec 2018 at 06:57, sebb  wrote:

On Tue, 18 Dec 2018 at 23:37, Maxim Solodovnik 


wrote:
>
> Thanks a lot Sebb,
>
> staging repo was created successfully.
> `mvn -Duser.name="solomax" -Pcommons-collections -Prelease clean 
site

> site:stage deploy`
>
> but I got following error during the build:
> [WARNING] The requested profile "commons-collections" could not be
> activated because it does not exist.

That's because it does not exist.
Why did you add "-Pcommons-collections" to the command-line?
Is it documented to do so somewhere?

> [ERROR] Failed to execute goal
> org.apache.commons:commons-release-plugin:1.3:stage-distributions
> (stage-distributions) on project commons-collections4: Failed to 
add

files
> to scm -> [Help 1]
>
> It seems not important to me, would it be OK to ignore it and 
proceed

with
> RC1?

I don't use the release plugin so I don't know about that.

> Another question: during release preparation I have created 
`4.3-release`
> branch, it has zero commits, and I believe should be dropped (and 
in fact

> shouln't be created)
> Documentation states: "As branches deletion is now forbidden at
> Apache, we will use a specific
> release branch for every version"


That's the convention followed up to now.
But we do delete feature and bugfix branches that were merged into
"master", or experimental branches that have become stale.

Gilles


>
> Can I delete this useless branch and propose documentation update?
>
> On Wed, 19 Dec 2018 at 00:04, sebb  wrote:
>
> > I think the issue with dist/release/commons is that you need to 
be

> > listed as a project committer, i.e. you need to be a Commons
> > committer.
> >
> > Possibly the same applies to Nexus.
> >
> > I have added you as a Commons committer.
> >
> > On Tue, 18 Dec 2018 at 16:24, Maxim Solodovnik 


> > wrote:
> > >
> > > Thanks a lot for the help :)
> > > Glad to check the release process ;)
> > >
> > > On Tue, 18 Dec 2018 at 23:19, Gilles 


> > wrote:
> > >
> > > > Hello.
> > > >
> > > > On Tue, 18 Dec 2018 23:05:12 +0700, Maxim Solodovnik wrote:
> > > > > Thanks a lot
> > > > >
> > > > > Unfortunately the next error is: Failed to deploy 
artifacts:

Could
> > > > > not
> > > > > transfer artifact 
org.apache.commons:commons-collections4:jar:4.3

> > > > > from/to
> > > > > apache.releases.https (
> > > > >
https://repository.apache.org/service/local/staging/deploy/maven2):
> > > > > Access
> > > > > denied to:
> > > > >
> > > > >
> > > >
> >

https://repository.apache.org/service/local/staging/deploy/maven2/org/apache/commons/commons-collections4/4.3/commons-collections4-4.3.jar
> > > > >
> > > > > I'm release manger for Apache OpenMeetings and just 
double-check

I
> > > > > can
> > > > > access Staging Repos at repository.apache.org
> > > > > , so I guess there are additional restrictions here
> > > > >
> > > > > would appreciate any help/hint :)
> > > >
> > > > I don't know how to change the permissions (I don't think I 
have
> > > > the privilege anyway), and the PMC chair is AFK for a couple 
more

> > > > days IIUC. :-(
> > > >
> > > > Perhaps someone with a taller hat. :-}
> > > >
> > > > Sorry for the inconvenience; it looks like you are first one 
to

> > > > try and exercise those privileges voted several years ago...
> > > >
> > > > Gilles
> > > >
> > > > >
> > > > > On Tue, 18 Dec 2018 at 22:54, Gilles <
gil...@harfang.homelinux.org>
> > > > > wrote:
> > > > >
> > > > >> On Tue, 18 Dec 2018 22:03:04 +0700, Maxim Solodovnik 
wrote:

> > > > >> > It seems I'm unable

Re: [All][RNG] Fixing the download page

2018-12-19 Thread Gilles

On Wed, 19 Dec 2018 09:48:30 +, sebb wrote:
On Wed, 19 Dec 2018 at 00:05, Gilles  
wrote:


On Mon, 17 Dec 2018 15:28:46 +0100, Gilles wrote:
> Ping?

I found this:


https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commitdiff;h=f73546863611e5dd850fd311277f2019259489ce;hp=288c8b5196ab29e0e2ca50182a28f217e0828833

Please confirm whether the fix is "manual".


Not sure what you mean by that.


I mean that the release plugin does not regenerate the "download.xml"
page (whereas this is typically a task that can be automated).



AFAIK the fix listed above has yet to be included in the release of
commons-build plugin.
Someone needs to release 1.10

In the meantime, to use 1.10-SNAPSHOT you can use a command of the 
form:


$ mvn 
org.apache.commons:commons-build-plugin:1.10-SNAPSHOT:download-page


Add -Dcommons.release.version=m.n.o to override the pom version if 
necessary.


Thanks; that's what I missed.

Just tried and... two problems:
1. The snapshot does not seem to be available from the usual place
   (Should it be generated by Jenkins?); I had to build the plugin
   and "install" it locally.
2. Running the above results in an error:
---CUT---
[ERROR] Failed to execute goal 
org.apache.commons:commons-build-plugin:1.10-SNAPSHOT:download-page 
(default-cli) on project commons-rng: Failed to execute: Executing Ant 
script: generate-xdocs.build.xml [download-page]: Failed to execute.: 
The following error occurred while executing this line:
[ERROR] /tmp/plexus-ant-component10719660622814449892.build.xml:215: 
Unable to create javax script engine for javascript

---CUT---
[Note: this is on Java 9 and Java 10; on Java 8 it works fine.]


Since the commons build plugin is only used to automate editing the
download source file it does not matter whether you use a SNAPSHOT or
edit the file manually. Whatever gets the job done.


Sure.  Even "manual" is fine as long as we are not mislead top
believe that this is taken of care of automatically.

The step-by-step release recipe detailed in the "doc" directory
of "Commons RNG" had worked flawlessly for its v1.0 release.
But then for the v1.1 release (done by Rob, with the release-plugin)
some steps became outdated, with some of their replacement not fully
working (as I've detailed in other threads), manual tweaks had to
be done, but are nowhere documented; this is understandable since
the plugin is in development; but what is less, is that the release
process was broken for some components (namely "Commons RNG"), and
contrary to what you wrote several times, there was no easy way back
(i.e. downgrading CP) because the component's POM relied on CP for
common configuration necessary to fix general problems.


Gilles

>
> Is this a "release-plugin" bug to report on JIRA (COMMONSSITE),
> or a usage issue?


The download plugin is basically a script to automate maintenance of
the download.xml source file.

AFAIK it has nothing to do with the release plugin.


IMO, it has (cf. above); it does not make sense to prepare an RC
with a wrong "download" page since it's likely to be a blocker
(during the vote, or ... at the announcement).



Except of course you need ensure the download xml file is correct
before starting the release.


I do not agree; For as long as I've been here, the advice (documented)
has been: "Run this command [...] to regenerate the download page".
If/when the Apache policy changes, it should become a priority task to
update  we rely on to make releases (that should abide by
that policy).
We cannot ask that people who use _recommended_ procedures suddenly do
without.

The release-plugin goes in the right direction, but not all basic
expectations are met yet; so that people trying it all get hit by
the same problems (cf. current attempt for [Collections]).


Regards,
Gilles


> I did not spot a recent documentation resource that warns of
> this (new?) problem.
>
> Gilles
>
> On Thu, 13 Dec 2018 16:38:38 +0100, Gilles wrote:
>> Hi.
>>
>> [See below, the rejected announce mail for Commons RNG v1.2.]
>>
>> Release candidates were generated with the "release-plugin".[1]
>> The "xml" template files were generated using
>>  $ mvn -Prelease commons-build:download-page
>>
>> Please advise on the appropriate incantations (that would lead
>> to the download page being generated with correct links to the
>> checksum files (SHA-256).
>>
>> Thanks,
>> Gilles
>>
>> [1]
>> 
http://commons.apache.org/proper/commons-release-plugin/index.html

>>
>> On 13 Dec 2018 09:16:38 -, announce-ow...@apache.org wrote:
>>> Hi! This is the ezmlm program. I'm managing the
>>> annou...@apache.org mailing list.
>>>
>>> I'm sorry, your mes

Re: [VOTE][RC1] Commons collections 4.3

2018-12-19 Thread Gilles

Hi.

Congratulations for getting that far in a fairly short time. ;-)

The BC report (Clirr) notes several incompatible changes:
  
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC1/site/clirr-report.html

[No idea whether that was expected.  If so, perhaps there should be
a remark in the release notes?]

In the site, the link to the release note is dead:
  
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC1/site/release_4_3.html

[File must be copied manually (?). It does not seem to be at same place
in "Collections" and in "RNG"!]

On Wed, 19 Dec 2018 20:41:15 +0700, Maxim Solodovnik wrote:

This is a [VOTE] for releasing
Apache Commons collections 4.3

Tag name:
collections-4.3-RC1 (signature can be checked from git using 'git tag 
-v')


OK.


Tag URL:


https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=5f959fd8e77bf28f6286cfb4d1e1fff27167f803

Commit ID the tag points at:
5f959fd8e77bf28f6286cfb4d1e1fff27167f803


OK.



Site:


https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC1/site/index.html


Download page will be wrong (cf. other thread with subject "Fixing
the download page).



Distribution files (committed at revision 31605):
https://dist.apache.org/repos/dist/dev/commons/collections/

Distribution files hashes (SHA256):
201e1d527c67643b4e75065e113006d0610e8bf5620b4e056a2e044f3676df12
commons-collections4-4.3-bin.tar.gz


OK.


706a0f5b4ddfd85e5444933576ea37776219748973bf4fc3944d846823f79395
commons-collections4-4.3-bin.zip
7a18a39b8b24d8688400276388d5c63da448ee7a8166561a5cffb617b952ed96
commons-collections4-4.3-src.tar.gz


OK.


8a7b3ccd3fb2ba7edde7e08aa7606b3eacef260eab887358c56473a9e395067a
commons-collections4-4.3-src.zip

KEYS file to check signatures:
https://www.apache.org/dist/commons/KEYS

Maven artifacts:

https://repository.apache.org/content/repositories/orgapachecommons-1401/


Please select one of the following options:
  [ ] +1 Release it.
  [ ] +0 Go ahead; I don't care.
  [ ] -0 There are a few minor glitches: ...
  [ ] -1 No, do not release it because ...

This vote will be open for at least 72 hours, i.e. until 
2018-12-22T14:00:00Z

(this is UTC time).



Regards,
Gilles


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



Re: [All][RNG] Fixing the download page

2018-12-19 Thread Gilles

On Wed, 19 Dec 2018 15:11:59 +, sebb wrote:
On Wed, 19 Dec 2018 at 14:50, Gilles  
wrote:


On Wed, 19 Dec 2018 09:48:30 +, sebb wrote:
> On Wed, 19 Dec 2018 at 00:05, Gilles 


> wrote:
>>
>> On Mon, 17 Dec 2018 15:28:46 +0100, Gilles wrote:
>> > Ping?
>>
>> I found this:
>>
>>
>> 
https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commitdiff;h=f73546863611e5dd850fd311277f2019259489ce;hp=288c8b5196ab29e0e2ca50182a28f217e0828833

>>
>> Please confirm whether the fix is "manual".
>
> Not sure what you mean by that.

I mean that the release plugin does not regenerate the 
"download.xml"

page (whereas this is typically a task that can be automated).


Patches no doubt welcome to fix the plugin and its docs.


>
> AFAIK the fix listed above has yet to be included in the release 
of

> commons-build plugin.
> Someone needs to release 1.10
>
> In the meantime, to use 1.10-SNAPSHOT you can use a command of the
> form:
>
> $ mvn
> 
org.apache.commons:commons-build-plugin:1.10-SNAPSHOT:download-page

>
> Add -Dcommons.release.version=m.n.o to override the pom version if
> necessary.

Thanks; that's what I missed.

Just tried and... two problems:
1. The snapshot does not seem to be available from the usual place
(Should it be generated by Jenkins?); I had to build the plugin
and "install" it locally.


Yes, forgot about that.


2. Running the above results in an error:
---CUT---
[ERROR] Failed to execute goal
org.apache.commons:commons-build-plugin:1.10-SNAPSHOT:download-page
(default-cli) on project commons-rng: Failed to execute: Executing 
Ant
script: generate-xdocs.build.xml [download-page]: Failed to 
execute.:

The following error occurred while executing this line:
[ERROR] /tmp/plexus-ant-component10719660622814449892.build.xml:215:
Unable to create javax script engine for javascript
---CUT---
[Note: this is on Java 9 and Java 10; on Java 8 it works fine.]


OK, so that needs a bug report against the plugin (and patch if 
possible).


> Since the commons build plugin is only used to automate editing 
the
> download source file it does not matter whether you use a SNAPSHOT 
or

> edit the file manually. Whatever gets the job done.

Sure.  Even "manual" is fine as long as we are not mislead top
believe that this is taken of care of automatically.


If the docs are misleading, then raise a bug and/or provide patches 
to

the documentation.


The step-by-step release recipe detailed in the "doc" directory
of "Commons RNG" had worked flawlessly for its v1.0 release.
But then for the v1.1 release (done by Rob, with the release-plugin)
some steps became outdated, with some of their replacement not fully
working (as I've detailed in other threads), manual tweaks had to
be done, but are nowhere documented; this is understandable since
the plugin is in development; but what is less, is that the release
process was broken for some components (namely "Commons RNG"), and
contrary to what you wrote several times, there was no easy way back
(i.e. downgrading CP) because the component's POM relied on CP for
common configuration necessary to fix general problems.


In that case raise a bug for CP and/or provide patches.


>> Gilles
>>
>> >
>> > Is this a "release-plugin" bug to report on JIRA (COMMONSSITE),
>> > or a usage issue?
>
> The download plugin is basically a script to automate maintenance 
of

> the download.xml source file.
>
> AFAIK it has nothing to do with the release plugin.



I meant that the output of the build plugin cannot affect the release
plugin if the latter does not invoke the former.


IMO, it has (cf. above); it does not make sense to prepare an RC
with a wrong "download" page since it's likely to be a blocker
(during the vote, or ... at the announcement).


As noted above, raise a bug/enhancement if the release plugin should 
do more.



>
> Except of course you need ensure the download xml file is correct
> before starting the release.

I do not agree; For as long as I've been here, the advice 
(documented)

has been: "Run this command [...] to regenerate the download page".


Huh? That is still the case. And AFAIK that is what I wrote.


The "command" above is the one in the template file i.e.
  mvn commons-build:download-page
[copied from the "meta-template" file which you've just modified.]

This is generating the page with SHA-1 and not SHA-256; so, no,
it's not working currently (unless one knows it, and knows that
a SNAPSHOT exists with the fix, and knows that one must install
it locally and invoke it differently).

Bug is in the "Commons" procedure where a required tool stopped
behaving according to requirements (that a

Re: [VOTE][RC1] Commons collections 4.3

2018-12-19 Thread Gilles

On Wed, 19 Dec 2018 23:08:44 +0700, Maxim Solodovnik wrote:

Thanks for checking Gilles,

Regarding clirr errors instruction states [1] to check errors only 
for

minor release
Since it is 4.3.0 and not 4.2.1 I thought it is OK ..


4.X is a minor release ("Y.0" is a major one).

Usually (with no other explanation), this would be a blocker.
There was a change of supported platform (Java 7 -> 8)...



How this should be properly addressed?

release_4_3.html was not genarated during build :( How can I generate 
it?


No, indeed.
It comes from a copy of the "RELEASE-NOTES.txt" that's at the 
top-level.


But this is not blocker (site can be updated at any time).

Regards,
Gilles



Is it possible to perform site re-generation and maybe manual update
of apache-dev?

I will be OOO Thu-Sun, so will resolve all issues on return

[1]

https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=blob;f=doc/release/release.howto.txt#l73

On Wed, 19 Dec 2018 at 21:59, Gilles  
wrote:


Hi.

Congratulations for getting that far in a fairly short time. ;-)

The BC report (Clirr) notes several incompatible changes:


https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC1/site/clirr-report.html
[No idea whether that was expected.  If so, perhaps there should be
a remark in the release notes?]

In the site, the link to the release note is dead:


https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC1/site/release_4_3.html
[File must be copied manually (?). It does not seem to be at same 
place

in "Collections" and in "RNG"!]

On Wed, 19 Dec 2018 20:41:15 +0700, Maxim Solodovnik wrote:
> This is a [VOTE] for releasing
> Apache Commons collections 4.3
>
> Tag name:
> collections-4.3-RC1 (signature can be checked from git using 'git 
tag

> -v')

OK.

> Tag URL:
>
>
> 
https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=5f959fd8e77bf28f6286cfb4d1e1fff27167f803

>
> Commit ID the tag points at:
> 5f959fd8e77bf28f6286cfb4d1e1fff27167f803

OK.

>
> Site:
>
>
> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC1/site/index.html


Download page will be wrong (cf. other thread with subject "Fixing
the download page).

>
> Distribution files (committed at revision 31605):
> https://dist.apache.org/repos/dist/dev/commons/collections/
>
> Distribution files hashes (SHA256):
> 
201e1d527c67643b4e75065e113006d0610e8bf5620b4e056a2e044f3676df12

> commons-collections4-4.3-bin.tar.gz

OK.

> 
706a0f5b4ddfd85e5444933576ea37776219748973bf4fc3944d846823f79395

> commons-collections4-4.3-bin.zip
> 
7a18a39b8b24d8688400276388d5c63da448ee7a8166561a5cffb617b952ed96

> commons-collections4-4.3-src.tar.gz

OK.

> 
8a7b3ccd3fb2ba7edde7e08aa7606b3eacef260eab887358c56473a9e395067a

> commons-collections4-4.3-src.zip
>
> KEYS file to check signatures:
> https://www.apache.org/dist/commons/KEYS
>
> Maven artifacts:
>
> 
https://repository.apache.org/content/repositories/orgapachecommons-1401/

>
> Please select one of the following options:
>   [ ] +1 Release it.
>   [ ] +0 Go ahead; I don't care.
>   [ ] -0 There are a few minor glitches: ...
>   [ ] -1 No, do not release it because ...
>
> This vote will be open for at least 72 hours, i.e. until
> 2018-12-22T14:00:00Z
> (this is UTC time).
>

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



[Release-plugin] Howto (Was: Help with migrating one of OpenJPA classes to commons-collections4)

2018-12-20 Thread Gilles

Hello.

On Wed, 19 Dec 2018 23:19:57 +0700, Maxim Solodovnik wrote:

Hello Rob,

The instruction [1] is good but seems to me "too universal" it would
be easier to start with instruction specific to particular project :)
I was my first release of commons-collections so I was unsure on
every step :))

[1]

https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=blob;f=doc/release/release.howto.txt


Rob was probably talking about this page:
http://commons.apache.org/proper/commons-release-plugin/index.html

The reference [1] above is a recipe which I started to write for
"Commons Math" way back when following any of the documents would
get me stuck as I was tryiing to manage my first release.
Through asking on the list, we manage to fill all the dots.
Later, the "recipe" was adapted to "git" and then to "multimodule
maven" (when I started "Commons RNG").

Regards,
Gilles

On Wed, 19 Dec 2018 at 21:19, Rob Tompkins  
wrote:




> On Dec 19, 2018, at 8:29 AM, Maxim Solodovnik 
 wrote:

>
> The build was successful
> Staging repo is closed
>
> Thanks a lot for the help!

How were the docs on using the release plugin? Just curious…as I 
wrote the plugin and the docs.


-Rob

[... lots of OT stuff skipped ...]



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



Re: [rng](site) broken source(current) link

2018-12-20 Thread Gilles

Hi.

On Thu, 20 Dec 2018 12:43:51 +, Bernd Eckenfels wrote:

I wanted to check if RNG can construct uniformly distributed
BigIntegers and how it is doing it (answer: it doesn’t)


It could be a feature request.
[I guess that you mean "within a given range".]

Being curious: What's the use-case for random "BigInteger"s?


while doing so
I noticed that the site link to the source is broken, maybe this is
due to git-wip migration?


Yes.
Thanks; fixed now.



BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html



Regards,
Gilles



Gruss
Bernd
--
http://bernd.eckenfels.net



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



[Release-plugin][RNG] WIP? (Was: Fixing the download page)

2018-12-20 Thread Gilles

On Wed, 19 Dec 2018 17:38:45 +, sebb wrote:
On Wed, 19 Dec 2018 at 15:54, Gilles  
wrote:


On Wed, 19 Dec 2018 15:11:59 +, sebb wrote:
> On Wed, 19 Dec 2018 at 14:50, Gilles 


> wrote:
>>
>> On Wed, 19 Dec 2018 09:48:30 +, sebb wrote:
>> > On Wed, 19 Dec 2018 at 00:05, Gilles
>> 
>> > wrote:
>> >>
>> >> On Mon, 17 Dec 2018 15:28:46 +0100, Gilles wrote:
>> >> > Ping?
>> >>
>> >> I found this:
>> >>
>> >>
>> >>
>> 
https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commitdiff;h=f73546863611e5dd850fd311277f2019259489ce;hp=288c8b5196ab29e0e2ca50182a28f217e0828833

>> >>
>> >> Please confirm whether the fix is "manual".
>> >
>> > Not sure what you mean by that.
>>
>> I mean that the release plugin does not regenerate the
>> "download.xml"
>> page (whereas this is typically a task that can be automated).
>
> Patches no doubt welcome to fix the plugin and its docs.
>
>> >
>> > AFAIK the fix listed above has yet to be included in the 
release

>> of
>> > commons-build plugin.
>> > Someone needs to release 1.10
>> >
>> > In the meantime, to use 1.10-SNAPSHOT you can use a command of 
the

>> > form:
>> >
>> > $ mvn
>> >
>> 
org.apache.commons:commons-build-plugin:1.10-SNAPSHOT:download-page

>> >
>> > Add -Dcommons.release.version=m.n.o to override the pom version 
if

>> > necessary.
>>
>> Thanks; that's what I missed.
>>
>> Just tried and... two problems:
>> 1. The snapshot does not seem to be available from the usual 
place
>> (Should it be generated by Jenkins?); I had to build the 
plugin

>> and "install" it locally.
>
> Yes, forgot about that.
>
>> 2. Running the above results in an error:
>> ---CUT---
>> [ERROR] Failed to execute goal
>> 
org.apache.commons:commons-build-plugin:1.10-SNAPSHOT:download-page
>> (default-cli) on project commons-rng: Failed to execute: 
Executing

>> Ant
>> script: generate-xdocs.build.xml [download-page]: Failed to
>> execute.:
>> The following error occurred while executing this line:
>> [ERROR] 
/tmp/plexus-ant-component10719660622814449892.build.xml:215:

>> Unable to create javax script engine for javascript
>> ---CUT---
>> [Note: this is on Java 9 and Java 10; on Java 8 it works fine.]
>
> OK, so that needs a bug report against the plugin (and patch if
> possible).
>
>> > Since the commons build plugin is only used to automate editing
>> the
>> > download source file it does not matter whether you use a 
SNAPSHOT

>> or
>> > edit the file manually. Whatever gets the job done.
>>
>> Sure.  Even "manual" is fine as long as we are not mislead top
>> believe that this is taken of care of automatically.
>
> If the docs are misleading, then raise a bug and/or provide 
patches

> to
> the documentation.
>
>> The step-by-step release recipe detailed in the "doc" directory
>> of "Commons RNG" had worked flawlessly for its v1.0 release.
>> But then for the v1.1 release (done by Rob, with the 
release-plugin)
>> some steps became outdated, with some of their replacement not 
fully

>> working (as I've detailed in other threads), manual tweaks had to
>> be done, but are nowhere documented; this is understandable since
>> the plugin is in development; but what is less, is that the 
release
>> process was broken for some components (namely "Commons RNG"), 
and
>> contrary to what you wrote several times, there was no easy way 
back
>> (i.e. downgrading CP) because the component's POM relied on CP 
for

>> common configuration necessary to fix general problems.
>
> In that case raise a bug for CP and/or provide patches.
>
>> >> Gilles
>> >>
>> >> >
>> >> > Is this a "release-plugin" bug to report on JIRA 
(COMMONSSITE),

>> >> > or a usage issue?
>> >
>> > The download plugin is basically a script to automate 
maintenance

>> of
>> > the download.xml source file.
>> >
>> > AFAIK it has nothing to do with the release plugin.
>>
>
> I meant that the output of the build plugin cannot affect the 
release

> plugin if the latter does not invoke the former.
>
>> IMO, it has (cf. above); it does not make sense to prepare an RC
>> with a wrong "download" page since it's likely to be a

Re: [VOTE][RC1] Commons collections 4.3

2018-12-20 Thread Gilles

On Thu, 20 Dec 2018 10:46:46 +0700, Maxim Solodovnik wrote:

My bad,

Here is the analysis (please correct me if I'm wrong)
Errors:
[...]
these errors are weird. Above classes has no changes comparing to 
4.2 [1]


It might the same problem which I've encountered a few eeks ago:
Try to delete your local maven cache (i.e. all the subdirectories
of "~/.m2" that refer to "collections").

HTH,
Gilles



[...]



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



Re: [rng] Uniform big integers

2018-12-20 Thread Gilles

Hi.

On Thu, 20 Dec 2018 15:15:55 +, Bernd Eckenfels wrote:

Hello,

I don’t know what the usecase is, it is motivated by a Bug about
BigInteger(num, Random). I guess one of the users is actually the
crypto usecase (starting with random numbers to find primes).

I wanted to check how RNG deals with this


You can do it by defining a bridge from [RNG] "UniformRandomProvider"
to "java.util.Random":
--- CUT (untested) ---
public class BridgeToRandom extends Random {
   private final UniformRandomProvider delegate;

   public BridgeToRandom(UniformRandomProvider rng) {
   delegate = rng;
   }

   @Override
   protected int next(int unused) {
   return rng.nextInt();
   }
}
---CUT---

Then, you can test all the generators implemented in [RNG].

Regards,
Gilles


(since the additional need
for generating a random bitlength looks unfamiliar but logical to 
me).

Is it really not enough to fill all bits randomly (especially for the
case where it is a 0 .. 2^n range only)?

Discussion is here:

http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html

Gruss
Bernd
--
http://bernd.eckenfels.net

____
Von: Gilles 
Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
An: dev@commons.apache.org
Betreff: Re: [rng](site) broken source(current) link

Hi.

On Thu, 20 Dec 2018 12:43:51 +, Bernd Eckenfels wrote:

I wanted to check if RNG can construct uniformly distributed
BigIntegers and how it is doing it (answer: it doesn’t)


It could be a feature request.
[I guess that you mean "within a given range".]

Being curious: What's the use-case for random "BigInteger"s?


while doing so
I noticed that the site link to the source is broken, maybe this is
due to git-wip migration?


Yes.
Thanks; fixed now.



BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html



Regards,
Gilles



Gruss
Bernd
--
http://bernd.eckenfels.net



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



Re: [rng] Uniform big integers

2018-12-21 Thread Gilles

On Thu, 20 Dec 2018 17:30:44 +0100, Gilles wrote:

Hi.

On Thu, 20 Dec 2018 15:15:55 +, Bernd Eckenfels wrote:

Hello,

I don’t know what the usecase is, it is motivated by a Bug about
BigInteger(num, Random). I guess one of the users is actually the
crypto usecase (starting with random numbers to find primes).

I wanted to check how RNG deals with this


You can do it by defining a bridge from [RNG] "UniformRandomProvider"
to "java.util.Random":
--- CUT (untested) ---
public class BridgeToRandom extends Random {
   private final UniformRandomProvider delegate;

   public BridgeToRandom(UniformRandomProvider rng) {
   delegate = rng;
   }

   @Override
   protected int next(int unused) {
   return rng.nextInt();
   }
}
---CUT---

Then, you can test all the generators implemented in [RNG].


FTR: In case you don't pursue it, please file a report on JIRA
to keep track of this if we want to explore how it could extend
the test suite.

Thanks,
Gilles




(since the additional need
for generating a random bitlength looks unfamiliar but logical to 
me).
Is it really not enough to fill all bits randomly (especially for 
the

case where it is a 0 .. 2^n range only)?

Discussion is here:

http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html

Gruss
Bernd
--
http://bernd.eckenfels.net

____
Von: Gilles 
Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
An: dev@commons.apache.org
Betreff: Re: [rng](site) broken source(current) link

Hi.

On Thu, 20 Dec 2018 12:43:51 +, Bernd Eckenfels wrote:

I wanted to check if RNG can construct uniformly distributed
BigIntegers and how it is doing it (answer: it doesn’t)


It could be a feature request.
[I guess that you mean "within a given range".]

Being curious: What's the use-case for random "BigInteger"s?


while doing so
I noticed that the site link to the source is broken, maybe this is
due to git-wip migration?


Yes.
Thanks; fixed now.



BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html



Regards,
Gilles



Gruss
Bernd
--
http://bernd.eckenfels.net






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



Re: [rng] Uniform big integers

2018-12-21 Thread Gilles

Hi.

On Fri, 21 Dec 2018 16:04:05 +, Bernd Eckenfels wrote:

Hello,

The actual discussion on the OpenJDK list turned out to be a wrong
understanding and the simple case of generating random bytes was
enough for BigInteger.

However regarding RNG I can open requests, one would be for a
RandomAdapter and the other would be to add a factory method for
BigInteger (and possibly BigDecimal) to the Random Providers. (Or 
did.

You mean only the Adapter?)


I actually meant testing whether the bug you mentioned could
be seen with an RNG other than "java.util.Random". But since
(IIUC) there is no bug...

Adapter/Bridge cannot fulfill all the functionality of "Random"
(e.g., there is, intentionally, no "setSeed" method).
It's a can of worms/issues with no decent workaround.[1]
So better leave that to application developers: The bridge itself
is trivial[2]; then they must be aware of what to implement,
depending on what the code (to which they pass the adapter) is
doing with it.

Generating "BigInteger" is at a level higher than the rest of the
core API (i.e. "UniformRandomProvider"), which is meant to generate
primitive types.[3]
At first sight, I'd put that functionality in another module.

Regards,
Gilles

[1] 
http://commons.apache.org/proper/commons-rng/userguide/why_not_java_random.html

[2] We might insert a paragraph about this in the userguide, and/or
provide the code snippet in the "commons-rng-examples" module.
[3] 
http://commons.apache.org/proper/commons-rng/commons-rng-client-api/apidocs/org/apache/commons/rng/RestorableUniformRandomProvider.html




Gruss
Bernd
--
http://bernd.eckenfels.net


Von: Gilles 
Gesendet: Freitag, Dezember 21, 2018 4:43 PM
An: dev@commons.apache.org
Betreff: Re: [rng] Uniform big integers

On Thu, 20 Dec 2018 17:30:44 +0100, Gilles wrote:

Hi.

On Thu, 20 Dec 2018 15:15:55 +, Bernd Eckenfels wrote:

Hello,

I don’t know what the usecase is, it is motivated by a Bug about
BigInteger(num, Random). I guess one of the users is actually the
crypto usecase (starting with random numbers to find primes).

I wanted to check how RNG deals with this


You can do it by defining a bridge from [RNG] 
"UniformRandomProvider"

to "java.util.Random":
--- CUT (untested) ---
public class BridgeToRandom extends Random {
private final UniformRandomProvider delegate;

public BridgeToRandom(UniformRandomProvider rng) {
delegate = rng;
}

@Override
protected int next(int unused) {
return rng.nextInt();
}
}
---CUT---

Then, you can test all the generators implemented in [RNG].


FTR: In case you don't pursue it, please file a report on JIRA
to keep track of this if we want to explore how it could extend
the test suite.

Thanks,
Gilles




(since the additional need
for generating a random bitlength looks unfamiliar but logical to
me).
Is it really not enough to fill all bits randomly (especially for
the
case where it is a 0 .. 2^n range only)?

Discussion is here:


http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html

Gruss
Bernd
--
http://bernd.eckenfels.net


Von: Gilles 
Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
An: dev@commons.apache.org
Betreff: Re: [rng](site) broken source(current) link

Hi.

On Thu, 20 Dec 2018 12:43:51 +, Bernd Eckenfels wrote:

I wanted to check if RNG can construct uniformly distributed
BigIntegers and how it is doing it (answer: it doesn’t)


It could be a feature request.
[I guess that you mean "within a given range".]

Being curious: What's the use-case for random "BigInteger"s?


while doing so
I noticed that the site link to the source is broken, maybe this 
is

due to git-wip migration?


Yes.
Thanks; fixed now.



BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html



Regards,
Gilles



Gruss
Bernd
--
http://bernd.eckenfels.net






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



Re: AW: [rng] Uniform big integers

2018-12-21 Thread Gilles

On Sat, 22 Dec 2018 00:51:11 +0100, Bernd Eckenfels wrote:

Hello,

just noticed an adapter is already referenced
(rng.simple.JDKRandomBridge)


Forgot that one; sorry!
Thanks for the reminder; "setSeed" is even supported...

Regards,
Gilles


on the „why not java random“ page. So it
can be used with the BigInteger constructor to generate power-of-two
randoms (already).

I wont request more Features without having a usecase for them.
Thanks for Looking into this.

Gruss
Bernd
--
http://bernd.eckenfels.net

Von: Gilles
Gesendet: Samstag, 22. Dezember 2018 00:35
An: dev@commons.apache.org
Betreff: Re: [rng] Uniform big integers

Hi.

On Fri, 21 Dec 2018 16:04:05 +, Bernd Eckenfels wrote:

Hello,

The actual discussion on the OpenJDK list turned out to be a wrong
understanding and the simple case of generating random bytes was
enough for BigInteger.

However regarding RNG I can open requests, one would be for a
RandomAdapter and the other would be to add a factory method for
BigInteger (and possibly BigDecimal) to the Random Providers. (Or
did.
You mean only the Adapter?)


I actually meant testing whether the bug you mentioned could
be seen with an RNG other than "java.util.Random". But since
(IIUC) there is no bug...

Adapter/Bridge cannot fulfill all the functionality of "Random"
(e.g., there is, intentionally, no "setSeed" method).
It's a can of worms/issues with no decent workaround.[1]
So better leave that to application developers: The bridge itself
is trivial[2]; then they must be aware of what to implement,
depending on what the code (to which they pass the adapter) is
doing with it.

Generating "BigInteger" is at a level higher than the rest of the
core API (i.e. "UniformRandomProvider"), which is meant to generate
primitive types.[3]
At first sight, I'd put that functionality in another module.

Regards,
Gilles

[1]

http://commons.apache.org/proper/commons-rng/userguide/why_not_java_random.html
[2] We might insert a paragraph about this in the userguide, and/or
 provide the code snippet in the "commons-rng-examples" module.
[3]

http://commons.apache.org/proper/commons-rng/commons-rng-client-api/apidocs/org/apache/commons/rng/RestorableUniformRandomProvider.html



Gruss
Bernd
--
http://bernd.eckenfels.net


Von: Gilles 
Gesendet: Freitag, Dezember 21, 2018 4:43 PM
An: dev@commons.apache.org
Betreff: Re: [rng] Uniform big integers

On Thu, 20 Dec 2018 17:30:44 +0100, Gilles wrote:

Hi.

On Thu, 20 Dec 2018 15:15:55 +, Bernd Eckenfels wrote:

Hello,

I don’t know what the usecase is, it is motivated by a Bug about
BigInteger(num, Random). I guess one of the users is actually the
crypto usecase (starting with random numbers to find primes).

I wanted to check how RNG deals with this


You can do it by defining a bridge from [RNG]
"UniformRandomProvider"
to "java.util.Random":
--- CUT (untested) ---
public class BridgeToRandom extends Random {
private final UniformRandomProvider delegate;

public BridgeToRandom(UniformRandomProvider rng) {
delegate = rng;
}

@Override
protected int next(int unused) {
return rng.nextInt();
}
}
---CUT---

Then, you can test all the generators implemented in [RNG].


FTR: In case you don't pursue it, please file a report on JIRA
to keep track of this if we want to explore how it could extend
the test suite.

Thanks,
Gilles




(since the additional need
for generating a random bitlength looks unfamiliar but logical to
me).
Is it really not enough to fill all bits randomly (especially for
the
case where it is a 0 .. 2^n range only)?

Discussion is here:



http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-December/057594.html

Gruss
Bernd
--
http://bernd.eckenfels.net


Von: Gilles 
Gesendet: Donnerstag, Dezember 20, 2018 2:16 PM
An: dev@commons.apache.org
Betreff: Re: [rng](site) broken source(current) link

Hi.

On Thu, 20 Dec 2018 12:43:51 +, Bernd Eckenfels wrote:

I wanted to check if RNG can construct uniformly distributed
BigIntegers and how it is doing it (answer: it doesn’t)


It could be a feature request.
[I guess that you mean "within a given range".]

Being curious: What's the use-case for random "BigInteger"s?


while doing so
I noticed that the site link to the source is broken, maybe this
is
due to git-wip migration?


Yes.
Thanks; fixed now.



BTW: http://cr.openjdk.java.net/~bpb/8146153/webrev.01/index.html



Regards,
Gilles



Gruss
Bernd
--
http://bernd.eckenfels.net






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



Re: [VOTE][RC1] Commons collections 4.3

2018-12-24 Thread Gilles

On Mon, 24 Dec 2018 22:11:11 +0700, Maxim Solodovnik wrote:

Hello All,

I'm back :)
Shall I try to regenerate clirr report? and upload release_4_3.html?


Personally, I'd redo all the steps needed to ensure
consistency of what is used to create the release
but YMMV (and others may confirm that the above will
be fine).



According to download page: it seems `mvn
org.apache.commons:commons-build-plugin:1.10-SNAPSHOT:download-page`
does nothing for me


Works here.

But it seems there is a big mix-up in the POM with
the "commons.release..version" properties (comment
does not match the property name and value).
And the generated template of the download page contains
at least one undefined property:
  ${commons.release.4.binary.suffix}


Shall I manually update download page? What need to be updated?


Personally, I would not do it; IMHO, the POM needs fixing.

Best regards,
Gilles



On Fri, 21 Dec 2018 at 01:17, Gary Gregory  
wrote:


Hi all, I am unable to review for at least 3 or 4 days. I am on the 
road

and my laptop just died...

Gary

On Wed, Dec 19, 2018, 08:41 Maxim Solodovnik wrote:


> commons-collections4-4.3-src.zip.sha256This is a [VOTE] for 
releasing

> Apache Commons collections 4.3
>
> Tag name:
> collections-4.3-RC1 (signature can be checked from git using 'git 
tag -v')

>
> Tag URL:
>
> 
https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=5f959fd8e77bf28f6286cfb4d1e1fff27167f803

>
> Commit ID the tag points at:
> 5f959fd8e77bf28f6286cfb4d1e1fff27167f803
>
> Site:
>
> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC1/site/index.html

>
> Distribution files (committed at revision 31605):
> https://dist.apache.org/repos/dist/dev/commons/collections/
>
> Distribution files hashes (SHA256):
> 
201e1d527c67643b4e75065e113006d0610e8bf5620b4e056a2e044f3676df12

> commons-collections4-4.3-bin.tar.gz
> 
706a0f5b4ddfd85e5444933576ea37776219748973bf4fc3944d846823f79395

> commons-collections4-4.3-bin.zip
> 
7a18a39b8b24d8688400276388d5c63da448ee7a8166561a5cffb617b952ed96

> commons-collections4-4.3-src.tar.gz
> 
8a7b3ccd3fb2ba7edde7e08aa7606b3eacef260eab887358c56473a9e395067a

> commons-collections4-4.3-src.zip
>
> KEYS file to check signatures:
> https://www.apache.org/dist/commons/KEYS
>
> Maven artifacts:
>
> 
https://repository.apache.org/content/repositories/orgapachecommons-1401/

>
> Please select one of the following options:
>   [ ] +1 Release it.
>   [ ] +0 Go ahead; I don't care.
>   [ ] -0 There are a few minor glitches: ...
>   [ ] -1 No, do not release it because ...
>
> This vote will be open for at least 72 hours, i.e. until
> 2018-12-22T14:00:00Z
> (this is UTC time).
>
> 
-

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




--
WBR
Maxim aka solomax




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



Re: [VOTE][RC1] Commons collections 4.3

2018-12-24 Thread Gilles

On Tue, 25 Dec 2018 01:15:23 +0100, Gilles wrote:

On Mon, 24 Dec 2018 22:11:11 +0700, Maxim Solodovnik wrote:

Hello All,

I'm back :)
Shall I try to regenerate clirr report? and upload release_4_3.html?


Personally, I'd redo all the steps needed to ensure
consistency of what is used to create the release
but YMMV (and others may confirm that the above will
be fine).


Also, I've just noticed that in the "4.3-release" branch,
the POM still refers to "4.3-SNAPSHOT" whereas it should
have been changed to "4.3". [That's the primary reason
for creating that branch.]

You should also update the properties used by the release
plugin (RM's name and GPG key, etc).





According to download page: it seems `mvn
org.apache.commons:commons-build-plugin:1.10-SNAPSHOT:download-page`
does nothing for me


Works here.


Means: it creates the template file that will be used by the
"site" goal to generate the HTML page.

Regards,
Gilles


But it seems there is a big mix-up in the POM with
the "commons.release..version" properties (comment
does not match the property name and value).
And the generated template of the download page contains
at least one undefined property:
  ${commons.release.4.binary.suffix}


Shall I manually update download page? What need to be updated?


Personally, I would not do it; IMHO, the POM needs fixing.

Best regards,
Gilles



On Fri, 21 Dec 2018 at 01:17, Gary Gregory  
wrote:


Hi all, I am unable to review for at least 3 or 4 days. I am on the 
road

and my laptop just died...

Gary

On Wed, Dec 19, 2018, 08:41 Maxim Solodovnik wrote:


> commons-collections4-4.3-src.zip.sha256This is a [VOTE] for 
releasing

> Apache Commons collections 4.3
>
> Tag name:
> collections-4.3-RC1 (signature can be checked from git using 'git 
tag -v')

>
> Tag URL:
>
> 
https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=5f959fd8e77bf28f6286cfb4d1e1fff27167f803

>
> Commit ID the tag points at:
> 5f959fd8e77bf28f6286cfb4d1e1fff27167f803
>
> Site:
>
> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC1/site/index.html

>
> Distribution files (committed at revision 31605):
> https://dist.apache.org/repos/dist/dev/commons/collections/
>
> Distribution files hashes (SHA256):
> 
201e1d527c67643b4e75065e113006d0610e8bf5620b4e056a2e044f3676df12

> commons-collections4-4.3-bin.tar.gz
> 
706a0f5b4ddfd85e5444933576ea37776219748973bf4fc3944d846823f79395

> commons-collections4-4.3-bin.zip
> 
7a18a39b8b24d8688400276388d5c63da448ee7a8166561a5cffb617b952ed96

> commons-collections4-4.3-src.tar.gz
> 
8a7b3ccd3fb2ba7edde7e08aa7606b3eacef260eab887358c56473a9e395067a

> commons-collections4-4.3-src.zip
>
> KEYS file to check signatures:
> https://www.apache.org/dist/commons/KEYS
>
> Maven artifacts:
>
> 
https://repository.apache.org/content/repositories/orgapachecommons-1401/

>
> Please select one of the following options:
>   [ ] +1 Release it.
>   [ ] +0 Go ahead; I don't care.
>   [ ] -0 There are a few minor glitches: ...
>   [ ] -1 No, do not release it because ...
>
> This vote will be open for at least 72 hours, i.e. until
> 2018-12-22T14:00:00Z
> (this is UTC time).
>
> 
-

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




--
WBR
Maxim aka solomax




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



Re: [VOTE][RC1] Commons collections 4.3

2018-12-25 Thread Gilles

Hi.

On Tue, 25 Dec 2018 22:22:43 +0700, Maxim Solodovnik wrote:

Hello Gilles,

Actually if release is made based on git it is not necessary to
perform commits


?
I don't know other ways to perform the release; I follow
the practice established for "svn", that was then adapted
for "git" when we switched to it.

Do you propose an alternative way to do it?  Please
share some link describing the process


into local branch you are using to create RC tag
this why I previously ask if I can drop useless branch


In the current scheme, it does not seem useless... ;-)


I can fix issues with site manually, but it will be impossible to
modify pom without canceling release
I totally miss these properties :(





I think that you can specify the values on the command
line too.


Shall I cancel the VOTE and create RC2?


It's up to you.  Personally, I'd take the safest way to
ensure an RC with no issues.

Regards,
Gilles

On Tue, 25 Dec 2018 at 07:48, Gilles  
wrote:


On Tue, 25 Dec 2018 01:15:23 +0100, Gilles wrote:
> On Mon, 24 Dec 2018 22:11:11 +0700, Maxim Solodovnik wrote:
>> Hello All,
>>
>> I'm back :)
>> Shall I try to regenerate clirr report? and upload 
release_4_3.html?

>
> Personally, I'd redo all the steps needed to ensure
> consistency of what is used to create the release
> but YMMV (and others may confirm that the above will
> be fine).

Also, I've just noticed that in the "4.3-release" branch,
the POM still refers to "4.3-SNAPSHOT" whereas it should
have been changed to "4.3". [That's the primary reason
for creating that branch.]

You should also update the properties used by the release
plugin (RM's name and GPG key, etc).

>
>>
>> According to download page: it seems `mvn
>> 
org.apache.commons:commons-build-plugin:1.10-SNAPSHOT:download-page`

>> does nothing for me
>
> Works here.

Means: it creates the template file that will be used by the
"site" goal to generate the HTML page.

Regards,
Gilles

> But it seems there is a big mix-up in the POM with
> the "commons.release..version" properties (comment
> does not match the property name and value).
> And the generated template of the download page contains
> at least one undefined property:
>   ${commons.release.4.binary.suffix}
>
>> Shall I manually update download page? What need to be updated?
>
> Personally, I would not do it; IMHO, the POM needs fixing.
>
> Best regards,
> Gilles
>
>>
>> On Fri, 21 Dec 2018 at 01:17, Gary Gregory 


>> wrote:
>>>
>>> Hi all, I am unable to review for at least 3 or 4 days. I am on 
the

>>> road
>>> and my laptop just died...
>>>
>>> Gary
>>>
>>> On Wed, Dec 19, 2018, 08:41 Maxim Solodovnik >> wrote:
>>>
>>> > commons-collections4-4.3-src.zip.sha256This is a [VOTE] for
>>> releasing
>>> > Apache Commons collections 4.3
>>> >
>>> > Tag name:
>>> > collections-4.3-RC1 (signature can be checked from git using 
'git

>>> tag -v')
>>> >
>>> > Tag URL:
>>> >
>>> >
>>> 
https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=5f959fd8e77bf28f6286cfb4d1e1fff27167f803

>>> >
>>> > Commit ID the tag points at:
>>> > 5f959fd8e77bf28f6286cfb4d1e1fff27167f803
>>> >
>>> > Site:
>>> >
>>> >
>>> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC1/site/index.html

>>> >
>>> > Distribution files (committed at revision 31605):
>>> > 
https://dist.apache.org/repos/dist/dev/commons/collections/

>>> >
>>> > Distribution files hashes (SHA256):
>>> >
>>> 201e1d527c67643b4e75065e113006d0610e8bf5620b4e056a2e044f3676df12
>>> > commons-collections4-4.3-bin.tar.gz
>>> >
>>> 706a0f5b4ddfd85e5444933576ea37776219748973bf4fc3944d846823f79395
>>> > commons-collections4-4.3-bin.zip
>>> >
>>> 7a18a39b8b24d8688400276388d5c63da448ee7a8166561a5cffb617b952ed96
>>> > commons-collections4-4.3-src.tar.gz
>>> >
>>> 8a7b3ccd3fb2ba7edde7e08aa7606b3eacef260eab887358c56473a9e395067a
>>> > commons-collections4-4.3-src.zip
>>> >
>>> > KEYS file to check signatures:
>>> > https://www.apache.org/dist/commons/KEYS
>>> >
>>> > Maven artifacts:
>>> >
>>> >
>>> 
https://repository.apache.org/content/repositories/orgapachecommons-1401/

>>> >
>>> > Please select one of the following options:
>>> >   [ ] +1 Release it.
>>> >   [ ] +0 Go ahead; I don't care.
>>> >   [ ] -0 There are a few minor glitches: ...
>>> >   [ ] -1 No, do not release it because ...
>>> >
>>> > This vote will be open for at least 72 hours, i.e. until
>>> > 2018-12-22T14:00:00Z
>>> > (this is UTC time).
>>> >
>>> >
>>> 
-

>>> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>> > For additional commands, e-mail: dev-h...@commons.apache.org
>>> >
>>> >
>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>



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



Re: [VOTE][RC1] Commons collections 4.3

2018-12-26 Thread Gilles

Hi.

On Wed, 26 Dec 2018 08:23:03 +0700, Maxim Solodovnik wrote:

This is the way Wicketstuff build is performed [1]
The project consist of ~285 modules and it is wise to create tag only 
if

build is already in Nexus :)

[1]

https://github.com/wicketstuff/core/wiki/Wicket-Stuff-Core-Release-Process


I get it now!
So indeed, a "release" branch that is pushed upstream is not
necessary.[1]

And there is another couple of improvements which I could use
next time.

Thanks for sharing,
Gilles

[1] It might become useful only if the RC has problems _and_
other people want to help with fixing (?).



On Wed, 26 Dec 2018 at 08:11, Rob Tompkins  
wrote:





> On Dec 25, 2018, at 8:04 PM, Maxim Solodovnik 


wrote:
>
> In both git and svn you need a branch to create tag
> But since git has local and remote repository, steps can be:
>
> 1) create local branch
> 2) made "release" changes
> 3) create tag
> 4) push the tag
>
> In this case only tag will be pushed, and there will be no useless
branches
> with minimal "release" changes
>

Yes that is true. But so long as the vote has yet to be initiated, 
the tag

can be pushed even after the build has been made.

-Rob

>> On Wed, 26 Dec 2018 at 05:40, Gilles 


wrote:
>>
>> Hi.
>>
>>> On Tue, 25 Dec 2018 22:22:43 +0700, Maxim Solodovnik wrote:
>>> Hello Gilles,
>>>
>>> Actually if release is made based on git it is not necessary to
>>> perform commits
>>
>> ?
>> I don't know other ways to perform the release; I follow
>> the practice established for "svn", that was then adapted
>> for "git" when we switched to it.
>>
>> Do you propose an alternative way to do it?  Please
>> share some link describing the process
>>

[...]



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



Re: [VOTE][RC2] Commons collections 4.3

2018-12-26 Thread Gilles

Hi.

On Wed, 26 Dec 2018 20:41:59 +0700, Maxim Solodovnik wrote:

This is a [VOTE] for releasing
Apache Commons collections 4.3

Tag name:
collections-4.3-RC2 (signature can be checked from git using 'git
tag -v')


$ git tag -v collections-4.3-RC2
error: tag 'collections-4.3-RC2' not found.

Although I see it in the link below...
What is going on?


RC1 was cancelled due to some release steps were not done

Tag URL:


https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=77e37dbf238d26351edb29e95391e3df75095d01

Commit ID the tag points at:
77e37dbf238d26351edb29e95391e3df75095d01

Site:


https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/index.html


The Clirr report is still a problem:
  
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/clirr-report.html


[The same errors are reported on my machine, so it's
not a cache issue...]

Regards,
Gilles



Distribution files (committed at revision 31689):
https://dist.apache.org/repos/dist/dev/commons/collections/

Distribution files hashes (SHA256):
  commons-collections4-4.3-bin.tar.gz
214c12fae27403f1a16ca6c108b5a8682be1a885a0dbbfc8eb30941303e1fe94
  commons-collections4-4.3-bin.zip
75b51a98fea6fca3746a3f70c6a0be24c99849e4976c4649214eaa5a009d0aeb
  commons-collections4-4.3-src.tar.gz
399f403feca86dbba7c4162eb90174db45979a2f7db2b3e0ba48240dc43ab434
  commons-collections4-4.3-src.zip
1c637e260b5b9e372d196593c7617ad3adedb6da3ac9196d086f9fc24401f5c3

KEYS file to check signatures:
https://www.apache.org/dist/commons/KEYS

Maven artifacts:

https://repository.apache.org/content/repositories/orgapachecommons-1405/


Please select one of the following options:
  [ ] +1 Release it.
  [ ] +0 Go ahead; I don't care.
  [ ] -0 There are a few minor glitches: ...
  [ ] -1 No, do not release it because ...

This vote will be open for at least 72 hours, i.e. until 
2018-12-29T14:00:00Z

(this is UTC time).




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



Re: [VOTE][RC2] Commons collections 4.3

2018-12-26 Thread Gilles

On Wed, 26 Dec 2018 21:21:34 +0100, Gilles wrote:

Hi.

On Wed, 26 Dec 2018 20:41:59 +0700, Maxim Solodovnik wrote:

This is a [VOTE] for releasing
Apache Commons collections 4.3

Tag name:
collections-4.3-RC2 (signature can be checked from git using 
'git

tag -v')


$ git tag -v collections-4.3-RC2
error: tag 'collections-4.3-RC2' not found.

Although I see it in the link below...
What is going on?


Issue vanished with a fresh "clone".
[Sorry for the noise.]


RC1 was cancelled due to some release steps were not done

Tag URL:


https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=77e37dbf238d26351edb29e95391e3df75095d01

Commit ID the tag points at:
77e37dbf238d26351edb29e95391e3df75095d01

Site:


https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/index.html


The Clirr report is still a problem:


https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/clirr-report.html

[The same errors are reported on my machine, so it's
not a cache issue...]

Regards,
Gilles



Distribution files (committed at revision 31689):
https://dist.apache.org/repos/dist/dev/commons/collections/

Distribution files hashes (SHA256):
  commons-collections4-4.3-bin.tar.gz
214c12fae27403f1a16ca6c108b5a8682be1a885a0dbbfc8eb30941303e1fe94
  commons-collections4-4.3-bin.zip
75b51a98fea6fca3746a3f70c6a0be24c99849e4976c4649214eaa5a009d0aeb
  commons-collections4-4.3-src.tar.gz
399f403feca86dbba7c4162eb90174db45979a2f7db2b3e0ba48240dc43ab434
  commons-collections4-4.3-src.zip
1c637e260b5b9e372d196593c7617ad3adedb6da3ac9196d086f9fc24401f5c3

KEYS file to check signatures:
https://www.apache.org/dist/commons/KEYS

Maven artifacts:

https://repository.apache.org/content/repositories/orgapachecommons-1405/


Please select one of the following options:
  [ ] +1 Release it.
  [ ] +0 Go ahead; I don't care.
  [ ] -0 There are a few minor glitches: ...
  [ ] -1 No, do not release it because ...

This vote will be open for at least 72 hours, i.e. until 
2018-12-29T14:00:00Z

(this is UTC time).




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



Re: [numbers] propose making BigFraction an extension of Fraction

2018-12-27 Thread Gilles

Hi Eric.

On Thu, 27 Dec 2018 11:53:39 -0800, Eric Barnhill wrote:
Thanks for this response and it took me some time to think your 
various

points through.

On Thu, Dec 13, 2018 at 4:59 PM Gilles  
wrote:




On Thu, 13 Dec 2018 11:20:12 -0800, Eric Barnhill wrote:

> Among the elegancies afforded by this change, if a Fraction 
operation

> causes overflow as previously discussed, a BigFraction could be
> returned
> and should be able to handle all further calls to Fraction 
unaltered.

> (This
> might not always be desired behavior, so Fraction may need to 
contain

> a
> setting to either throw and exception, or convert to BigFraction 
in

> case of
> overflow.)

Doesn't this setting achieve at runtime what the application
developer should decide at compile time (by instantiating the
class that has the desired behaviour)?



Yes. Perhaps I have been spending too much time writing Python 
lately.


:-)



>
> So I propose writing a ticket for this change. As sub-points on 
the

> ticket
> the BigFraction class could be conformed to Fraction class in 
terms

> of
> reduction of constants and producing a VALJO.

Inheritance and ValJO turn out being contradictory (see thread
with subject "Inheritance and ValJO ?").
And (IIUC) the workaround/alternative hinted at by Stephen
in that same thread might not be directly applicable because,
here, the instance fields are different in "Fraction" and
"BigFraction" ("long" vs "BigInteger").

I've just noticed that "BigInteger" is not final; hence
"BigFraction" cannot be a ValJO either.[1]



It sounds like this is sufficient to disqualify this proposal.


I don't think that we should rule out a "Fraction" interface.


Maybe not.
How to call the implementations?  "BigFraction" and ...
"SmallFraction"?



Since BigFraction and Fraction have the use cases covered for now
(improved, I would argue, by only the former requiring Big* classes) 
I

propose wrapping up this work and leaving this until after a release.


Fine.


[1] So this issue:
   https://issues.apache.org/jira/browse/NUMBERS-75
 should probably be resolved as "Invalid".



Done.


Thanks.


But, there were some "peripheral" improvements that came out of
making Fraction a ValJO that should still be applied to BigFraction, 
for

example conforming both classes to use the same factory methods,


+1


and
reducing the absurd number of BigFraction constants.


+1


Shall I reopen and
rename the ticket to focus on these changes, or is it better to start 
a new

one?


I'd go for new one.

Best regards,
Gilles



Eric



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



Re: [commons-numbers] branch fraction-dev updated: NUMBERS-91: Added ofInt() factory methods and made BigInteger-based constructor private

2018-12-27 Thread Gilles

On Thu, 27 Dec 2018 23:54:57 +, ericbarnh...@apache.org wrote:

This is an automated email from the ASF dual-hosted git repository.

ericbarnhill pushed a commit to branch fraction-dev
in repository https://gitbox.apache.org/repos/asf/commons-numbers.git


The following commit(s) were added to refs/heads/fraction-dev by this 
push:

 new ebb8e03  NUMBERS-91: Added ofInt() factory methods


Why not rely on method overload?  There is no need to duplicate
part of the the method's signature in its name.

Gilles


and made
BigInteger-based constructor private
ebb8e03 is described below

commit ebb8e03f139b8cec84564b3e558fea39b71d2f24
Author: Eric Barnhill 
AuthorDate: Thu Dec 27 15:54:51 2018 -0800

NUMBERS-91: Added ofInt() factory methods and made 
BigInteger-based

constructor private
---
 .../commons/numbers/fraction/BigFraction.java  | 68
+++---
 1 file changed, 20 insertions(+), 48 deletions(-)

[...]


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



Re: [commons-numbers] [...] NUMBERS-91: Added ofInt() factory methods [...]

2018-12-28 Thread Gilles

Hello Eric.

On Thu, 27 Dec 2018 17:00:15 -0800, Eric Barnhill wrote:

I am overloading:

public static BigFraction ofInt(final BigInteger num) {
return new BigFraction(num, BigInteger.ONE);
}

public static BigFraction ofInt(BigInteger num, BigInteger den) {
return new BigFraction(num, den);
}

private BigFraction(BigInteger num, BigInteger den) {

Did my comment not give that impression?


I was in fact wondering why "ofInt" rather than just "of".

Best,
Gilles


[...]



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



Re: [VOTE][LAZY] Move commons-codec to gitbox after 1.12 release.

2018-12-28 Thread Gilles

On Fri, 28 Dec 2018 13:18:41 -0500, Rob Tompkins wrote:

Yes. I agree that makes sense. It is a considerable amount of work to
do that migration in a single go. So, I’m not sure if we should go at
it piecemeal or as a complete lump of work.

-Rob

On Dec 28, 2018, at 11:41 AM, Jochen Wiedmann 
 wrote:


Weren't we going to fo that for *all* of our projects?


I also did not understand the purpose of yet another vote.

AFAIUC, the vote (for _all_ components) passed.
Hence anyone with some time can file an INFRA request asking
for the migration of a component of his choice.

Or am I missing something?

Gilles



On Fri, Dec 28, 2018 at 4:17 PM Pascal Schumacher
 wrote:


+1


Am 28.12.2018 um 15:51 schrieb Rob Tompkins:
After doing the 1.12 release I propose we move commons-codec to 
gitbox. This is a [LAZY] consensus [VOTE] for doing such after I get 
through the release. This [LAZY][VOTE] will be open for at least 72 
hours form now.


Cheers,
-Rob


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



Re: [commons-numbers] [...] NUMBERS-91: Added ofInt() factory methods [...]

2018-12-28 Thread Gilles

On Fri, 28 Dec 2018 09:17:08 -0800, Eric Barnhill wrote:
Fractions are constructed using either ints or doubles. In the case 
of

ints, the numerator and denominator are passed (or the denominator is
assumed to be one). Constructing fractions from doubles is more 
algorithmic
work: if I pass a known fixed quantity such as 0.6 of course it will 
not be
hard for the constructor to determine that is the equivalent of 3 / 5 
.
However if doubles are being passed of unknown precision, then I may 
want
to request a max value on the denominator, or a precision within 
which the
simplest fraction should be returned, or even the maximum iterations 
in the

computation.

I think of those as qualitatively very different activities


I agree.


so I called
them ofInt and ofDouble.


But we could consider:
Cat.1
 * of(long, long)
 * of(int, long)
 * of(BigInteger, BigInteger)
 * ...
and
Cat.2
 * ofDouble(double)
 * ofDouble(int, double)
 * ...
where "Cat.1" and "Cat.2" delineates the very different handling
which you referred to; and in the case of "Cat.1", an exact (?)
representation is constructed, while "Cat.2" could be lossy.
The former can also be construed as closer to the convention for
"ValJO" ("BigFaction" not being "ValJO" does not preclude choosing
the simplest name for its factory methods).


The example I had in mind was probably Complex,
where we have ofPolar and ofCartesian. I suppose you are right, in 
this
case the hard typing of the passed variables alone could invoke 
either an
int or double based method while with Complex, both constructors are 
taking

doubles.


Quite right, there is some inconsistency; we may consider using
"of" if the "ValJO" aspect is more important that the equivalence
between polar and Cartesian input (cf. also the suggestion that
conversion methods should be name "from...", to which I'm not really
a fan yet).
If there is no strong argument yet for either, we could open a JIRA
report asking for opinions.  And leave that open as long as we
release "beta" versions.

You do then have some very similar methods, for example of(int a, int 
b)
will be an integer fraction with a on top and b on bottom; while 
calling
of(double a, int b) will produce a fraction that approximates double 
a with

max denominator b.

Those two processes are so different that it might be more clarifying 
to

distinguish them as ofInt(int a, int b) and ofDouble(double a, int b)


IMHO, it is not sufficiently self-documenting anyway: one has to go
to the docs in order to understand the difference; hence my proposal
to have "of" for the "obvious thing" (a/b) and "ofDouble" for the more
elaborate "transform".
Not sure if I'm clear in why the "non-symmetric" makes sense. :-}

Best regards,
Gilles



Eric


On Fri, Dec 28, 2018 at 4:33 AM Gilles  
wrote:



Hello Eric.

On Thu, 27 Dec 2018 17:00:15 -0800, Eric Barnhill wrote:
> I am overloading:
>
> public static BigFraction ofInt(final BigInteger num) {
> return new BigFraction(num, BigInteger.ONE);
> }
>
> public static BigFraction ofInt(BigInteger num, BigInteger 
den) {

> return new BigFraction(num, den);
> }
>
> private BigFraction(BigInteger num, BigInteger den) {
>
> Did my comment not give that impression?

I was in fact wondering why "ofInt" rather than just "of".

Best,
Gilles

>> [...]



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



Re: [VOTE][LAZY] Move commons-codec to gitbox after 1.12 release.

2018-12-28 Thread Gilles

On Fri, 28 Dec 2018 14:00:48 -0500, Rob Tompkins wrote:
On Dec 28, 2018, at 1:31 PM, Gilles  
wrote:


On Fri, 28 Dec 2018 13:18:41 -0500, Rob Tompkins wrote:
Yes. I agree that makes sense. It is a considerable amount of work 
to
do that migration in a single go. So, I’m not sure if we should go 
at

it piecemeal or as a complete lump of work.

-Rob

On Dec 28, 2018, at 11:41 AM, Jochen Wiedmann 
 wrote:


Weren't we going to fo that for *all* of our projects?


I also did not understand the purpose of yet another vote.

AFAIUC, the vote (for _all_ components) passed.
Hence anyone with some time can file an INFRA request asking
for the migration of a component of his choice.

Or am I missing something?


That last list of components were the components in git-wip that
infra required us to move to gitbox. [codec] remains in SVN. I could
have missed our having record of all components going to gitbox.
Pardon if I did miss that. If we don’t have such a [VOTE] on all svn
components, I’m quite happy to retract this [VOTE] en leu of that 
(and

am willing to do the vote).


If a vote is needed at all, I'd propose asking whether someone
here insists on keeping any component on SVN, and if so, which
one(s).

Regards,
Gilles



-Rob



Gilles



On Fri, Dec 28, 2018 at 4:17 PM Pascal Schumacher
 wrote:


+1


Am 28.12.2018 um 15:51 schrieb Rob Tompkins:
After doing the 1.12 release I propose we move commons-codec to 
gitbox. This is a [LAZY] consensus [VOTE] for doing such after I 
get through the release. This [LAZY][VOTE] will be open for at 
least 72 hours form now.


Cheers,
-Rob



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



Re: [VOTE][RC2] Commons collections 4.3

2018-12-30 Thread Gilles

On Sun, 30 Dec 2018 12:25:55 +0700, Maxim Solodovnik wrote:

No votes after 3 days :(
Is there anything wrong with the RC?


See my 4-days-old comment in the thread (Clirr errors).
[Quoted below.]

Regards,
Gilles



On Thu, 27 Dec 2018 at 05:20, Bruno P. Kinoshita  
wrote:


FWIW I had a similar experience, and realized I was doing `git fetch 
--all`, but it didn't bring the tags. `git fetch --tags` did the 
trick. After that I could `git checkout $tag-name`


Cheers
Bruno





From: Gilles 
To: dev@commons.apache.org
Sent: Thursday, 27 December 2018 9:26 AM
Subject: Re: [VOTE][RC2] Commons collections 4.3



On Wed, 26 Dec 2018 21:21:34 +0100, Gilles wrote:
> Hi.
>
> On Wed, 26 Dec 2018 20:41:59 +0700, Maxim Solodovnik wrote:
>> This is a [VOTE] for releasing
>> Apache Commons collections 4.3
>>
>> Tag name:
>> collections-4.3-RC2 (signature can be checked from git using
>> 'git
>> tag -v')
>
> $ git tag -v collections-4.3-RC2
> error: tag 'collections-4.3-RC2' not found.
>
> Although I see it in the link below...
> What is going on?

Issue vanished with a fresh "clone".
[Sorry for the noise.]


>> RC1 was cancelled due to some release steps were not done
>>
>> Tag URL:
>>
>>
>> 
https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=77e37dbf238d26351edb29e95391e3df75095d01

>>
>> Commit ID the tag points at:
>> 77e37dbf238d26351edb29e95391e3df75095d01
>>
>> Site:
>>
>>
>> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/index.html

>
> The Clirr report is still a problem:
>
>
> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/clirr-report.html

>
> [The same errors are reported on my machine, so it's
> not a cache issue...]
>
> Regards,
> Gilles
>
>>
>> Distribution files (committed at revision 31689):
>>https://dist.apache.org/repos/dist/dev/commons/collections/
>>
>> Distribution files hashes (SHA256):
>>   commons-collections4-4.3-bin.tar.gz
>> 
214c12fae27403f1a16ca6c108b5a8682be1a885a0dbbfc8eb30941303e1fe94

>>   commons-collections4-4.3-bin.zip
>> 
75b51a98fea6fca3746a3f70c6a0be24c99849e4976c4649214eaa5a009d0aeb

>>   commons-collections4-4.3-src.tar.gz
>> 
399f403feca86dbba7c4162eb90174db45979a2f7db2b3e0ba48240dc43ab434

>>   commons-collections4-4.3-src.zip
>> 
1c637e260b5b9e372d196593c7617ad3adedb6da3ac9196d086f9fc24401f5c3

>>
>> KEYS file to check signatures:
>>https://www.apache.org/dist/commons/KEYS
>>
>> Maven artifacts:
>>
>> 
https://repository.apache.org/content/repositories/orgapachecommons-1405/

>>
>> Please select one of the following options:
>>   [ ] +1 Release it.
>>   [ ] +0 Go ahead; I don't care.
>>   [ ] -0 There are a few minor glitches: ...
>>   [ ] -1 No, do not release it because ...
>>
>> This vote will be open for at least 72 hours, i.e. until
>> 2018-12-29T14:00:00Z
>> (this is UTC time).
>>



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



Re: [VOTE][RC2] Commons collections 4.3

2018-12-31 Thread Gilles

On Mon, 31 Dec 2018 07:41:40 +0700, Maxim Solodovnik wrote:

Hello Gilles,

I already did analysis: [1], all errors are caused by previous 
release

4.3 doesn't introduce any new errors ...

[1] https://markmail.org/message/l7ftxlvdk4yqxijt


I had seen the post but it says:
---
these errors are weird. Above classes has no changes comparing to 4.2
---

But IMHO it was not a conclusion: If the cause of the errors was
identified, it could have been mentioned in the release notes
and/or the [VOTE] email, in order to avoid further questioning.

Is the cause the change of supported JDK?

Regards,
Gilles



On Mon, 31 Dec 2018 at 07:26, Rob Tompkins  
wrote:


I’ll give it a look tonight or in the morning.

-Rob

> On Dec 30, 2018, at 12:25 AM, Maxim Solodovnik 
 wrote:

>
> No votes after 3 days :(
> Is there anything wrong with the RC?
>
>> On Thu, 27 Dec 2018 at 05:20, Bruno P. Kinoshita 
 wrote:

>>
>> FWIW I had a similar experience, and realized I was doing `git 
fetch --all`, but it didn't bring the tags. `git fetch --tags` did the 
trick. After that I could `git checkout $tag-name`

>>
>> Cheers
>> Bruno
>>
>>
>>
>>
>> 
>> From: Gilles 
>> To: dev@commons.apache.org
>> Sent: Thursday, 27 December 2018 9:26 AM
>> Subject: Re: [VOTE][RC2] Commons collections 4.3
>>
>>
>>
>>> On Wed, 26 Dec 2018 21:21:34 +0100, Gilles wrote:
>>> Hi.
>>>
>>>> On Wed, 26 Dec 2018 20:41:59 +0700, Maxim Solodovnik wrote:
>>>> This is a [VOTE] for releasing
>>>> Apache Commons collections 4.3
>>>>
>>>> Tag name:
>>>>collections-4.3-RC2 (signature can be checked from git using
>>>> 'git
>>>> tag -v')
>>>
>>> $ git tag -v collections-4.3-RC2
>>> error: tag 'collections-4.3-RC2' not found.
>>>
>>> Although I see it in the link below...
>>> What is going on?
>>
>> Issue vanished with a fresh "clone".
>> [Sorry for the noise.]
>>
>>
>>>> RC1 was cancelled due to some release steps were not done
>>>>
>>>> Tag URL:
>>>>
>>>>
>>>> 
https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=77e37dbf238d26351edb29e95391e3df75095d01

>>>>
>>>> Commit ID the tag points at:
>>>>77e37dbf238d26351edb29e95391e3df75095d01
>>>>
>>>> Site:
>>>>
>>>>
>>>> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/index.html

>>>
>>> The Clirr report is still a problem:
>>>
>>>
>>> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/clirr-report.html

>>>
>>> [The same errors are reported on my machine, so it's
>>> not a cache issue...]
>>>
>>> Regards,
>>> Gilles
>>>
>>>>
>>>> Distribution files (committed at revision 31689):
>>>>   https://dist.apache.org/repos/dist/dev/commons/collections/
>>>>
>>>> Distribution files hashes (SHA256):
>>>>  commons-collections4-4.3-bin.tar.gz
>>>>
214c12fae27403f1a16ca6c108b5a8682be1a885a0dbbfc8eb30941303e1fe94

>>>>  commons-collections4-4.3-bin.zip
>>>>
75b51a98fea6fca3746a3f70c6a0be24c99849e4976c4649214eaa5a009d0aeb

>>>>  commons-collections4-4.3-src.tar.gz
>>>>
399f403feca86dbba7c4162eb90174db45979a2f7db2b3e0ba48240dc43ab434

>>>>  commons-collections4-4.3-src.zip
>>>>
1c637e260b5b9e372d196593c7617ad3adedb6da3ac9196d086f9fc24401f5c3

>>>>
>>>> KEYS file to check signatures:
>>>>   https://www.apache.org/dist/commons/KEYS
>>>>
>>>> Maven artifacts:
>>>>
>>>> 
https://repository.apache.org/content/repositories/orgapachecommons-1405/

>>>>
>>>> Please select one of the following options:
>>>>  [ ] +1 Release it.
>>>>  [ ] +0 Go ahead; I don't care.
>>>>  [ ] -0 There are a few minor glitches: ...
>>>>  [ ] -1 No, do not release it because ...
>>>>
>>>> This vote will be open for at least 72 hours, i.e. until
>>>> 2018-12-29T14:00:00Z
>>>> (this is UTC time).
>>>>
>>
>>
>> 
-

>> 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
>>
>
>
> --
> WBR
> Maxim aka solomax
>
> 
-

> 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




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



Re: [VOTE][RC2] Commons collections 4.3

2019-01-02 Thread Gilles

Hello.

On Wed, 2 Jan 2019 14:01:24 +0700, Maxim Solodovnik wrote:

Hello All,

Just checked clirr report one more time
This time I took 1 error and perform investigation:

"Method 'public java.util.Collection values()' has been added to an
interface" org.apache.commons.collections4.BidiMap

In fact I don't understand why this error was reported
BidiMap extends java.util.Map
Map has method "public java.util.Collection values()" in all 
versions:

https://docs.oracle.com/javase/6/docs/api/java/util/Map.html
https://docs.oracle.com/javase/7/docs/api/java/util/Map.html
https://docs.oracle.com/javase/8/docs/api/java/util/Map.html

Maybe its clirr issue?


Might worth trying another tool:
  https://revapi.org/

[If you look into the log of "Commons RNG", there was a
recent commit with the config to activate it (which I've
removed afterwards since Clirr was not the cause of my
problem there).]


Would appreciate any help with this investigation


Maybe totally unrelated but I've noticed that after deleting
all "collections"-related maven caches, the build
  $ mvn clean site
started by downloading _all_ older versions...

Regards,
Gilles



On Mon, 31 Dec 2018 at 16:53, Gilles  
wrote:


On Mon, 31 Dec 2018 07:41:40 +0700, Maxim Solodovnik wrote:
> Hello Gilles,
>
> I already did analysis: [1], all errors are caused by previous
> release
> 4.3 doesn't introduce any new errors ...
>
> [1] https://markmail.org/message/l7ftxlvdk4yqxijt

I had seen the post but it says:
---
these errors are weird. Above classes has no changes comparing to 
4.2

---

But IMHO it was not a conclusion: If the cause of the errors was
identified, it could have been mentioned in the release notes
and/or the [VOTE] email, in order to avoid further questioning.

Is the cause the change of supported JDK?

Regards,
Gilles

>
> On Mon, 31 Dec 2018 at 07:26, Rob Tompkins 
> wrote:
>>
>> I’ll give it a look tonight or in the morning.
>>
>> -Rob
>>
>> > On Dec 30, 2018, at 12:25 AM, Maxim Solodovnik
>>  wrote:
>> >
>> > No votes after 3 days :(
>> > Is there anything wrong with the RC?
>> >
>> >> On Thu, 27 Dec 2018 at 05:20, Bruno P. Kinoshita
>>  wrote:
>> >>
>> >> FWIW I had a similar experience, and realized I was doing `git
>> fetch --all`, but it didn't bring the tags. `git fetch --tags` 
did the

>> trick. After that I could `git checkout $tag-name`
>> >>
>> >> Cheers
>> >> Bruno
>> >>
>> >>
>> >>
>> >>
>> >> 
>> >> From: Gilles 
>> >> To: dev@commons.apache.org
>> >> Sent: Thursday, 27 December 2018 9:26 AM
>> >> Subject: Re: [VOTE][RC2] Commons collections 4.3
>> >>
>> >>
>> >>
>> >>> On Wed, 26 Dec 2018 21:21:34 +0100, Gilles wrote:
>> >>> Hi.
>> >>>
>> >>>> On Wed, 26 Dec 2018 20:41:59 +0700, Maxim Solodovnik wrote:
>> >>>> This is a [VOTE] for releasing
>> >>>> Apache Commons collections 4.3
>> >>>>
>> >>>> Tag name:
>> >>>>collections-4.3-RC2 (signature can be checked from git 
using

>> >>>> 'git
>> >>>> tag -v')
>> >>>
>> >>> $ git tag -v collections-4.3-RC2
>> >>> error: tag 'collections-4.3-RC2' not found.
>> >>>
>> >>> Although I see it in the link below...
>> >>> What is going on?
>> >>
>> >> Issue vanished with a fresh "clone".
>> >> [Sorry for the noise.]
>> >>
>> >>
>> >>>> RC1 was cancelled due to some release steps were not done
>> >>>>
>> >>>> Tag URL:
>> >>>>
>> >>>>
>> >>>>
>> 
https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=77e37dbf238d26351edb29e95391e3df75095d01

>> >>>>
>> >>>> Commit ID the tag points at:
>> >>>>77e37dbf238d26351edb29e95391e3df75095d01
>> >>>>
>> >>>> Site:
>> >>>>
>> >>>>
>> >>>>
>> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/index.html

>> >>>
>> >>> The Clirr report is still a problem:
>> >>>
>> >>>
>> >>>
>> 
https://dist.apache.org/repos/dist/dev/commons/collections/4.3-RC2/site/clirr

Re: [VOTE][RC2] Commons collections 4.3

2019-01-02 Thread Gilles

On Wed, 02 Jan 2019 12:38:23 +0100, Gilles wrote:

Hello.

On Wed, 2 Jan 2019 14:01:24 +0700, Maxim Solodovnik wrote:

Hello All,

Just checked clirr report one more time
This time I took 1 error and perform investigation:

"Method 'public java.util.Collection values()' has been added to an
interface" org.apache.commons.collections4.BidiMap

In fact I don't understand why this error was reported
BidiMap extends java.util.Map
Map has method "public java.util.Collection values()" in all 
versions:

https://docs.oracle.com/javase/6/docs/api/java/util/Map.html
https://docs.oracle.com/javase/7/docs/api/java/util/Map.html
https://docs.oracle.com/javase/8/docs/api/java/util/Map.html

Maybe its clirr issue?


Might worth trying another tool:
  https://revapi.org/


This is the config for the "" section:
---CUT---
  
org.revapi
revapi-maven-plugin
0.10.5

  
org.revapi
revapi-java
0.18.2
  


  
check
check
  

  
---CUT---
and for the "":
---CUT---
  
org.revapi
revapi-maven-plugin
0.10.5

  

  report
  report-aggregate
    
  

  
---CUT---

Gilles


[If you look into the log of "Commons RNG", there was a
recent commit with the config to activate it (which I've
removed afterwards since Clirr was not the cause of my
problem there).]


Would appreciate any help with this investigation


Maybe totally unrelated but I've noticed that after deleting
all "collections"-related maven caches, the build
  $ mvn clean site
started by downloading _all_ older versions...

Regards,
Gilles



On Mon, 31 Dec 2018 at 16:53, Gilles  
wrote:


On Mon, 31 Dec 2018 07:41:40 +0700, Maxim Solodovnik wrote:
> Hello Gilles,
>
> I already did analysis: [1], all errors are caused by previous
> release
> 4.3 doesn't introduce any new errors ...
>
> [1] https://markmail.org/message/l7ftxlvdk4yqxijt

I had seen the post but it says:
---
these errors are weird. Above classes has no changes comparing to 
4.2

---

But IMHO it was not a conclusion: If the cause of the errors was
identified, it could have been mentioned in the release notes
and/or the [VOTE] email, in order to avoid further questioning.

Is the cause the change of supported JDK?

Regards,
Gilles

>
> On Mon, 31 Dec 2018 at 07:26, Rob Tompkins 
> wrote:
>>
>> I’ll give it a look tonight or in the morning.
>>
>> -Rob
>>
>> > On Dec 30, 2018, at 12:25 AM, Maxim Solodovnik
>>  wrote:
>> >
>> > No votes after 3 days :(
>> > Is there anything wrong with the RC?
>> >
>> >> On Thu, 27 Dec 2018 at 05:20, Bruno P. Kinoshita
>>  wrote:
>> >>
>> >> FWIW I had a similar experience, and realized I was doing 
`git
>> fetch --all`, but it didn't bring the tags. `git fetch --tags` 
did the

>> trick. After that I could `git checkout $tag-name`
>> >>
>> >> Cheers
>> >> Bruno
>> >>
>> >>
>> >>
>> >>
>> >> 
>> >> From: Gilles 
>> >> To: dev@commons.apache.org
>> >> Sent: Thursday, 27 December 2018 9:26 AM
>> >> Subject: Re: [VOTE][RC2] Commons collections 4.3
>> >>
>> >>
>> >>
>> >>> On Wed, 26 Dec 2018 21:21:34 +0100, Gilles wrote:
>> >>> Hi.
>> >>>
>> >>>> On Wed, 26 Dec 2018 20:41:59 +0700, Maxim Solodovnik wrote:
>> >>>> This is a [VOTE] for releasing
>> >>>> Apache Commons collections 4.3
>> >>>>
>> >>>> Tag name:
>> >>>>collections-4.3-RC2 (signature can be checked from git 
using

>> >>>> 'git
>> >>>> tag -v')
>> >>>
>> >>> $ git tag -v collections-4.3-RC2
>> >>> error: tag 'collections-4.3-RC2' not found.
>> >>>
>> >>> Although I see it in the link below...
>> >>> What is going on?
>> >>
>> >> Issue vanished with a fresh "clone".
>> >> [Sorry for the noise.]
>> >>
>> >>
>> >>>> RC1 was cancelled due to some release steps were not done
>> >>>>
>> >>>> Tag URL:
>> >>>>
>> >>>>
>> >>>>
>> 
https://gitbox.apache.org/repos/asf?p=commons-collections.git;a=commit;h=77e37dbf2

Re: [VOTE][RC2] Commons collections 4.3

2019-01-04 Thread Gilles

hi.

On Thu, 3 Jan 2019 22:04:24 +0530, Amey Jadiye wrote:

Hello Maxim / All

I put little more efforts to find out the possible cause of the 
error.
In the clirr code, I found the reason for this error and same is 
documented

in clirr documentation [1].

A method declaration has been added to the specified interface. This 
is

always reported as a binary-compatibility error, but in practice, the
changed class might be used successfully with code compiled against 
the old

interface depending upon usage patterns.

Old code which invokes methods upon code compiled against the new
(expanded) interface will continue to work without issues. And old 
code
which implements the old version of the interface will also continue 
to
work correctly as long as no code attempts to invoke any of the 
newly-added
methods against that instance. But the code which (validly) invokes 
one of
the new methods in the interface against an object which implements 
only
the old version of the interface will cause an AbstractMethodError to 
be

thrown at the time the method invocation is attempted.


IIUC, new code that calls the new methods on [Collections] classes
will crash.  Does not look good.
On the other hand, Maxim wrote earlier that a method reported by
Clirr as "new" (cf. below) was in fact present since Java 6...

Are we then sure that it's a Clirr bug?
If so, why did you not vote "+1" (on the condition that the false
positive is mentioned in the release notes)?

We could also make some definite progress with an actual code
example that calls the incriminated methods, compiled against the
current version of the library and then run against the current RC,
and see whether it crashes.

Alternatively, we could instate "revapi" in the POM (and disable
Clirr); and if the report is clean, trust that (though "revapi" is
still beta).

Opinions?

Gilles



In 4.2 and 4.3 looks like we have upgraded the java version[2] where 
for
example for Map interface might have added a few more methods causing 
these

errors.

For this release, I am voting 0 (Non-Binding) as there is unharmed 
mess

around the clirr.

rest of the things are OK with this release, I would encourage to 
have

revapi replacing clirr.


[1]  http://clirr.sourceforge.net/clirr-core/exegesis.html
[2]

https://github.com/apache/commons-collections/commit/482762a13f739631f94d03642b0a55a9b7214c44

Regards,
Amey


On Thu, Jan 3, 2019 at 11:53 AM Amey Jadiye  
wrote:


I spared little time on finding issue however didn't found it in 
clirr(may
be hidden somewhere),  today will check if clirr maven plugin have 
any
issues. also I saw that few other apache commons modules having same 
issue

and are released.

I also gave try on revapi with commons collection4 4.3RC2. 
revapi:check

was clean unlike clirr, looks promising to replace clirr.

Regards,
Amey

On Wed, 2 Jan 2019, 12:31 pm Maxim Solodovnik wrote:



Hello All,

Just checked clirr report one more time
This time I took 1 error and perform investigation:

"Method 'public java.util.Collection values()' has been added to an
interface" org.apache.commons.collections4.BidiMap

In fact I don't understand why this error was reported
BidiMap extends java.util.Map
Map has method "public java.util.Collection values()" in all 
versions:

https://docs.oracle.com/javase/6/docs/api/java/util/Map.html
https://docs.oracle.com/javase/7/docs/api/java/util/Map.html
https://docs.oracle.com/javase/8/docs/api/java/util/Map.html

Maybe its clirr issue?
Would appreciate any help with this investigation

On Mon, 31 Dec 2018 at 16:53, Gilles 
wrote:
>
> On Mon, 31 Dec 2018 07:41:40 +0700, Maxim Solodovnik wrote:
> > Hello Gilles,
> >
> > I already did analysis: [1], all errors are caused by previous
> > release
> > 4.3 doesn't introduce any new errors ...
> >
> > [1] https://markmail.org/message/l7ftxlvdk4yqxijt
>
> I had seen the post but it says:
> ---
> these errors are weird. Above classes has no changes comparing to 
4.2

> ---
>
> But IMHO it was not a conclusion: If the cause of the errors was
> identified, it could have been mentioned in the release notes
> and/or the [VOTE] email, in order to avoid further questioning.
>
> Is the cause the change of supported JDK?
>
> Regards,
> Gilles
>
> >
> > On Mon, 31 Dec 2018 at 07:26, Rob Tompkins 
> > wrote:
> >>
> >> I’ll give it a look tonight or in the morning.
> >>
> >> -Rob
> >>
> >> > On Dec 30, 2018, at 12:25 AM, Maxim Solodovnik
> >>  wrote:
> >> >
> >> > No votes after 3 days :(
> >> > Is there anything wrong with the RC?
> >> >
> >> >> On Thu, 27 Dec 2018 at 05:20, Bruno P. Kinoshita
> >>  wrote:
> >> >>
> >> >

Re: [Math] Git question (Was: [VOTE][RC3] Release ...)

2014-12-24 Thread Gilles

On Wed, 24 Dec 2014 03:56:10 +0100, Bernd Eckenfels wrote:

Am Wed, 24 Dec 2014 03:36:42 +0100
schrieb Gilles :


On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:
Is there a way to check that the source code referred to above
was the one used to create the JAR of the ".class" files.
[Out of curiosity, not suspicion, of course...]


You can try to build it yourself and compare the binaries. But this
requires the same compiler version on the same OS - and it might 
still

create some differences if things like hostnames or timestamps are
involved. (it should be however possible to inspect differences and 
see

if they fall in this category).


I was wondering if there is a way that the JAR could include some
signature/checksum of the source code compiled to produce it, something
that would not be different even if checked on different hosts with
different compilers, etc.

Regards,
Gilles


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



Re: [Math] Git question (Was: [VOTE][RC3] Release ...)

2014-12-24 Thread Gilles

On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe wrote:

Le 24/12/2014 03:36, Gilles a écrit :

On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:

This is a [VOTE] for releasing Apache Commons Math 3.4 from release
candidate 3.

Tag name:
  MATH_3_4_RC3 (signature can be checked from git using 'git tag 
-v')


Tag URL:



<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>



Is there a way to check that the source code referred to above
was the one used to create the JAR of the ".class" files.
[Out of curiosity, not suspicion, of course...]


Yes, you can look at the end of the META-INF/MANIFEST.MS file 
embedded
in the jar. The second-to-last entry is called Implementation-Build. 
It
is automatically created by maven-jgit-buildnumber-plugin and 
contains
the SHA1 identifier of the last commit used for the build. Here, is 
is

befd8ebd96b8ef5a06b59dccb22bd55064e31c34, so we can check it really
corresponds to the expected status of the git repository.



Can this be considered "secure", i.e. can't this entry in the MANIFEST
file be modified to be the checksum of the repository but with the 
.class

files being substitued with those coming from another compilation?

Regards,
Gilles



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



Re: [VOTE][RC3] Release Commons Math 3.4

2014-12-24 Thread Gilles

On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:

This is a [VOTE] for releasing Apache Commons Math 3.4 from release
candidate 3.

Tag name:
  MATH_3_4_RC3 (signature can be checked from git using 'git tag -v')

Tag URL:


<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>

Commit ID the tag points at:
  befd8ebd96b8ef5a06b59dccb22bd55064e31c34

Site:
  <https://people.apache.org/~luc/commons-math-3.4-RC3-site>

Distribution files:
  <https://dist.apache.org/repos/dist/dev/commons/math/>

Distribution files hashes (SHA1):
  79787d6a6861e3093fbb0a8df0baa177040cc4fa  
commons-math3-3.4-bin.tar.gz

  1dc1a7c031ce7df1a3ef9db11afe85ddb4f30c36  commons-math3-3.4-bin.zip
  2ed3ee2122cd95b2c71f0df97abb1cbb12c8dad7  
commons-math3-3.4-src.tar.gz

  32cc6f6f5a4a56fffa39027f3f9a6519b554f7db  commons-math3-3.4-src.zip

KEYS file to check signatures:
  <http://www.apache.org/dist/commons/KEYS>

Maven artifacts:


<https://repository.apache.org/content/repositories/orgapachecommons-1069/org/apache/commons/commons-math3/3.4/>


 [X] +1 Release it.
 [ ] +0 Go ahead; I don't care.
 [ ] -0 There are a few minor glitches: ...
 [ ] -1 No, do not release it because ...

This vote will close in 72 hours, at 2014-12-26T13:05;00Z (this is 
UTC

time).



Gilles



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



Re: [Math] Git question (Was: [VOTE][RC3] Release ...)

2014-12-24 Thread Gilles

On Wed, 24 Dec 2014 15:52:12 +0100, Luc Maisonobe wrote:

Le 24/12/2014 15:04, Gilles a écrit :

On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe wrote:

Le 24/12/2014 03:36, Gilles a écrit :

On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:
This is a [VOTE] for releasing Apache Commons Math 3.4 from 
release

candidate 3.

Tag name:
  MATH_3_4_RC3 (signature can be checked from git using 'git tag 
-v')


Tag URL:




<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>




Is there a way to check that the source code referred to above
was the one used to create the JAR of the ".class" files.
[Out of curiosity, not suspicion, of course...]


Yes, you can look at the end of the META-INF/MANIFEST.MS file 
embedded
in the jar. The second-to-last entry is called 
Implementation-Build. It
is automatically created by maven-jgit-buildnumber-plugin and 
contains
the SHA1 identifier of the last commit used for the build. Here, is 
is

befd8ebd96b8ef5a06b59dccb22bd55064e31c34, so we can check it really
corresponds to the expected status of the git repository.



Can this be considered "secure", i.e. can't this entry in the 
MANIFEST
file be modified to be the checksum of the repository but with the 
.class

files being substitued with those coming from another compilation?


Modifying anything in the jar (either this entry within the manifest 
or
any class) will modify the jar signature. So as long as people do 
check

the global MD5, SHA1 or gpg signature we provide with our build, they
are safe to assume the artifacts are Apache artifacts.

This is not different from how releases are done with subversion as 
the
source code control system, or even in C or C++ as the language. At 
one

time, the release manager does perform a compilation and the fellow
reviewers check the result. There is no fullproof process here, as
always when security is involved. Even using an automated build and
automatic signing on an Apache server would involve trust (i.e. one
should assume that the server has not been tampered with, that the 
build
process really does what it is expected to do, that the artifacts put 
to

review are really the one created by the automatic process ...).

Another point is that what we officially release is the source, which
can be reviewed by external users. The binary parts are merely a
convenience.


That's an interesting point to come back to since it looks like the
most time-consuming part of a release is not related to the sources!

Isn't it conceivable that a release could just be a commit identifier
and a checksum of the repository?

If the binaries are a just a convenience, why put so much effort in it?
As a convenience, the artefacts could be produced after the release,
accompanied with all the "caveat" notes which you mentioned.

That would certainly increase the release rate.

Best regards,
Gilles


We do our best to ensure they are genuine and we do apply
signatures to them too, but people who do not trust them should use 
the

source, audit them, and then compile them on their own (assuming they
also trust their compiler, their OS ...).

best regards,
Luc




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



Re: [RESULT][VOTE][RC3] Release Commons Math 3.4

2014-12-26 Thread Gilles

On Fri, 26 Dec 2014 18:28:11 +0100, Luc Maisonobe wrote:

Le 23/12/2014 14:02, luc a écrit :

This is a [VOTE] for releasing Apache Commons Math 3.4 from release
candidate 3.

Tag name:
  MATH_3_4_RC3 (signature can be checked from git using 'git tag 
-v')


Tag URL:


<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>


Commit ID the tag points at:
  befd8ebd96b8ef5a06b59dccb22bd55064e31c34

Site:
  <https://people.apache.org/~luc/commons-math-3.4-RC3-site>

Distribution files:
  <https://dist.apache.org/repos/dist/dev/commons/math/>

Distribution files hashes (SHA1):
  79787d6a6861e3093fbb0a8df0baa177040cc4fa  
commons-math3-3.4-bin.tar.gz
  1dc1a7c031ce7df1a3ef9db11afe85ddb4f30c36  
commons-math3-3.4-bin.zip
  2ed3ee2122cd95b2c71f0df97abb1cbb12c8dad7  
commons-math3-3.4-src.tar.gz
  32cc6f6f5a4a56fffa39027f3f9a6519b554f7db  
commons-math3-3.4-src.zip


KEYS file to check signatures:
  <http://www.apache.org/dist/commons/KEYS>

Maven artifacts:


<https://repository.apache.org/content/repositories/orgapachecommons-1069/org/apache/commons/commons-math3/3.4/>


[ ] +1 Release it.
[ ] +0 Go ahead; I don't care.
[ ] -0 There are a few minor glitches: ...
[ ] -1 No, do not release it because ...

This vote will close in 72 hours, at 2014-12-26T13:05;00Z (this is 
UTC

time).


This vote has passed with the following +1 votes:

  Luc Maisonobe(binding)
  Thomas Neidhart  (binding)
  Phil Steitz  (binding)
  Gilles Sadowski  (binding)

No other votes were cast.


Hank Grabowski voted +1.

Best regards,
Gilles



I will proceed with the release.

Thanks to those who voted and reviewed this and the previous 
candidates.


best regards,
Luc




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



[Math] What's in a release (Was: [Math] Git question (Was: [VOTE][RC3] Release ...))

2014-12-27 Thread Gilles

On Sat, 27 Dec 2014 17:48:05 +, sebb wrote:
On 24 December 2014 at 15:11, Gilles  
wrote:

On Wed, 24 Dec 2014 15:52:12 +0100, Luc Maisonobe wrote:


Le 24/12/2014 15:04, Gilles a écrit :


On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe wrote:


Le 24/12/2014 03:36, Gilles a écrit :


On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:


This is a [VOTE] for releasing Apache Commons Math 3.4 from 
release

candidate 3.

Tag name:
  MATH_3_4_RC3 (signature can be checked from git using 'git 
tag -v')


Tag URL:






<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>




Is there a way to check that the source code referred to above
was the one used to create the JAR of the ".class" files.
[Out of curiosity, not suspicion, of course...]



Yes, you can look at the end of the META-INF/MANIFEST.MS file 
embedded
in the jar. The second-to-last entry is called 
Implementation-Build. It
is automatically created by maven-jgit-buildnumber-plugin and 
contains
the SHA1 identifier of the last commit used for the build. Here, 
is is
befd8ebd96b8ef5a06b59dccb22bd55064e31c34, so we can check it 
really

corresponds to the expected status of the git repository.



Can this be considered "secure", i.e. can't this entry in the 
MANIFEST
file be modified to be the checksum of the repository but with the 
.class

files being substitued with those coming from another compilation?



Modifying anything in the jar (either this entry within the 
manifest or
any class) will modify the jar signature. So as long as people do 
check
the global MD5, SHA1 or gpg signature we provide with our build, 
they

are safe to assume the artifacts are Apache artifacts.

This is not different from how releases are done with subversion as 
the
source code control system, or even in C or C++ as the language. At 
one

time, the release manager does perform a compilation and the fellow
reviewers check the result. There is no fullproof process here, as
always when security is involved. Even using an automated build and
automatic signing on an Apache server would involve trust (i.e. one
should assume that the server has not been tampered with, that the 
build
process really does what it is expected to do, that the artifacts 
put to

review are really the one created by the automatic process ...).

Another point is that what we officially release is the source, 
which

can be reviewed by external users. The binary parts are merely a
convenience.



That's an interesting point to come back to since it looks like the
most time-consuming part of a release is not related to the sources!

Isn't it conceivable that a release could just be a commit 
identifier

and a checksum of the repository?

If the binaries are a just a convenience, why put so much effort in 
it?

As a convenience, the artefacts could be produced after the release,
accompanied with all the "caveat" notes which you mentioned.

That would certainly increase the release rate.


Binary releases still need to be reviewed to ensure that the correct 
N

& L files are present, and that the archives don't contain material
with disallowed licenses.

It's not unknown for automated build processes to include files that
should not be present.



I fail to see the difference of principle between the "release" context
and, say, the daily snapshot context.
What I mean is that there seem to be a contradiction between saying 
that
a "release" is only about _source_ and the obligation to check 
_binaries_.


It can occur that disallowed material is, at some point in time, part 
of

the repository and/or the snapshot binaries.
However, what is forbidden is... forbidden, at all times.

If it is indeed a problem to distribute forbidden material, shouldn't
this be corrected in the repository? [That's indeed what you did with
the blocking of the release.]

Then again, once the repository is "clean", it can be tagged and that
tagged _source_ is the release.

Non-compliant binaries would thus only be the result of a "mistake"
(if the build system is flawed, it's another problem, unrelated to
the released contents, which is _source_) to be corrected per se.
My proposition is that it's an independent step: once the build
system is adjusted to the expectations, "correct" binaries can be
generated from the same tagged release.


Gilles


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



Re: [ANNOUNCEMENT] Apache Commons Math 3.4 Released

2014-12-28 Thread Gilles

Hello Luc.

On Sun, 28 Dec 2014 17:06:05 +0100, Luc Maisonobe wrote:

The Apache Commons Team is pleased to announce the availability of
Apache Commons Math 3.4.


Thank you for all the work (release + howto).

Happy New Year,
Gilles



[...]



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



Re: [Math] What's in a release

2014-12-28 Thread Gilles

Hi.

On Sun, 28 Dec 2014 09:43:34 +0100, Luc Maisonobe wrote:

Le 28/12/2014 00:22, sebb a écrit :
On 27 December 2014 at 22:19, Gilles  
wrote:

On Sat, 27 Dec 2014 17:48:05 +, sebb wrote:


On 24 December 2014 at 15:11, Gilles 
 wrote:


On Wed, 24 Dec 2014 15:52:12 +0100, Luc Maisonobe wrote:



Le 24/12/2014 15:04, Gilles a écrit :



On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe wrote:



Le 24/12/2014 03:36, Gilles a écrit :



On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:



This is a [VOTE] for releasing Apache Commons Math 3.4 from 
release

candidate 3.

Tag name:
  MATH_3_4_RC3 (signature can be checked from git using 'git 
tag

-v')

Tag URL:








<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>




Is there a way to check that the source code referred to 
above

was the one used to create the JAR of the ".class" files.
[Out of curiosity, not suspicion, of course...]




Yes, you can look at the end of the META-INF/MANIFEST.MS file 
embedded
in the jar. The second-to-last entry is called 
Implementation-Build.

It
is automatically created by maven-jgit-buildnumber-plugin and 
contains
the SHA1 identifier of the last commit used for the build. 
Here, is is
befd8ebd96b8ef5a06b59dccb22bd55064e31c34, so we can check it 
really

corresponds to the expected status of the git repository.



Can this be considered "secure", i.e. can't this entry in the 
MANIFEST
file be modified to be the checksum of the repository but with 
the

.class
files being substitued with those coming from another 
compilation?




Modifying anything in the jar (either this entry within the 
manifest or
any class) will modify the jar signature. So as long as people 
do check
the global MD5, SHA1 or gpg signature we provide with our build, 
they

are safe to assume the artifacts are Apache artifacts.

This is not different from how releases are done with subversion 
as the
source code control system, or even in C or C++ as the language. 
At one
time, the release manager does perform a compilation and the 
fellow
reviewers check the result. There is no fullproof process here, 
as
always when security is involved. Even using an automated build 
and
automatic signing on an Apache server would involve trust (i.e. 
one
should assume that the server has not been tampered with, that 
the build
process really does what it is expected to do, that the 
artifacts put to

review are really the one created by the automatic process ...).

Another point is that what we officially release is the source, 
which

can be reviewed by external users. The binary parts are merely a
convenience.




That's an interesting point to come back to since it looks like 
the
most time-consuming part of a release is not related to the 
sources!


Isn't it conceivable that a release could just be a commit 
identifier

and a checksum of the repository?

If the binaries are a just a convenience, why put so much effort 
in it?
As a convenience, the artefacts could be produced after the 
release,

accompanied with all the "caveat" notes which you mentioned.

That would certainly increase the release rate.



Binary releases still need to be reviewed to ensure that the 
correct N
& L files are present, and that the archives don't contain 
material

with disallowed licenses.

It's not unknown for automated build processes to include files 
that

should not be present.



I fail to see the difference of principle between the "release" 
context

and, say, the daily snapshot context.


Snapshots are not (should not) be promoted to the general public as
releases of the ASF.

What I mean is that there seem to be a contradiction between saying 
that
a "release" is only about _source_ and the obligation to check 
_binaries_.


There is no contradiction here.
The ASF releases source, they are required in a release.
Binaries are optional.
That does not mean that the ASF mirror system can be used to
distribute arbitrary binaries.

It can occur that disallowed material is, at some point in time, 
part of

the repository and/or the snapshot binaries.
However, what is forbidden is... forbidden, at all times.


As with most things, this is not a strict dichotomy.

If it is indeed a problem to distribute forbidden material, 
shouldn't
this be corrected in the repository? [That's indeed what you did 
with

the blocking of the release.]


If the repo is discovered to contain disallowed material, it needs 
to

be removed.

Then again, once the repository is "clean", it can be tagged and 
that

tagged _source_ is the release.


Not quite.

A release is a source archive that is voted on and distributed via 
the

ASF mirror system.
The contents must agree with the source tag, but the source tag is 
not

the release.


Non-compliant binaries would thus only be the result of a "mistake"
(if

Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Sun, 28 Dec 2014 20:21:32 -0700, Phil Steitz wrote:

On 12/28/14 11:46 AM, Gilles wrote:

Hi.

On Sun, 28 Dec 2014 09:43:34 +0100, Luc Maisonobe wrote:

Le 28/12/2014 00:22, sebb a écrit :

On 27 December 2014 at 22:19, Gilles
 wrote:

On Sat, 27 Dec 2014 17:48:05 +, sebb wrote:


On 24 December 2014 at 15:11, Gilles
 wrote:


On Wed, 24 Dec 2014 15:52:12 +0100, Luc Maisonobe wrote:



Le 24/12/2014 15:04, Gilles a écrit :



On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe wrote:



Le 24/12/2014 03:36, Gilles a écrit :



On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:



This is a [VOTE] for releasing Apache Commons Math 3.4
from release
candidate 3.

Tag name:
  MATH_3_4_RC3 (signature can be checked from git using
'git tag
-v')

Tag URL:









<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>





Is there a way to check that the source code referred to
above
was the one used to create the JAR of the ".class" files.
[Out of curiosity, not suspicion, of course...]




Yes, you can look at the end of the META-INF/MANIFEST.MS
file embedded
in the jar. The second-to-last entry is called
Implementation-Build.
It
is automatically created by maven-jgit-buildnumber-plugin
and contains
the SHA1 identifier of the last commit used for the build.
Here, is is
befd8ebd96b8ef5a06b59dccb22bd55064e31c34, so we can check
it really
corresponds to the expected status of the git repository.



Can this be considered "secure", i.e. can't this entry in
the MANIFEST
file be modified to be the checksum of the repository but
with the
.class
files being substitued with those coming from another
compilation?




Modifying anything in the jar (either this entry within the
manifest or
any class) will modify the jar signature. So as long as
people do check
the global MD5, SHA1 or gpg signature we provide with our
build, they
are safe to assume the artifacts are Apache artifacts.

This is not different from how releases are done with
subversion as the
source code control system, or even in C or C++ as the
language. At one
time, the release manager does perform a compilation and the
fellow
reviewers check the result. There is no fullproof process
here, as
always when security is involved. Even using an automated
build and
automatic signing on an Apache server would involve trust
(i.e. one
should assume that the server has not been tampered with,
that the build
process really does what it is expected to do, that the
artifacts put to
review are really the one created by the automatic process
...).

Another point is that what we officially release is the
source, which
can be reviewed by external users. The binary parts are
merely a
convenience.




That's an interesting point to come back to since it looks
like the
most time-consuming part of a release is not related to the
sources!

Isn't it conceivable that a release could just be a commit
identifier
and a checksum of the repository?

If the binaries are a just a convenience, why put so much
effort in it?
As a convenience, the artefacts could be produced after the
release,
accompanied with all the "caveat" notes which you mentioned.

That would certainly increase the release rate.



Binary releases still need to be reviewed to ensure that the
correct N
& L files are present, and that the archives don't contain
material
with disallowed licenses.

It's not unknown for automated build processes to include
files that
should not be present.



I fail to see the difference of principle between the "release"
context
and, say, the daily snapshot context.


Snapshots are not (should not) be promoted to the general public 
as

releases of the ASF.


What I mean is that there seem to be a contradiction between
saying that
a "release" is only about _source_ and the obligation to check
_binaries_.


There is no contradiction here.
The ASF releases source, they are required in a release.
Binaries are optional.
That does not mean that the ASF mirror system can be used to
distribute arbitrary binaries.


It can occur that disallowed material is, at some point in
time, part of
the repository and/or the snapshot binaries.
However, what is forbidden is... forbidden, at all times.


As with most things, this is not a strict dichotomy.


If it is indeed a problem to distribute forbidden material,
shouldn't
this be corrected in the repository? [That's indeed what you
did with
the blocking of the release.]


If the repo is discovered to contain disallowed material, it
needs to
be removed.


Then again, once the repository is "clean", it can be tagged
and that
tagged _source_ is the release.


Not quite.

A release is a source archive that is voted on and distributed
via the
ASF mirror system.
The contents must agree with the source tag, but the source tag
is not
the release.


Non-compliant binaries would thus only be t

Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Mon, 29 Dec 2014 10:54:59 +, sebb wrote:
On 29 December 2014 at 10:36, Gilles  
wrote:

On Sun, 28 Dec 2014 20:21:32 -0700, Phil Steitz wrote:


On 12/28/14 11:46 AM, Gilles wrote:


Hi.

On Sun, 28 Dec 2014 09:43:34 +0100, Luc Maisonobe wrote:


Le 28/12/2014 00:22, sebb a écrit :


On 27 December 2014 at 22:19, Gilles
 wrote:


On Sat, 27 Dec 2014 17:48:05 +, sebb wrote:



On 24 December 2014 at 15:11, Gilles
 wrote:



On Wed, 24 Dec 2014 15:52:12 +0100, Luc Maisonobe wrote:




Le 24/12/2014 15:04, Gilles a écrit :




On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe wrote:




Le 24/12/2014 03:36, Gilles a écrit :




On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:




This is a [VOTE] for releasing Apache Commons Math 3.4
from release
candidate 3.

Tag name:
  MATH_3_4_RC3 (signature can be checked from git using
'git tag
-v')

Tag URL:











<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>





Is there a way to check that the source code referred to
above
was the one used to create the JAR of the ".class" files.
[Out of curiosity, not suspicion, of course...]





Yes, you can look at the end of the META-INF/MANIFEST.MS
file embedded
in the jar. The second-to-last entry is called
Implementation-Build.
It
is automatically created by maven-jgit-buildnumber-plugin
and contains
the SHA1 identifier of the last commit used for the build.
Here, is is
befd8ebd96b8ef5a06b59dccb22bd55064e31c34, so we can check
it really
corresponds to the expected status of the git repository.



Can this be considered "secure", i.e. can't this entry in
the MANIFEST
file be modified to be the checksum of the repository but
with the
.class
files being substitued with those coming from another
compilation?





Modifying anything in the jar (either this entry within the
manifest or
any class) will modify the jar signature. So as long as
people do check
the global MD5, SHA1 or gpg signature we provide with our
build, they
are safe to assume the artifacts are Apache artifacts.

This is not different from how releases are done with
subversion as the
source code control system, or even in C or C++ as the
language. At one
time, the release manager does perform a compilation and the
fellow
reviewers check the result. There is no fullproof process
here, as
always when security is involved. Even using an automated
build and
automatic signing on an Apache server would involve trust
(i.e. one
should assume that the server has not been tampered with,
that the build
process really does what it is expected to do, that the
artifacts put to
review are really the one created by the automatic process
...).

Another point is that what we officially release is the
source, which
can be reviewed by external users. The binary parts are
merely a
convenience.





That's an interesting point to come back to since it looks
like the
most time-consuming part of a release is not related to the
sources!

Isn't it conceivable that a release could just be a commit
identifier
and a checksum of the repository?

If the binaries are a just a convenience, why put so much
effort in it?
As a convenience, the artefacts could be produced after the
release,
accompanied with all the "caveat" notes which you mentioned.

That would certainly increase the release rate.




Binary releases still need to be reviewed to ensure that the
correct N
& L files are present, and that the archives don't contain
material
with disallowed licenses.

It's not unknown for automated build processes to include
files that
should not be present.



I fail to see the difference of principle between the "release"
context
and, say, the daily snapshot context.



Snapshots are not (should not) be promoted to the general public 
as

releases of the ASF.


What I mean is that there seem to be a contradiction between
saying that
a "release" is only about _source_ and the obligation to check
_binaries_.



There is no contradiction here.
The ASF releases source, they are required in a release.
Binaries are optional.
That does not mean that the ASF mirror system can be used to
distribute arbitrary binaries.


It can occur that disallowed material is, at some point in
time, part of
the repository and/or the snapshot binaries.
However, what is forbidden is... forbidden, at all times.



As with most things, this is not a strict dichotomy.


If it is indeed a problem to distribute forbidden material,
shouldn't
this be corrected in the repository? [That's indeed what you
did with
the blocking of the release.]



If the repo is discovered to contain disallowed material, it
needs to
be removed.


Then again, once the repository is "clean", it can be tagged
and that
tagged _source_ is the release.



Not quite.

A release is a source archive that is voted on and distributed
via the
ASF mirror system.
The conte

Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Mon, 29 Dec 2014 16:21:05 +0100, Thomas Neidhart wrote:

On 12/29/2014 04:21 AM, Phil Steitz wrote:

On 12/28/14 11:46 AM, Gilles wrote:

Hi.

On Sun, 28 Dec 2014 09:43:34 +0100, Luc Maisonobe wrote:

Le 28/12/2014 00:22, sebb a écrit :

On 27 December 2014 at 22:19, Gilles
 wrote:

On Sat, 27 Dec 2014 17:48:05 +, sebb wrote:


On 24 December 2014 at 15:11, Gilles
 wrote:


On Wed, 24 Dec 2014 15:52:12 +0100, Luc Maisonobe wrote:



Le 24/12/2014 15:04, Gilles a écrit :



On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe wrote:



Le 24/12/2014 03:36, Gilles a écrit :



On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:



This is a [VOTE] for releasing Apache Commons Math 3.4
from release
candidate 3.

Tag name:
  MATH_3_4_RC3 (signature can be checked from git using
'git tag
-v')

Tag URL:









<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>





Is there a way to check that the source code referred to
above
was the one used to create the JAR of the ".class" files.
[Out of curiosity, not suspicion, of course...]




Yes, you can look at the end of the META-INF/MANIFEST.MS
file embedded
in the jar. The second-to-last entry is called
Implementation-Build.
It
is automatically created by maven-jgit-buildnumber-plugin
and contains
the SHA1 identifier of the last commit used for the build.
Here, is is
befd8ebd96b8ef5a06b59dccb22bd55064e31c34, so we can check
it really
corresponds to the expected status of the git repository.



Can this be considered "secure", i.e. can't this entry in
the MANIFEST
file be modified to be the checksum of the repository but
with the
.class
files being substitued with those coming from another
compilation?




Modifying anything in the jar (either this entry within the
manifest or
any class) will modify the jar signature. So as long as
people do check
the global MD5, SHA1 or gpg signature we provide with our
build, they
are safe to assume the artifacts are Apache artifacts.

This is not different from how releases are done with
subversion as the
source code control system, or even in C or C++ as the
language. At one
time, the release manager does perform a compilation and the
fellow
reviewers check the result. There is no fullproof process
here, as
always when security is involved. Even using an automated
build and
automatic signing on an Apache server would involve trust
(i.e. one
should assume that the server has not been tampered with,
that the build
process really does what it is expected to do, that the
artifacts put to
review are really the one created by the automatic process
...).

Another point is that what we officially release is the
source, which
can be reviewed by external users. The binary parts are
merely a
convenience.




That's an interesting point to come back to since it looks
like the
most time-consuming part of a release is not related to the
sources!

Isn't it conceivable that a release could just be a commit
identifier
and a checksum of the repository?

If the binaries are a just a convenience, why put so much
effort in it?
As a convenience, the artefacts could be produced after the
release,
accompanied with all the "caveat" notes which you mentioned.

That would certainly increase the release rate.



Binary releases still need to be reviewed to ensure that the
correct N
& L files are present, and that the archives don't contain
material
with disallowed licenses.

It's not unknown for automated build processes to include
files that
should not be present.



I fail to see the difference of principle between the "release"
context
and, say, the daily snapshot context.


Snapshots are not (should not) be promoted to the general public 
as

releases of the ASF.


What I mean is that there seem to be a contradiction between
saying that
a "release" is only about _source_ and the obligation to check
_binaries_.


There is no contradiction here.
The ASF releases source, they are required in a release.
Binaries are optional.
That does not mean that the ASF mirror system can be used to
distribute arbitrary binaries.


It can occur that disallowed material is, at some point in
time, part of
the repository and/or the snapshot binaries.
However, what is forbidden is... forbidden, at all times.


As with most things, this is not a strict dichotomy.


If it is indeed a problem to distribute forbidden material,
shouldn't
this be corrected in the repository? [That's indeed what you
did with
the blocking of the release.]


If the repo is discovered to contain disallowed material, it
needs to
be removed.


Then again, once the repository is "clean", it can be tagged
and that
tagged _source_ is the release.


Not quite.

A release is a source archive that is voted on and distributed
via the
ASF mirror system.
The contents must agree with the source tag, but the source tag
is not
the 

Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Tue, 30 Dec 2014 02:09:42 +0100, Bernd Eckenfels wrote:

That thread gets deep. :)

I just wanted to comment on "releasing only
source is faster because of less checks". I disagree with that, most
release delay/time is due to preparation work. Failed (binary) checks
are typically for a reason which would also be present in the source
(especially the POM), so it does not really reduce the number of
rework.


RM is a streamlined procedure: so, if you do (say) 10 steps rather
than 15, it will objectively take less time, and this is compounded
by the additional tests which should (ideally) be performed by the
reviewers. [Thus delaying the release.]


(At least not in most cases, so two votes will actually make us
more work not less).


The additional work exactly amounts to sending _one_ additional mail.

Then, as I noted,
 * some releases will be done as before (same work)
 * some releases will be "source only" (less work)
 * some releases will be two-steps, possibly performed by two different
   people (i.e. less work for each RM)

Of course, each release means some work has to be done; then IIUC your
point, the fewer releases the better. :-}


Regards,
Gilles



Gruss
Bernd



 Am Tue, 30 Dec 2014 02:05:29
+0100 schrieb Gilles :


On Mon, 29 Dec 2014 10:54:59 +, sebb wrote:
> On 29 December 2014 at 10:36, Gilles 


> wrote:
>> On Sun, 28 Dec 2014 20:21:32 -0700, Phil Steitz wrote:
>>>
>>> On 12/28/14 11:46 AM, Gilles wrote:
>>>>
>>>> Hi.
>>>>
>>>> On Sun, 28 Dec 2014 09:43:34 +0100, Luc Maisonobe wrote:
>>>>>
>>>>> Le 28/12/2014 00:22, sebb a écrit :
>>>>>>
>>>>>> On 27 December 2014 at 22:19, Gilles
>>>>>>  wrote:
>>>>>>>
>>>>>>> On Sat, 27 Dec 2014 17:48:05 +, sebb wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> On 24 December 2014 at 15:11, Gilles
>>>>>>>>  wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, 24 Dec 2014 15:52:12 +0100, Luc Maisonobe wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Le 24/12/2014 15:04, Gilles a écrit :
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Le 24/12/2014 03:36, Gilles a écrit :
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, 23 Dec 2014 14:02:40 +0100, luc wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This is a [VOTE] for releasing Apache Commons Math 
3.4

>>>>>>>>>>>>>> from release
>>>>>>>>>>>>>> candidate 3.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Tag name:
>>>>>>>>>>>>>>   MATH_3_4_RC3 (signature can be checked from git 
using

>>>>>>>>>>>>>> 'git tag
>>>>>>>>>>>>>> -v')
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Tag URL:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 
<https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=befd8ebd96b8ef5a06b59dccb22bd55064e31c34>

>>>>>>>>>>>>

Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Tue, 30 Dec 2014 02:36:24 +0100, Bernd Eckenfels wrote:

Hello,

Am Tue, 30 Dec 2014 02:29:38 +0100
schrieb Gilles :


On Tue, 30 Dec 2014 02:09:42 +0100, Bernd Eckenfels wrote:
> That thread gets deep. :)
>
> I just wanted to comment on "releasing only
> source is faster because of less checks". I disagree with that, 
most

> release delay/time is due to preparation work. Failed (binary)
> checks are typically for a reason which would also be present in
> the source (especially the POM), so it does not really reduce the
> number of rework.

RM is a streamlined procedure: so, if you do (say) 10 steps rather
than 15, it will objectively take less time, and this is compounded
by the additional tests which should (ideally) be performed by the
reviewers. [Thus delaying the release.]


The problem is not the small additional time for the last 5 steps but
the large time for redoing all steps (on veto).


That's not my experience. [I particularly hated to have to delete
manually some files inside Nexus: Wrong click, and up for another
round... :-/]
Moreover, most of the initial tasks are shared between the active
contributors (committing pending patches, cleaing up code, evaluating
pending issues).  And the collective effort is hopefully triggered by
the perspective of the release.


> (At least not in most cases, so two votes will actually make us
> more work not less).

The additional work exactly amounts to sending _one_ additional 
mail.


The actual work is not the vote mail but the people doing the
preparation and the review.


Yes, and that is _exactly_ the same work because the total work for
the two steps combined is the sum of each of the steps! ;-)



Then, as I noted,
  * some releases will be done as before (same work)
  * some releases will be "source only" (less work)


Not much, you still have to check if the source actually works and 
can

be build, produces sane archives and so on.


Well, no. Source-only is source-only; sane compilation is always
implicitly checked by the "test" target, which is the minimum
required to ensure that the source is OK.




  * some releases will be two-steps, possibly performed by two
different people (i.e. less work for each RM)


And more work in sum, not only for the RMs but also the reviewers. 
(and
the users which want to use the source release with maven like 
anybody

there days)


I'd expect that most source would come with "convenience" binaries.
The main point is that some "official" release can be provided more
quickly if the circumstance would require it (e.g. urgent bug fix or
new feature for a user who would be satisfied with a source release).

But I dont mind, if a project wants to do a source release only, 
thats

fine with me, I just don't see the advantage.


In one word: Flexibility.

Gilles



Gruss
Bernd



Of course, each release means some work has to be done; then IIUC 
your

point, the fewer releases the better. :-}





>  Am Tue, 30 Dec 2014 02:05:29
> +0100 schrieb Gilles :
>
>> On Mon, 29 Dec 2014 10:54:59 +, sebb wrote:
>> > On 29 December 2014 at 10:36, Gilles
>> 
>> > wrote:
>> >> On Sun, 28 Dec 2014 20:21:32 -0700, Phil Steitz wrote:
>> >>>
>> >>> On 12/28/14 11:46 AM, Gilles wrote:
>> >>>>
>> >>>> Hi.
>> >>>>
>> >>>> On Sun, 28 Dec 2014 09:43:34 +0100, Luc Maisonobe wrote:
>> >>>>>
>> >>>>> Le 28/12/2014 00:22, sebb a écrit :
>> >>>>>>
>> >>>>>> On 27 December 2014 at 22:19, Gilles
>> >>>>>>  wrote:
>> >>>>>>>
>> >>>>>>> On Sat, 27 Dec 2014 17:48:05 +, sebb wrote:
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> On 24 December 2014 at 15:11, Gilles
>> >>>>>>>>  wrote:
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> On Wed, 24 Dec 2014 15:52:12 +0100, Luc Maisonobe 
wrote:

>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> Le 24/12/2014 15:04, Gilles a écrit :
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe
>> >>>>>>>>>>> wrote:
>> >>>>>>>>>>>>
>> >>>>>&g

Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Tue, 30 Dec 2014 01:48:20 +, sebb wrote:
On 30 December 2014 at 01:36, Bernd Eckenfels 
 wrote:

Hello,

Am Tue, 30 Dec 2014 02:29:38 +0100
schrieb Gilles :


On Tue, 30 Dec 2014 02:09:42 +0100, Bernd Eckenfels wrote:
> That thread gets deep. :)
>
> I just wanted to comment on "releasing only
> source is faster because of less checks". I disagree with that, 
most

> release delay/time is due to preparation work. Failed (binary)
> checks are typically for a reason which would also be present in
> the source (especially the POM), so it does not really reduce the
> number of rework.

RM is a streamlined procedure: so, if you do (say) 10 steps rather
than 15, it will objectively take less time, and this is compounded
by the additional tests which should (ideally) be performed by the
reviewers. [Thus delaying the release.]


The problem is not the small additional time for the last 5 steps 
but

the large time for redoing all steps (on veto).



> (At least not in most cases, so two votes will actually make us
> more work not less).

The additional work exactly amounts to sending _one_ additional 
mail.


The actual work is not the vote mail but the people doing the
preparation and the review.



Then, as I noted,
  * some releases will be done as before (same work)
  * some releases will be "source only" (less work)


Not much, you still have to check if the source actually works and 
can

be build, produces sane archives and so on.


  * some releases will be two-steps, possibly performed by two
different people (i.e. less work for each RM)


And more work in sum, not only for the RMs but also the reviewers. 
(and
the users which want to use the source release with maven like 
anybody

there days)

But I dont mind, if a project wants to do a source release only, 
thats

fine with me, I just don't see the advantage.


How many end users just want a source release anyway?

I would expect most users to use the Maven jars, some will use the 
ASF

binaries, and a few will use the ASF source (AIUI Linux distros often
build from source).


So, you answered your own question.



Even if only the source is released, it's still necessary for the RM
and reviewers to build and test it.


Never said otherwise.
[Testing the sources is one git command and one maven command. Testing
the binaries requires downloading each of them and check the signatures
and/or checksums, each a separate command.]


Gilles




Gruss
Bernd



Of course, each release means some work has to be done; then IIUC 
your

point, the fewer releases the better. :-}





>  Am Tue, 30 Dec 2014 02:05:29
> +0100 schrieb Gilles :
>
>> On Mon, 29 Dec 2014 10:54:59 +, sebb wrote:
>> > On 29 December 2014 at 10:36, Gilles
>> 
>> > wrote:
>> >> On Sun, 28 Dec 2014 20:21:32 -0700, Phil Steitz wrote:
>> >>>
>> >>> On 12/28/14 11:46 AM, Gilles wrote:
>> >>>>
>> >>>> Hi.
>> >>>>
>> >>>> On Sun, 28 Dec 2014 09:43:34 +0100, Luc Maisonobe wrote:
>> >>>>>
>> >>>>> Le 28/12/2014 00:22, sebb a écrit :
>> >>>>>>
>> >>>>>> On 27 December 2014 at 22:19, Gilles
>> >>>>>>  wrote:
>> >>>>>>>
>> >>>>>>> On Sat, 27 Dec 2014 17:48:05 +, sebb wrote:
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> On 24 December 2014 at 15:11, Gilles
>> >>>>>>>>  wrote:
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> On Wed, 24 Dec 2014 15:52:12 +0100, Luc Maisonobe 
wrote:

>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> Le 24/12/2014 15:04, Gilles a écrit :
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> On Wed, 24 Dec 2014 09:31:46 +0100, Luc Maisonobe
>> >>>>>>>>>>> wrote:
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> Le 24/12/2014 03:36, Gilles a écrit :
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>

Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Tue, 30 Dec 2014 01:38:12 +, sebb wrote:
On 30 December 2014 at 01:29, Gilles  
wrote:

On Tue, 30 Dec 2014 02:09:42 +0100, Bernd Eckenfels wrote:


That thread gets deep. :)

I just wanted to comment on "releasing only
source is faster because of less checks". I disagree with that, 
most
release delay/time is due to preparation work. Failed (binary) 
checks
are typically for a reason which would also be present in the 
source

(especially the POM), so it does not really reduce the number of
rework.



RM is a streamlined procedure: so, if you do (say) 10 steps rather
than 15, it will objectively take less time, and this is compounded
by the additional tests which should (ideally) be performed by the
reviewers. [Thus delaying the release.]


(At least not in most cases, so two votes will actually make us
more work not less).



The additional work exactly amounts to sending _one_ additional 
mail.


No.

Both source and binary release need to be checked and voted on.
And the votes need to be tallied, and successful releases have to be
published, and unsuccessful ones dropped.


Yes, so?
If a certain RC would be vetoed only because of a problem with the
binaries?  The source could have otherwise been released.



Checking the source release requires (for the reviewer) downloading
all the artifacts and tags.
If the releases are separated in time some of this may have to be 
repeated.


What "may have to be repeated" exactly?
You wouldn't have to repeat whatever has been succesfully voted on.
If source was released, you'd only have to check the binaries 
(signature),

not the repository.



Even for the RM role, it is more work overall.


Then, as I noted,
 * some releases will be done as before (same work)
 * some releases will be "source only" (less work)
 * some releases will be two-steps, possibly performed by two 
different

   people (i.e. less work for each RM)

Of course, each release means some work has to be done; then IIUC 
your

point, the fewer releases the better. :-}


I'm sorry, but I think you are glossing over several stages in your
presentation of the process.

If you really think your process is going to save work, please detail
the exact stages necessary in both cases.


Why do you see this in black or white?
I never (and I repeated that several times already) intended to ask
that all RM perform a two-step procedure: Anyone willing to RM as usual
will obviously do it as he pleases.

Every time the issue of "we should release more often" comes up, almost
everyone agrees.  Every time a discussion occurs on the RM issue, 
several

people complain about the complexity of the procedure.
I then propose something to _try_ and improve that situation 
(sometimes)

and suddenly, the current procedure is found more efficient than ever.


This information will be needed anyway as documentation if it is ever
agreed upon.


For source-only release, the information is the same as compiled by Luc
(leaving out the Nexus-related steps and possibly replacing the bunch 
of

files copied to "https://dist.apache.org/repos/dist"; with the tarball
referred to previously).

IMO, the contradiction is obvious between talk of releasing source-only
and nit-picking that amounts to actually refuse to consider source-only
releases.


Good night,
Gilles


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



Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Tue, 30 Dec 2014 02:12:51 +, sebb wrote:
On 30 December 2014 at 02:06, Gilles  
wrote:

On Tue, 30 Dec 2014 01:48:20 +, sebb wrote:


On 30 December 2014 at 01:36, Bernd Eckenfels 


wrote:


Hello,

Am Tue, 30 Dec 2014 02:29:38 +0100
schrieb Gilles :


On Tue, 30 Dec 2014 02:09:42 +0100, Bernd Eckenfels wrote:
> That thread gets deep. :)
>
> I just wanted to comment on "releasing only
> source is faster because of less checks". I disagree with that, 
most

> release delay/time is due to preparation work. Failed (binary)
> checks are typically for a reason which would also be present 
in
> the source (especially the POM), so it does not really reduce 
the

> number of rework.

RM is a streamlined procedure: so, if you do (say) 10 steps 
rather
than 15, it will objectively take less time, and this is 
compounded
by the additional tests which should (ideally) be performed by 
the

reviewers. [Thus delaying the release.]



The problem is not the small additional time for the last 5 steps 
but

the large time for redoing all steps (on veto).



> (At least not in most cases, so two votes will actually make us
> more work not less).

The additional work exactly amounts to sending _one_ additional 
mail.



The actual work is not the vote mail but the people doing the
preparation and the review.



Then, as I noted,
  * some releases will be done as before (same work)
  * some releases will be "source only" (less work)



Not much, you still have to check if the source actually works and 
can

be build, produces sane archives and so on.


  * some releases will be two-steps, possibly performed by two
different people (i.e. less work for each RM)



And more work in sum, not only for the RMs but also the reviewers. 
(and
the users which want to use the source release with maven like 
anybody

there days)

But I dont mind, if a project wants to do a source release only, 
thats

fine with me, I just don't see the advantage.



How many end users just want a source release anyway?

I would expect most users to use the Maven jars, some will use the 
ASF
binaries, and a few will use the ASF source (AIUI Linux distros 
often

build from source).



So, you answered your own question.



Even if only the source is released, it's still necessary for the 
RM

and reviewers to build and test it.



Never said otherwise.
[Testing the sources is one git command and one maven command.


Not so.

The source archive has to be downloaded, and its sigs and hashes 
checked.
It also has to be compared against the SCM tag, and the N&L files 
checked.


(1)
download == git clone tag_url
--> No download of a signed archive.

(2)
git tag -v tag_name

(3)
build == maven test site

[Sorry: that was 3 commands.]

Then maybe people in the know can examine the license issues, like you 
did.

But I hardly count that every reviewer would do it. [Besides, it should
have been done at the time the code was introduced. And, as I said in 
the
other thread, we might seriously need to consider requesting an actual 
legal
review if the matter is so sensitive: Submit to a lawyer when the 
contents

is changed; no need to check when the contents is left untouched.]


Testing
the binaries requires downloading each of them and check the 
signatures

and/or checksums, each a separate command.]


The files can be downloaded as a single bunch, especially if one uses
the SVN dist/dev staging area.

It's easy enough to write shell scripts to check all hashes and sigs
in a single directory.


When I've asked at this thread's start (under subject "Git question"),
the answer was that this does not strictly prove the link between 
source

code and binaries.
Hence the attempt to segregate what can be proved from what cannot.
Back to square one.


Gilles


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



Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Tue, 30 Dec 2014 03:05:57 +, sebb wrote:
On 30 December 2014 at 02:40, Gilles  
wrote:

On Tue, 30 Dec 2014 01:38:12 +, sebb wrote:


On 30 December 2014 at 01:29, Gilles  
wrote:


On Tue, 30 Dec 2014 02:09:42 +0100, Bernd Eckenfels wrote:



That thread gets deep. :)

I just wanted to comment on "releasing only
source is faster because of less checks". I disagree with that, 
most
release delay/time is due to preparation work. Failed (binary) 
checks
are typically for a reason which would also be present in the 
source

(especially the POM), so it does not really reduce the number of
rework.




RM is a streamlined procedure: so, if you do (say) 10 steps rather
than 15, it will objectively take less time, and this is 
compounded

by the additional tests which should (ideally) be performed by the
reviewers. [Thus delaying the release.]


(At least not in most cases, so two votes will actually make us
more work not less).




The additional work exactly amounts to sending _one_ additional 
mail.



No.

Both source and binary release need to be checked and voted on.
And the votes need to be tallied, and successful releases have to 
be

published, and unsuccessful ones dropped.



Yes, so?


I was just pointing out that separate source and binary releases are
more than just an additional e-mail.

The total effort is bigger.
Also it's usually less efficient to split the same jobs over two
sessions because of the extra prep.
Which is easier - committing the same change to two files as one
commit or two at different times?


If a certain RC would be vetoed only because of a problem with the
binaries?  The source could have otherwise been released.


Yes, but how frequent is that?
Usually there is an issue with the source that has caused the issue.

Besides, how many Commons users want just the source?



Checking the source release requires (for the reviewer) downloading
all the artifacts and tags.
If the releases are separated in time some of this may have to be
repeated.



What "may have to be repeated" exactly?


Downloading the tag is one step that may have to be repeated.
I also check the sigs against the current KEYS file by loading that
into a temp GPG keyring.


You wouldn't have to repeat whatever has been succesfully voted on.
If source was released, you'd only have to check the binaries 
(signature),

not the repository.



Even for the RM role, it is more work overall.


Then, as I noted,
 * some releases will be done as before (same work)
 * some releases will be "source only" (less work)
 * some releases will be two-steps, possibly performed by two 
different

   people (i.e. less work for each RM)

Of course, each release means some work has to be done; then IIUC 
your

point, the fewer releases the better. :-}



I'm sorry, but I think you are glossing over several stages in your
presentation of the process.

If you really think your process is going to save work, please 
detail

the exact stages necessary in both cases.



Why do you see this in black or white?


I'm not; I'm trying to understand the two approaches in order to
compare them.


I never (and I repeated that several times already) intended to ask
that all RM perform a two-step procedure: Anyone willing to RM as 
usual

will obviously do it as he pleases.

Every time the issue of "we should release more often" comes up, 
almost
everyone agrees.  Every time a discussion occurs on the RM issue, 
several

people complain about the complexity of the procedure.
I then propose something to _try_ and improve that situation 
(sometimes)
and suddenly, the current procedure is found more efficient than 
ever.


That is not an accurate summary of what I wrote.


It is an interpretation of the consequence of what you write: no gain
whatsoever, in no circumstances.
You cannot prove that, yet you ask me to prove that there could be a
gain; it's not fair.


I just don't see how performing the release in separate stages is
going to help reduce the total work done.


This is black and white. My position is that, in some cases (however
rare maybe-but-we-don't-know-since-you-don't-even-want-to-try), it
might be useful to vote on a source-only release.

You gave one example (linux distributions), I gave one (urgent 
fix/feature).
Why should we argue on the overall time saved, or not, rather than 
agree

on the principle (even if it proves useless _most_ of the time)?

This information will be needed anyway as documentation if it is 
ever

agreed upon.



For source-only release, the information is the same as compiled by 
Luc
(leaving out the Nexus-related steps and possibly replacing the 
bunch of
files copied to "https://dist.apache.org/repos/dist"; with the 
tarball

referred to previously).

IMO, the contradiction is obvious between talk of releasing 
source-only
and nit-picking that amounts to actually refuse to consider 
source-onl

Re: [Math] What's in a release

2014-12-29 Thread Gilles

On Tue, 30 Dec 2014 03:22:32 +, sebb wrote:
On 30 December 2014 at 03:05, Gilles  
wrote:

On Tue, 30 Dec 2014 02:12:51 +, sebb wrote:


On 30 December 2014 at 02:06, Gilles  
wrote:


On Tue, 30 Dec 2014 01:48:20 +, sebb wrote:



On 30 December 2014 at 01:36, Bernd Eckenfels 


wrote:



Hello,

Am Tue, 30 Dec 2014 02:29:38 +0100
schrieb Gilles :


On Tue, 30 Dec 2014 02:09:42 +0100, Bernd Eckenfels wrote:
> That thread gets deep. :)
>
> I just wanted to comment on "releasing only
> source is faster because of less checks". I disagree with 
that, most
> release delay/time is due to preparation work. Failed 
(binary)
> checks are typically for a reason which would also be present 
in
> the source (especially the POM), so it does not really reduce 
the

> number of rework.

RM is a streamlined procedure: so, if you do (say) 10 steps 
rather
than 15, it will objectively take less time, and this is 
compounded
by the additional tests which should (ideally) be performed by 
the

reviewers. [Thus delaying the release.]




The problem is not the small additional time for the last 5 
steps but

the large time for redoing all steps (on veto).


> (At least not in most cases, so two votes will actually make 
us

> more work not less).

The additional work exactly amounts to sending _one_ additional 
mail.




The actual work is not the vote mail but the people doing the
preparation and the review.



Then, as I noted,
  * some releases will be done as before (same work)
  * some releases will be "source only" (less work)




Not much, you still have to check if the source actually works 
and can

be build, produces sane archives and so on.


  * some releases will be two-steps, possibly performed by two
different people (i.e. less work for each RM)




And more work in sum, not only for the RMs but also the 
reviewers. (and
the users which want to use the source release with maven like 
anybody

there days)

But I dont mind, if a project wants to do a source release only, 
thats

fine with me, I just don't see the advantage.




How many end users just want a source release anyway?

I would expect most users to use the Maven jars, some will use 
the ASF
binaries, and a few will use the ASF source (AIUI Linux distros 
often

build from source).




So, you answered your own question.



Even if only the source is released, it's still necessary for the 
RM

and reviewers to build and test it.




Never said otherwise.
[Testing the sources is one git command and one maven command.



Not so.

The source archive has to be downloaded, and its sigs and hashes 
checked.
It also has to be compared against the SCM tag, and the N&L files 
checked.



(1)
download == git clone tag_url
--> No download of a signed archive.


But the signed archive is what is released.
The ASF releases open source which is distributed from the ASF mirror 
system.


So the signed archive is a fundamental part of the RC vote.


So it's either that or point (2).
[Both check the signature of the source code.]


(2)
git tag -v tag_name



No idea what that does.


Cf. previous paragraph.




(3)
build == maven test site

[Sorry: that was 3 commands.]

Then maybe people in the know can examine the license issues, like 
you did.
But I hardly count that every reviewer would do it. [Besides, it 
should
have been done at the time the code was introduced. And, as I said 
in the
other thread, we might seriously need to consider requesting an 
actual legal
review if the matter is so sensitive: Submit to a lawyer when the 
contents

is changed; no need to check when the contents is left untouched.]


The contents is potentially changed with every commit.
Yes, the N&L files should be kept up to date as each commit is added.

However, this is not always done, so it's important to check them
before release.


I contend that there should be a big fat warning that those files 
should

not be modified lightly. And if they are, an issue _must_ be opened on
the bug-tracking system with the rationale for the new contents, or a
request that knwoledgeable people examine the situation.



Testing
the binaries requires downloading each of them and check the 
signatures

and/or checksums, each a separate command.]



The files can be downloaded as a single bunch, especially if one 
uses

the SVN dist/dev staging area.

It's easy enough to write shell scripts to check all hashes and 
sigs

in a single directory.



When I've asked at this thread's start (under subject "Git 
question"),
the answer was that this does not strictly prove the link between 
source

code and binaries.



Hence the attempt to segregate what can be proved from what cannot.
Back to square one.


Provable provenance is only part of what the vote should be about.

It's not possible in general to prove that a binary is derived from a 
source.

However, it is possible to document

Re: [Math] Missing documentation for ParameterValidator

2014-12-30 Thread Gilles

On Tue, 30 Dec 2014 08:27:24 -0500, Bruce A Johnson wrote:

When I click on the documentation link ( at
http://commons.apache.org/proper/commons-math/apidocs/index.html
<http://commons.apache.org/proper/commons-math/apidocs/index.html> )
for ParameterValidator in the fitting.leastsquares package  I get:

The requested URL

/proper/commons-math/javadocs/api-3.4/org/apache/commons/math3/fitting/leastsquares/ParameterValidator.html
was not found on this server.


You are right. It's strange.
The problem does not seem to be with the generation of the apidocs
during the build (the page exists on my machine).
Perhaps a glitch during the transmission over to the Apache server?

Could you please file a report on the bug-tracking system?


Thanks,
Gilles


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



[Math] HTML files

2014-12-30 Thread Gilles

Hi.

While looking at MATH-1184, I notice that the HTML files in the
repository have this line:
---CUT---

---CUT---

When I generate them, I have
---CUT---

---CUT---

Which version should be under svn?


Gilles


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



[Math] Possibly wrong fix for MATH-1184

2014-12-30 Thread Gilles

Hello.

I don't think I've followed the correct path for updating the
web site to fix MATH-1184.

Reading the "release howto" I understood that I could modify
the checked-out repository and do "svn commit"; it worked and
the missing files are now available from the web server.
But reading further into the notes, I don't understand anymore:
there is a mention of the "staging area" but that one stayed
empty, and then, of using a link to publish the site (which
I didn't do, yet published it was).

Clarifications are needed...

Gilles


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



Re: [Math] Possibly wrong fix for MATH-1184

2014-12-30 Thread Gilles

On Tue, 30 Dec 2014 21:48:04 +, sebb wrote:
On 30 December 2014 at 19:41, Luc Maisonobe  
wrote:

Le 30/12/2014 19:30, Gilles a écrit :

Hello.

I don't think I've followed the correct path for updating the
web site to fix MATH-1184.

Reading the "release howto" I understood that I could modify
the checked-out repository and do "svn commit"; it worked and
the missing files are now available from the web server.
But reading further into the notes, I don't understand anymore:
there is a mention of the "staging area" but that one stayed
empty, and then, of using a link to publish the site (which
I didn't do, yet published it was).

Clarifications are needed...


It should depend on the origin from which your repository was first
checked out. If it was
https://svn.apache.org/repos/infra/websites/staging then it points 
to

the staging area, whereas if it was
https://svn.apache.org/repos/infra/websites/production, then it 
directly

points to the live site.

It now seems to me the automatic checkout done by maven uses already 
the

production part, so the staging part is not used. Looking into the
staging area (using svn ls), it seems to contain only top level 
stuff

(probably commons-site) and not components.


The instructions in the release howto indicates:

svn checkout 
https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-math


It's clear that by following that, I directly updated the
"production" site; hence my wondering about the following
step involving

  https://cms.apache.org/commons/publish

which in that case should do nothing since the "staging"
area is empty...



AIUI the staging areas are only used by the CMS system.
One edits the source using CMS and it is built into the (shared)
staging area.

Assuming no-one else publishes it first (!) this allows one to review
the changes.
Publication involves updating production from staging.

The website document area consists of a workspace for the production 
area.

This is updated by svnpubsub when the production area changes.


There is no instruction on "svnpubsub" in the CM's release howto.

I updated the "latest" apidocs.  Is there a way to also fix the
"api-3.4" directory.  What is the recommended way to go from the
local site created with "mvn site" to the "staging" to the location
corresponding to release X.y ?


Gilles


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



Re: Committing Code, JIRA Gardening

2015-01-03 Thread Gilles

On Sat, 3 Jan 2015 18:01:22 +, sebb wrote:
On 3 January 2015 at 12:32, Benedikt Ritter  
wrote:

Hello Carl,

2015-01-03 2:49 GMT+01:00 Carl Hall :

Thanks, Benedikt and Mark.  I have made my first commit (woo!) and 
will
start working through JIRA to clear out the easy stuff.  Is there 
any rule
(by writ or general practice) for closing tickets that haven't seen 
any
action in some time?  Seems like old tickets that haven't moved in 
a while
(e.g. [1]) might be candidates for "reopen if this becomes 
interesting

again."



There is no strict procedure for this kind of issues. In your 
particular
case, Sebb has already commented that this addition doesn't really 
make
sense. Since the contributor hasn't reacted on the comment, I think 
it's

okay to close this issue as Won't fix.
Note, that we only set the Fix Version for issues that have actually 
been
implemented. So when an issue is closed as Won't fix, duplicate, 
invalid
etc, we remove the fix version, so that it doesn't show up in the 
reports

for this version.


In many components the fix version is only added when the fix is
actually implemented.
i.e. it is treated as "has been fixed in version x" rather than "this
is an issue to be fixed in version x"



JIRA allows both (when the issue is created and when it is resolved).
Setting the "Fix version" allows a clearer view of what needs to be
done before the next release can happen.

Gilles


[...]


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



Re: [math][dbcp][pool] Apachecon NA (Austin)

2015-01-03 Thread Gilles

On Fri, 02 Jan 2015 14:45:15 -0700, Phil Steitz wrote:

I am thinking about submitting a proposal or two for Austin.  I
could update / extend the pool/dbcp talk I did last year or try a
[math] talk.  I would love to have company developing and / or
presenting either of these.  Is anyone else interested in working on
a talk on either of these?  Any suggestions on content?

For [math] I have always wanted to do a high level overview followed
by some real world examples.  It would be great to make the examples
part a community effort.


It reminded me that I had yet to improve one toy example in the
"src/userguide/java/org/apache/commons/math3/userguide" section
of the repository.
It also occurred to me that I don't know how to compile and run
the applications stored there. :(
Is there a maven incantation to do so?



For [pool] / [dbcp] I did the boring part last year - summary of
changes in the 2.x versions, migration, etc. - so this year I could
focus on examples and best practices.  Again, a great thing to work
together on.

Another crazy idea I have had is a talk on how hard it is to design
stable APIs, using [math] as an example.


Is it really hard?  Isn't it rather that some developers just lack
the willpower to support less than ideal APIs? :-}


That talk would also call
out some of the special challenges that you run into modelling
mathematical objects using OO constructs.


That would be interesting.
Are mathematical concepts really more special to model than other
concepts?
I rather think that the issues arise from trying to sort out the
general from the particular, trying to implement generic algorithms
to solve as many practical problems as possible.
This quite naturally lead to desing decisions that may be challenged
by the appearance of unforeseen cases (or better programming skills).


Might be a little painful
to develop, but also maybe a little cathartic ;)


It would certainly be useful to understand where the pain really
comes from.


Regards,
Gilles


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



Re: [math][dbcp][pool] Apachecon NA (Austin)

2015-01-04 Thread Gilles

Hello.

On Sun, 04 Jan 2015 12:09:35 +0100, Luc Maisonobe wrote:

Hi all,

Le 04/01/2015 02:07, Gilles a écrit :

On Fri, 02 Jan 2015 14:45:15 -0700, Phil Steitz wrote:

I am thinking about submitting a proposal or two for Austin.  I
could update / extend the pool/dbcp talk I did last year or try a
[math] talk.  I would love to have company developing and / or
presenting either of these.  Is anyone else interested in working 
on

a talk on either of these?  Any suggestions on content?

For [math] I have always wanted to do a high level overview 
followed
by some real world examples.  It would be great to make the 
examples

part a community effort.


It reminded me that I had yet to improve one toy example in the
"src/userguide/java/org/apache/commons/math3/userguide" section
of the repository.
It also occurred to me that I don't know how to compile and run
the applications stored there. :(
Is there a maven incantation to do so?


No as maven does not know about this directory (and should not IMHO).


I think that we should have some way to
1. automatically compile its content (so that we can ensure that the
   source tree does not contain any non-compilable stuff) and
2. run selected classes (so that users easily see CM code at work)

It looks like it should not be too difficult (for an experienced
maven user, which I'm not) to create a profile for doing just that.
[I've seen there is an "exec" plugin that could do (2), but I
couldn't find where one can specifytan alternate source for
compilation.]





For [pool] / [dbcp] I did the boring part last year - summary of
changes in the 2.x versions, migration, etc. - so this year I could
focus on examples and best practices.  Again, a great thing to work
together on.

Another crazy idea I have had is a talk on how hard it is to design
stable APIs, using [math] as an example.


Is it really hard?  Isn't it rather that some developers just lack
the willpower to support less than ideal APIs? :-}


Yes, it is hard.


I wanted to stress exactly what you expand below, i.e. that needs are
changing, and that if we want to combine all the qualities of good
code (a.o. code that evolves with the developers' community, with
the users' community, with the language's state-of-the-art, with the
computers' power, etc.) we have to modify the APIs; it is a never
ending, but creative, task.
The alternative is, as I wrote above, to stick with less-than-ideal
APIs, and _that_ is not hard; but it is a dead end.




That talk would also call
out some of the special challenges that you run into modelling
mathematical objects using OO constructs.


That would be interesting.
Are mathematical concepts really more special to model than other
concepts?


No, the problem is that low level reusable components intended to be
used by lots of different users for lots of different needs are
difficult to set up. You have to meet conflicting needs and the
developers do not know in advance how their code will be used.


That's what I wrote below: "trying to implement generic algorithms
to solve as many practical problems as possible".
Thus: it is good to have generic, reusable, code (e.g. just from a
maintenance POV), but it at some point, it will conflict with
unexpected usage. Hence API change will be in order.


In many cases, things start with "someone scratching an itch" because
open-source developers are the first users of their stuff. The 
resulting

API is biased towards this first need. Low level reusable components
developers have to make lots of efforts to design something clean
enough to anticipate other uses. Even experienced low level reusable
components developers don't succeed in this part.


I totally and did not say otherwise.
The wrong way would be to have duplicate code all over the place to
tak care of each new usage. Since we try to avoid that, we'll need
to refactor when the "genericity" in one direction conflicts with
unanticipated usage.




I rather think that the issues arise from trying to sort out the
general from the particular, trying to implement generic algorithms
to solve as many practical problems as possible.


Perhaps, but it is really an important need for reusable components.


From a development POV, I thinks so too.
For black-box users, it is not. [They don't care about what's in the
box as long as it does the job; and "no duplicate code" is, for
instance, not a requirement.  But this a short-term view, since
maintenance will suffer and loss of quality will ensue.]


Another problem is that not moving forward (typically still staying
in the 3.X series instead of starting 4.0) creates additional
constraints. Trying to patch something wrong is much more difficult
than rewriting it, and sometimes it is even completely impossible if
wrong design choices cannot be changed.


+1


This quite naturally lead to desing decisions that

[Math] Maven profile for running the examples?

2015-01-04 Thread Gilles

Hi.

In the "src/userguide/java" directory, there are a few
self-contained usage examples.

I think that we should have some way to
1. automatically compile its content (so that we can ensure that the
   source tree does not contain any non-compilable stuff) and
2. run selected classes (so that users easily see CM code at work)

It looks like it should not be too difficult (for an experienced
maven user, which I'm not) to create a profile for doing just that.
[I've seen there is an "exec" plugin that could do (2), but I
didn't find where, in the "pom.xml", one can specify an alternate
directory for indicating which sources to compile.]


Thanks for any hint,
Gilles


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



Re: [Math] Maven profile for running the examples?

2015-01-05 Thread Gilles

On Sun, 4 Jan 2015 20:31:30 +, sebb wrote:

Did you see my mail from earlier today titled as below ?

Compiling and running examples


No, I missed it!


This explains how Commons NET examples are built and used.


Thanks for the reminder,
Gilles

On 4 January 2015 at 18:21, Gilles  
wrote:

Hi.

In the "src/userguide/java" directory, there are a few
self-contained usage examples.

I think that we should have some way to
1. automatically compile its content (so that we can ensure that the
   source tree does not contain any non-compilable stuff) and
2. run selected classes (so that users easily see CM code at work)

It looks like it should not be too difficult (for an experienced
maven user, which I'm not) to create a profile for doing just that.
[I've seen there is an "exec" plugin that could do (2), but I
didn't find where, in the "pom.xml", one can specify an alternate
directory for indicating which sources to compile.]


Thanks for any hint,
Gilles




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



Re: Compiling and running examples [was [math][dbcp][pool] Apachecon NA (Austin))

2015-01-05 Thread Gilles

On Sun, 4 Jan 2015 14:20:53 +, sebb wrote:
On 4 January 2015 at 12:58, Gilles  
wrote:

Hello.

On Sun, 04 Jan 2015 12:09:35 +0100, Luc Maisonobe wrote:


Hi all,

Le 04/01/2015 02:07, Gilles a écrit :



It reminded me that I had yet to improve one toy example in the
"src/userguide/java/org/apache/commons/math3/userguide" section
of the repository.
It also occurred to me that I don't know how to compile and run
the applications stored there. :(
Is there a maven incantation to do so?



No as maven does not know about this directory (and should not 
IMHO).



I think that we should have some way to
1. automatically compile its content (so that we can ensure that the
   source tree does not contain any non-compilable stuff) and
2. run selected classes (so that users easily see CM code at work)

It looks like it should not be too difficult (for an experienced
maven user, which I'm not) to create a profile for doing just that.
[I've seen there is an "exec" plugin that could do (2), but I
couldn't find where one can specifytan alternate source for
compilation.]


Commons NET has an examples/ tree which is compiled and released as a
separate bundle.

Note that this is under src/main/java, not under the userguide, but 
it

should be relatively easy to maintain the examples there and copy to
(or link from) the userguide.

The NET examples jar has a feature you might find useful.
It defines the Main-Class and the Class-Path.

This means it can be invoked using

java -jar commons-net-examples.jar ExampleName parameters.


This indeed looks like a easy way to run the code.


This assumes that the user has put the examples and main net jars in
the same directory.


Would everyone agree to move the "userguide" code into the "main"
directory?
[Of course, this would imply that we need to modify the "pom.xml"
in order to exclude the "userguide" code from the CM library JAR.]

Gilles


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



Re: [math][dbcp][pool] Apachecon NA (Austin)

2015-01-05 Thread Gilles

Hi.

On Sun, 04 Jan 2015 14:37:41 -0700, Phil Steitz wrote:

On 1/4/15 5:58 AM, Gilles wrote:

Hello.

On Sun, 04 Jan 2015 12:09:35 +0100, Luc Maisonobe wrote:

Hi all,

Le 04/01/2015 02:07, Gilles a écrit :

On Fri, 02 Jan 2015 14:45:15 -0700, Phil Steitz wrote:

I am thinking about submitting a proposal or two for Austin.  I
could update / extend the pool/dbcp talk I did last year or try a
[math] talk.  I would love to have company developing and / or
presenting either of these.  Is anyone else interested in
working on
a talk on either of these?  Any suggestions on content?

For [math] I have always wanted to do a high level overview
followed
by some real world examples.  It would be great to make the
examples
part a community effort.


It reminded me that I had yet to improve one toy example in the
"src/userguide/java/org/apache/commons/math3/userguide" section
of the repository.
It also occurred to me that I don't know how to compile and run
the applications stored there. :(
Is there a maven incantation to do so?


No as maven does not know about this directory (and should not
IMHO).


I think that we should have some way to
1. automatically compile its content (so that we can ensure that the
   source tree does not contain any non-compilable stuff) and
2. run selected classes (so that users easily see CM code at work)

It looks like it should not be too difficult (for an experienced
maven user, which I'm not) to create a profile for doing just that.
[I've seen there is an "exec" plugin that could do (2), but I
couldn't find where one can specifytan alternate source for
compilation.]





For [pool] / [dbcp] I did the boring part last year - summary of
changes in the 2.x versions, migration, etc. - so this year I
could
focus on examples and best practices.  Again, a great thing to
work
together on.

Another crazy idea I have had is a talk on how hard it is to
design
stable APIs, using [math] as an example.


Is it really hard?  Isn't it rather that some developers just lack
the willpower to support less than ideal APIs? :-}


Yes, it is hard.


I wanted to stress exactly what you expand below, i.e. that needs 
are

changing, and that if we want to combine all the qualities of good
code (a.o. code that evolves with the developers' community, with
the users' community, with the language's state-of-the-art, with the
computers' power, etc.) we have to modify the APIs; it is a never
ending, but creative, task.
The alternative is, as I wrote above, to stick with less-than-ideal
APIs, and _that_ is not hard; but it is a dead end.


If you make good choices initially, it does not have to be a dead
end.  That's the challenge.


Getting it right from the outset is indeed hard.
In my own, obviously limited, programming experience, it _never_
occurred.

Since, as Luc mentioned, development in CM (almost?) is always the
result of some definite (and more or less urgent) need of a single
developer, it looks pretty impossible to assume that we can get it
right from the outset. That is, unless we change the policy "that
whoever does the job...": it should rather become that whoever
does the job must show ("prove") that there is no better way to
implement the proposed functionality, which, needless to say, would
put all development to a final rest!


Some of our APIs have been pretty
stable.


IMHO, some would benefit from being changed. I mean that some are
not stable because they are the best that can be, but because the
emphasis is on stability.


The problem with constantly changing APIs is they become
effectively worthless for real world use.


It depends.  Strictly it is not true, as I've mentioned several
times: people who are happy with some version "A.b" do not have
to change anything, ever.  Furthermore they can benefit from
new features (and refactoring) in version "C.d" by using another
JAR along the old one.

The sole problem here is that we don't want to maintain old
versions.


Even for me, as a *math
developer*, I have some of my own hacked / forked / semi-patched
versions of [math] things because I don't have time to refactor and
retest all of the code that uses now compat-broken stuff.


According to the above, that's because of your decision to not
use older CM libraries.


I am not
advocating that we don't ever change APIs - just that we be
conservative in doing so so that users can count on some level of
stability.


I'm of the opinion that it should not be at the expense of the
other qualities of "good code".


Somehow R does this pretty well.

The last comment is what I was thinking about exploring when I said
that modeling math algorithms using OO constructs is tricky.  Maybe
they are just much smarter than us (to some extent, I am sure that
is true); but I think R also has the advantage that it is really a
pretty much procedural setup (I know,

Re: [math][dbcp][pool] Apachecon NA (Austin)

2015-01-05 Thread Gilles

On Mon, 5 Jan 2015 16:15:34 +, sebb wrote:
On 5 January 2015 at 15:54, Phil Steitz  
wrote:

On 1/5/15 5:39 AM, Gilles wrote:

Hi.

On Sun, 04 Jan 2015 14:37:41 -0700, Phil Steitz wrote:

On 1/4/15 5:58 AM, Gilles wrote:

Hello.

On Sun, 04 Jan 2015 12:09:35 +0100, Luc Maisonobe wrote:

Hi all,

Le 04/01/2015 02:07, Gilles a écrit :

On Fri, 02 Jan 2015 14:45:15 -0700, Phil Steitz wrote:
I am thinking about submitting a proposal or two for Austin.  
I

could update / extend the pool/dbcp talk I did last year or
try a
[math] talk.  I would love to have company developing and / or
presenting either of these.  Is anyone else interested in
working on
a talk on either of these?  Any suggestions on content?

For [math] I have always wanted to do a high level overview
followed
by some real world examples.  It would be great to make the
examples
part a community effort.


It reminded me that I had yet to improve one toy example in the
"src/userguide/java/org/apache/commons/math3/userguide" section
of the repository.
It also occurred to me that I don't know how to compile and run
the applications stored there. :(
Is there a maven incantation to do so?


No as maven does not know about this directory (and should not
IMHO).


I think that we should have some way to
1. automatically compile its content (so that we can ensure that
the
   source tree does not contain any non-compilable stuff) and
2. run selected classes (so that users easily see CM code at 
work)


It looks like it should not be too difficult (for an experienced
maven user, which I'm not) to create a profile for doing just 
that.

[I've seen there is an "exec" plugin that could do (2), but I
couldn't find where one can specifytan alternate source for
compilation.]





For [pool] / [dbcp] I did the boring part last year - summary 
of

changes in the 2.x versions, migration, etc. - so this year I
could
focus on examples and best practices.  Again, a great thing to
work
together on.

Another crazy idea I have had is a talk on how hard it is to
design
stable APIs, using [math] as an example.


Is it really hard?  Isn't it rather that some developers just
lack
the willpower to support less than ideal APIs? :-}


Yes, it is hard.


I wanted to stress exactly what you expand below, i.e. that
needs are
changing, and that if we want to combine all the qualities of 
good

code (a.o. code that evolves with the developers' community, with
the users' community, with the language's state-of-the-art, with
the
computers' power, etc.) we have to modify the APIs; it is a never
ending, but creative, task.
The alternative is, as I wrote above, to stick with 
less-than-ideal

APIs, and _that_ is not hard; but it is a dead end.


If you make good choices initially, it does not have to be a dead
end.  That's the challenge.


Getting it right from the outset is indeed hard.
In my own, obviously limited, programming experience, it _never_
occurred.


I agree its hard.  I think we have actually succeeded in a few
places.  For example, the PRNG framework has been stable since first
release.  Admittedly, the core interface is just extracted from
java.util.random, but the the abstract superclass and framework for
the generators has worked very well.  Another example is the
distributions package.  Other than fiddling with sampling, the core
there has been stable since 1.x (10+ years now).  We have added /
extended capabilities and many, many distributions; but very little
incompatible change.



Since, as Luc mentioned, development in CM (almost?) is always the
result of some definite (and more or less urgent) need of a single
developer, it looks pretty impossible to assume that we can get it
right from the outset. That is, unless we change the policy "that
whoever does the job...": it should rather become that whoever
does the job must show ("prove") that there is no better way to
implement the proposed functionality, which, needless to say, would
put all development to a final rest!


Personally I think that when we add things - and more importantly
when we consider changing existing APIs - we do need to think about
extensibility and how to model the problem.  The benefit of having a
community is that it does not have to be "one developer solving his
/ her problem."  The itch can certainly come from one developer, but
the solution belongs to the community.



Some of our APIs have been pretty
stable.


IMHO, some would benefit from being changed. I mean that some are
not stable because they are the best that can be, but because the
emphasis is on stability.


The problem with constantly changing APIs is they become
effectively worthless for real world use.


It depends.  Strictly it is not true, as I've mentioned several
times: people who are happy with some version "A.b" do not have
to change anything, ever.  Furthermore they can benefit from
new features (and

Re: [Math] Maven profile for running the examples?

2015-01-05 Thread Gilles

On Sun, 4 Jan 2015 20:31:30 +, sebb wrote:

Did you see my mail from earlier today titled as below ?

Compiling and running examples

This explains how Commons NET examples are built and used.


Copy-pasting Sebb's proposal from the other thread:

   [Examples] can be invoked using java -jar commons-net-examples.jar 
ExampleName parameters.
   This assumes that the user has put the examples and main net jars 
in the same directory.


Would everyone agree to move the "userguide" code into the "main"
directory?
[Of course, this would imply that we need to modify the "pom.xml"
in order to exclude the "userguide" code from the CM library JAR.]

Please let me know if this solution is fine, so that I can modify
the CM's "pom.xml" file and move the code accordingly.


Thanks,
Gilles

On 4 January 2015 at 18:21, Gilles  
wrote:

Hi.

In the "src/userguide/java" directory, there are a few
self-contained usage examples.

I think that we should have some way to
1. automatically compile its content (so that we can ensure that the
   source tree does not contain any non-compilable stuff) and
2. run selected classes (so that users easily see CM code at work)

It looks like it should not be too difficult (for an experienced
maven user, which I'm not) to create a profile for doing just that.
[I've seen there is an "exec" plugin that could do (2), but I
didn't find where, in the "pom.xml", one can specify an alternate
directory for indicating which sources to compile.]


Thanks for any hint,
Gilles



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



Re: [Math] Maven profile for running the examples?

2015-01-05 Thread Gilles

On Mon, 05 Jan 2015 20:43:18 +0100, Luc Maisonobe wrote:

Le 05/01/2015 18:41, Gilles a écrit :

On Sun, 4 Jan 2015 20:31:30 +, sebb wrote:

Did you see my mail from earlier today titled as below ?

Compiling and running examples

This explains how Commons NET examples are built and used.


Copy-pasting Sebb's proposal from the other thread:

   [Examples] can be invoked using java -jar 
commons-net-examples.jar

ExampleName parameters.
   This assumes that the user has put the examples and main net 
jars

in the same directory.


Would everyone agree to move the "userguide" code into the "main"
directory?
[Of course, this would imply that we need to modify the "pom.xml"
in order to exclude the "userguide" code from the CM library JAR.]

Please let me know if this solution is fine, so that I can modify
the CM's "pom.xml" file and move the code accordingly.


No problem for me, as long as maven can find the docs.


Which docs?
I didn't intend to move the "userguide" document; only the Java
examples currently under "src/userguide/java" would be moved to
  "src/main"

Gilles



best regards,
Luc




Thanks,
Gilles

On 4 January 2015 at 18:21, Gilles  
wrote:

Hi.

In the "src/userguide/java" directory, there are a few
self-contained usage examples.

I think that we should have some way to
1. automatically compile its content (so that we can ensure that 
the

   source tree does not contain any non-compilable stuff) and
2. run selected classes (so that users easily see CM code at work)

It looks like it should not be too difficult (for an experienced
maven user, which I'm not) to create a profile for doing just 
that.

[I've seen there is an "exec" plugin that could do (2), but I
didn't find where, in the "pom.xml", one can specify an alternate
directory for indicating which sources to compile.]


Thanks for any hint,
Gilles



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



Re: [Math] Maven profile for running the examples?

2015-01-05 Thread Gilles

On Mon, 5 Jan 2015 23:48:43 +0100, Bernd Eckenfels wrote:

Am Mon, 05 Jan 2015 23:35:49 +0100
schrieb Gilles :


Which docs?
I didn't intend to move the "userguide" document; only the Java
examples currently under "src/userguide/java" would be moved to
   "src/main"


I wont mention multiple modules (also this might be a case where it
makes sense, especially if you want to create a dedicated example jar
file with its own set of dependencies and as it might avoid calling
ant scripts for it), but I would keep the source separated and rather
add an additional source directory (with the buildhelper).


org.codehaus.mojo
build-helper-maven-plugin


initialize
add-source


src/userguide/java






NB: this will produce classes on target/classes so you need to 
exclude

them in the JAR.



Thanks.
I find it cleaner to keep the examples separated from the "main" code;
so if this does the trick, I'd prefer it that way.
We'd nevertheless need that separate JAR that contains the examples,
and a mean to select which of the examples must be run, as proposed
by Sebb.

Regards,
Gilles


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



Re: [Math] Maven profile for running the examples?

2015-01-06 Thread Gilles

On Tue, 06 Jan 2015 08:51:32 +0100, Thomas Neidhart wrote:

On 01/05/2015 11:58 PM, Gilles wrote:

On Mon, 5 Jan 2015 23:48:43 +0100, Bernd Eckenfels wrote:

Am Mon, 05 Jan 2015 23:35:49 +0100
schrieb Gilles :


Which docs?
I didn't intend to move the "userguide" document; only the Java
examples currently under "src/userguide/java" would be moved to
   "src/main"


I wont mention multiple modules (also this might be a case where it
makes sense, especially if you want to create a dedicated example 
jar

file with its own set of dependencies and as it might avoid calling
ant scripts for it), but I would keep the source separated and 
rather

add an additional source directory (with the buildhelper).


org.codehaus.mojo
build-helper-maven-plugin


initialize
add-source


src/userguide/java






NB: this will produce classes on target/classes so you need to 
exclude

them in the JAR.



Thanks.
I find it cleaner to keep the examples separated from the "main" 
code;

so if this does the trick, I'd prefer it that way.
We'd nevertheless need that separate JAR that contains the examples,
and a mean to select which of the examples must be run, as proposed
by Sebb.


The examples can not be added to the main code as there is an 
additional
dependency (xchart) that we do not want to add to commons-math in 
general.


It was never intended to ship the examples as part of the CM
library. [There are provisions in the "pom.xml" to prevent it (IIUC).]
IIUC, Sebb proposed that the source code be moved solely for
the purpose that maven would compile it with the default config.

IIUC, with Bernd's proposal, this move is thus not necessary.

An option would be to add it as part of the test code and use the 
"test"
scope for the dependency but for exactly this reason it was decided 
to

keep the two things apart (commons-math, userguide).


I have no problem with that, quite the contrary as I write above.

The original issue was: How do we run the examples?
Phil proposed an "ant" script, which I would have happily produced.
But then if "maven" can do it (with the suggested changes to the
"pom.xml"), it's IMO simpler to not have to run a different program.


Gilles


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



Re: [Math] Maven profile for running the examples?

2015-01-06 Thread Gilles

On Tue, 06 Jan 2015 17:49:35 +0100, Thomas Neidhart wrote:

On 01/06/2015 12:58 PM, Gilles wrote:

On Tue, 06 Jan 2015 08:51:32 +0100, Thomas Neidhart wrote:

On 01/05/2015 11:58 PM, Gilles wrote:

On Mon, 5 Jan 2015 23:48:43 +0100, Bernd Eckenfels wrote:

Am Mon, 05 Jan 2015 23:35:49 +0100
schrieb Gilles :


Which docs?
I didn't intend to move the "userguide" document; only the Java
examples currently under "src/userguide/java" would be moved to
   "src/main"


I wont mention multiple modules (also this might be a case where 
it
makes sense, especially if you want to create a dedicated example 
jar
file with its own set of dependencies and as it might avoid 
calling
ant scripts for it), but I would keep the source separated and 
rather

add an additional source directory (with the buildhelper).


org.codehaus.mojo
build-helper-maven-plugin


initialize
add-source


src/userguide/java






NB: this will produce classes on target/classes so you need to 
exclude

them in the JAR.



Thanks.
I find it cleaner to keep the examples separated from the "main" 
code;

so if this does the trick, I'd prefer it that way.
We'd nevertheless need that separate JAR that contains the 
examples,
and a mean to select which of the examples must be run, as 
proposed

by Sebb.


The examples can not be added to the main code as there is an 
additional

dependency (xchart) that we do not want to add to commons-math in
general.


It was never intended to ship the examples as part of the CM
library. [There are provisions in the "pom.xml" to prevent it 
(IIUC).]

IIUC, Sebb proposed that the source code be moved solely for
the purpose that maven would compile it with the default config.


I was not talking about packaging.


IIUC, with Bernd's proposal, this move is thus not necessary.


Neither will work, unless you add the relevant dependencies to the 
main

pom.xml which we certainly do not want.

I just wanted to point this out before anybody is doing a change.


As long as the CM library have no dependencies, is it a problem
that non-packaged (or separately packaged) code does have dependencies?

Or is it that it will be more complicated to ensure that there is no
such dependencies for CM itself once the "pom" file refers to them?

Or is it that really the "pom" file is not allowed to contain such
references?


The best option would certainly be a multi-module project, with the
examples / userguide a separate module, but this would require some
changes and a few months ago when we started doing this there was no
consensus about it.


The original issue was: How do we run the examples?
Phil proposed an "ant" script, which I would have happily produced.
But then if "maven" can do it (with the suggested changes to the
"pom.xml"), it's IMO simpler to not have to run a different program.


Right now, you can only run them directly in eclipse by adding a 
project

for them, but we could easily do the same as NET does.


The original request is: How do we run the examples?
To be more specific: how to run a specific example from the command 
line?


I'm perfectly fine with only modifying the "pom.xml" located in
  src/userguide

Would that work?
Do you readily know what needs to be added?


Gilles


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



Re: [Math] Maven profile for running the examples?

2015-01-06 Thread Gilles

On Tue, 06 Jan 2015 20:41:26 +0100, Thomas Neidhart wrote:

On 01/06/2015 07:28 PM, Gilles wrote:

On Tue, 06 Jan 2015 17:49:35 +0100, Thomas Neidhart wrote:

On 01/06/2015 12:58 PM, Gilles wrote:

On Tue, 06 Jan 2015 08:51:32 +0100, Thomas Neidhart wrote:

On 01/05/2015 11:58 PM, Gilles wrote:

On Mon, 5 Jan 2015 23:48:43 +0100, Bernd Eckenfels wrote:

Am Mon, 05 Jan 2015 23:35:49 +0100
schrieb Gilles :


Which docs?
I didn't intend to move the "userguide" document; only the 
Java
examples currently under "src/userguide/java" would be moved 
to

   "src/main"


I wont mention multiple modules (also this might be a case 
where it
makes sense, especially if you want to create a dedicated 
example jar
file with its own set of dependencies and as it might avoid 
calling
ant scripts for it), but I would keep the source separated and 
rather

add an additional source directory (with the buildhelper).


org.codehaus.mojo
build-helper-maven-plugin


initialize
add-source


src/userguide/java






NB: this will produce classes on target/classes so you need to
exclude
them in the JAR.



Thanks.
I find it cleaner to keep the examples separated from the "main" 
code;

so if this does the trick, I'd prefer it that way.
We'd nevertheless need that separate JAR that contains the 
examples,
and a mean to select which of the examples must be run, as 
proposed

by Sebb.


The examples can not be added to the main code as there is an
additional
dependency (xchart) that we do not want to add to commons-math in
general.


It was never intended to ship the examples as part of the CM
library. [There are provisions in the "pom.xml" to prevent it 
(IIUC).]

IIUC, Sebb proposed that the source code be moved solely for
the purpose that maven would compile it with the default config.


I was not talking about packaging.


IIUC, with Bernd's proposal, this move is thus not necessary.


Neither will work, unless you add the relevant dependencies to the 
main

pom.xml which we certainly do not want.

I just wanted to point this out before anybody is doing a change.


As long as the CM library have no dependencies, is it a problem
that non-packaged (or separately packaged) code does have 
dependencies?


Or is it that it will be more complicated to ensure that there is no
such dependencies for CM itself once the "pom" file refers to them?

Or is it that really the "pom" file is not allowed to contain such
references?


The userguide has dependencies and in order to compile it as part of 
the

"normal" commons-math codebase, e.g. using mvn compile, these
dependencies have to be specified in the pom.xml. Afaik the only way 
to
exclude these dependencies would be to use the scope "provided", but 
it
is certainly a solution I would not suggest as it wrongly implies 
that
commons-math has a reference to them, while in fact it hasn't, only 
the

userguide part.

Normally, you solve this situations by using a multi-module setup, as
said below.


The best option would certainly be a multi-module project, with the
examples / userguide a separate module, but this would require some
changes and a few months ago when we started doing this there was 
no

consensus about it.


The original issue was: How do we run the examples?
Phil proposed an "ant" script, which I would have happily 
produced.

But then if "maven" can do it (with the suggested changes to the
"pom.xml"), it's IMO simpler to not have to run a different 
program.


Right now, you can only run them directly in eclipse by adding a 
project

for them, but we could easily do the same as NET does.


The original request is: How do we run the examples?
To be more specific: how to run a specific example from the command 
line?


I'm perfectly fine with only modifying the "pom.xml" located in
  src/userguide

Would that work?
Do you readily know what needs to be added?


yes, but as sebb suggested, the easiest solution is certainly as 
follows:


 * create a commons-math-userguide.jar package using mvn package


Thus, copying the relevant from the "main" pom (that creates the
"tools" JAR) over to the pom in the userguide directory?


 * copy this jar together with necessary dependencies (xchart,
commons-math) into a directory
 * run java -cp . ExampleXXX parameters


That would be good enough, I guess.

The whole thing could be further simplified by creating a userguide 
jar

that already contains all dependencies in one jar.

There could even be scripts in the userguide that can be executed by 
a

user for this purpose.


That's what I meant, if "maven" can be considered as a script.

Gilles


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



[Math] Next release: 4.0 or 3.5 ?

2015-01-06 Thread Gilles

Hi.

Do we head towards 4.0, starting to implement  the dreaded
breakings?  ;-)


Gilles


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



Re: [Math] Next release: 4.0 or 3.5 ?

2015-01-06 Thread Gilles

On Tue, 06 Jan 2015 23:10:33 +0100, Gilles wrote:

Hi.

Do we head towards 4.0, starting to implement  the dreaded
breakings?  ;-)


I meant
  s/breaking/cleanup/
  s/breaking/improvement/
of course. :-)


Gilles


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



Re: [Math] Maven profile for running the examples?

2015-01-07 Thread Gilles

[...]


I have pushed the change to the userguide. To execute the example you 
do

the following:

 * go to commons-math folder, type mvn clean install
   this step is only needed if your local maven repository does not 
yet

   contain the latest commons-math snapshot
 * go to userguide folder (src/userguide), type mvn clean package
 * now you can run the examples like that:

java -cp target/commons-math3-examples-uber-3.5-SNAPSHOT.jar
org.apache.commons.math3.userguide.LowDiscrepancyGeneratorComparison


Very nice.

Thanks,
Gilles


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



<    1   2   3   4   5   6   7   8   9   10   >