You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by stain <gi...@git.apache.org> on 2015/03/21 00:42:49 UTC
[GitHub] jena pull request: Guava as shaded dependency
GitHub user stain opened a pull request:
https://github.com/apache/jena/pull/45
Guava as shaded dependency
(Pull request mainly for discussion)
Add Guava as a shaded dependency in a new module `jena-shadowed-ext`
that can then be used by `jena-core` for [JENA-901](https://issues.apache.org/jira/browse/JENA-901).
As this means `jena-core` gets a new dependencies (even our own!), and we have been shot down before for adding those in patch releases, this means a new minor version on anything from `jena-core` and downstream.
I did not use this shaded jar within Elephas as it does not itself use Guava - Elephas does however have conflicting version dependencies on Guava 11.0.2 (from provided hadoop-common 2.6.0), 16.0.1 (from curator-client) and 18.0 (from airline dependency in jena-elephas-stats). I therefore changed `jena-elephas` outdated dependencyManagement on 11.0.2 to [18.0,) -- although this could be reduced to 16 as jena-elephas-stats is a demo-app and it can upgrade to 18 locally in its own pom (ideally airline etc. should themselves use ranges)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/stain/jena guava
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/jena/pull/45.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #45
----
commit 623543a6c31a255d83be0bdb525c09a2f7fd0fac
Author: Stian Soiland-Reyes <st...@apache.org>
Date: 2015-03-20T23:13:49Z
jena-shadowed-ext containing guava 18.0
commit e8b53617dbb23eedb335a4f2ef3677e9607d1f00
Author: Stian Soiland-Reyes <st...@apache.org>
Date: 2015-03-20T23:24:22Z
Ignore dependency-reduced-pom.xml
Setting <dependencyReducedPomLocation>target/dependency-reduced-pom.xml might also work,
but see
https://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#dependencyReducedPomLocation
commit a0a75f46dbef59cf389cb1a53c5ed345ca63bd21
Author: Stian Soiland-Reyes <st...@apache.org>
Date: 2015-03-20T23:25:27Z
Bump minor versions as jena-core gains a dependency
commit 07b65e0f1e6024a0e9735e5ab497aae349d3f70b
Author: Stian Soiland-Reyes <st...@apache.org>
Date: 2015-03-20T23:27:41Z
typo
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] jena pull request: Guava as shaded dependency
Posted by stain <gi...@git.apache.org>.
Github user stain commented on a diff in the pull request:
https://github.com/apache/jena/pull/45#discussion_r26959470
--- Diff: jena-shadowed-ext/pom.xml ---
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-parent</artifactId>
+ <version>13-SNAPSHOT</version>
+ <relativePath>../jena-parent</relativePath>
+ </parent>
+ <artifactId>jena-shadowed-ext</artifactId>
+ <version>2.14.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>Apache Jena - Shadowed external libraries</name>
+ <description>
+ This module shadows some external libraries like Guava,
+ which we don't want to be depending on in their regular
+ package names, as they are likely to change/upgrade
+ externally and also be used in other libraries
+ in potentially conflicting versions.
+
+ This module uses the Shade plugin to re-package them
+ under the package name
+ org.apache.jena.ext and is also a valid OSGi bundle
+ (but should only be used by used by other Jena modules).
+
+ </description>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <!-- Version number specified explicitly and not in jena-parent,
+ as it should only be used here, and further shadowing/bundle/NOTICE
+ consideration might be needed on upgrade. -->
+ <version>18.0</version>
+ <!--
+ As Guava does not contain a NOTICE and is also
+ licensed under Apache License, no additional
+ NOTICE is required by us. In a way we should probably
+ NOT include our own NOTICE file in this JAR..
+ -->
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <artifactSet>
+ <includes>
+ <artifact>com.google.guava:guava</artifact>
+ </includes>
+ </artifactSet>
+ <relocations>
+ <relocation>
+ <pattern>com.google</pattern>
+ <shadedPattern>org.apache.jena.ext.com.google</shadedPattern>
--- End diff --
The relocation is needed because jena-shadowed-ext would effectively become
a second Guava implementation, which might be older or newer from what
might also be on the class path (as in Elephas / Hadoop). Maven uses only
groupId and artifactId to decide in versions.
You do not want those to mix, as you could end up with say
com.google.common.FooBuilder from Guava 16 and com.google.common.FooImpl
from 10.
There is only com.google.common now. If a later update of guava adds
additional packages, are you saying those should NOT be relocated, but left
in place? (This can be mitigated by modifying the file include patterns,
but that could lead to linkage errors )
On 22 Mar 2015 12:02, "Andy Seaborne" <no...@github.com> wrote:
> In jena-shadowed-ext/pom.xml
> <https://github.com/apache/jena/pull/45#discussion_r26902175>:
>
> > + <phase>package</phase>
> > + <goals>
> > + <goal>shade</goal>
> > + </goals>
> > + </execution>
> > + </executions>
> > + <configuration>
> > + <artifactSet>
> > + <includes>
> > + <artifact>com.google.guava:guava</artifact>
> > + </includes>
> > + </artifactSet>
> > + <relocations>
> > + <relocation>
> > + <pattern>com.google</pattern>
> > + <shadedPattern>org.apache.jena.ext.com.google</shadedPattern>
>
> More focused is to shade com.google.common and com.google.thirdparty
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/apache/jena/pull/45/files#r26902175>.
>
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] jena pull request: Guava as shaded dependency
Posted by afs <gi...@git.apache.org>.
Github user afs commented on a diff in the pull request:
https://github.com/apache/jena/pull/45#discussion_r26902175
--- Diff: jena-shadowed-ext/pom.xml ---
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-parent</artifactId>
+ <version>13-SNAPSHOT</version>
+ <relativePath>../jena-parent</relativePath>
+ </parent>
+ <artifactId>jena-shadowed-ext</artifactId>
+ <version>2.14.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>Apache Jena - Shadowed external libraries</name>
+ <description>
+ This module shadows some external libraries like Guava,
+ which we don't want to be depending on in their regular
+ package names, as they are likely to change/upgrade
+ externally and also be used in other libraries
+ in potentially conflicting versions.
+
+ This module uses the Shade plugin to re-package them
+ under the package name
+ org.apache.jena.ext and is also a valid OSGi bundle
+ (but should only be used by used by other Jena modules).
+
+ </description>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <!-- Version number specified explicitly and not in jena-parent,
+ as it should only be used here, and further shadowing/bundle/NOTICE
+ consideration might be needed on upgrade. -->
+ <version>18.0</version>
+ <!--
+ As Guava does not contain a NOTICE and is also
+ licensed under Apache License, no additional
+ NOTICE is required by us. In a way we should probably
+ NOT include our own NOTICE file in this JAR..
+ -->
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <artifactSet>
+ <includes>
+ <artifact>com.google.guava:guava</artifact>
+ </includes>
+ </artifactSet>
+ <relocations>
+ <relocation>
+ <pattern>com.google</pattern>
+ <shadedPattern>org.apache.jena.ext.com.google</shadedPattern>
--- End diff --
More focused is to shade com.google.common and com.google.thirdparty
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] jena pull request: Guava as shaded dependency
Posted by stain <gi...@git.apache.org>.
Github user stain commented on a diff in the pull request:
https://github.com/apache/jena/pull/45#discussion_r26986995
--- Diff: jena-shadowed-ext/pom.xml ---
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-parent</artifactId>
+ <version>13-SNAPSHOT</version>
+ <relativePath>../jena-parent</relativePath>
+ </parent>
+ <artifactId>jena-shadowed-ext</artifactId>
+ <version>2.14.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>Apache Jena - Shadowed external libraries</name>
+ <description>
+ This module shadows some external libraries like Guava,
+ which we don't want to be depending on in their regular
+ package names, as they are likely to change/upgrade
+ externally and also be used in other libraries
+ in potentially conflicting versions.
+
+ This module uses the Shade plugin to re-package them
+ under the package name
+ org.apache.jena.ext and is also a valid OSGi bundle
+ (but should only be used by used by other Jena modules).
+
+ </description>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <!-- Version number specified explicitly and not in jena-parent,
+ as it should only be used here, and further shadowing/bundle/NOTICE
+ consideration might be needed on upgrade. -->
+ <version>18.0</version>
+ <!--
+ As Guava does not contain a NOTICE and is also
+ licensed under Apache License, no additional
+ NOTICE is required by us. In a way we should probably
+ NOT include our own NOTICE file in this JAR..
+ -->
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <artifactSet>
+ <includes>
+ <artifact>com.google.guava:guava</artifact>
+ </includes>
+ </artifactSet>
+ <relocations>
+ <relocation>
+ <pattern>com.google</pattern>
+ <shadedPattern>org.apache.jena.ext.com.google</shadedPattern>
--- End diff --
`guava:18` is the only artifact that is selected to be shaded by the specified `<includes>` - so if that JAR contained other things under `com.google` (e.g. someone updates this to Guava 22 later) those would also be shaded. Is that not what we would want?
Anyway, for consistency's sake (to match the bundle export), I've modified it to only include files under `com.google.common` and `com.google.thirdparty`.
Note, transitives are not followed with the use of `<includes>`, so if the guava.pom started depending on other things, they would not get shaded. Alternatively I would need to use a different `<parent>` to avoid the <dependencies>` sneaking in from `jena-parent`, or try to keep matching `<excludes>` for those up to date here.
The current dependency of guava includes only:
```xml
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<optional>true</optional><!-- needed only for annotations -->
</dependency>
```
I have updated the pull request to use explicit packages for `com.google.common` and `com.google.thirdparty`.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] jena pull request: Guava as shaded dependency
Posted by afs <gi...@git.apache.org>.
Github user afs commented on a diff in the pull request:
https://github.com/apache/jena/pull/45#discussion_r26902155
--- Diff: jena-shadowed-ext/pom.xml ---
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-parent</artifactId>
+ <version>13-SNAPSHOT</version>
+ <relativePath>../jena-parent</relativePath>
+ </parent>
+ <artifactId>jena-shadowed-ext</artifactId>
+ <version>2.14.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>Apache Jena - Shadowed external libraries</name>
+ <description>
+ This module shadows some external libraries like Guava,
+ which we don't want to be depending on in their regular
+ package names, as they are likely to change/upgrade
+ externally and also be used in other libraries
+ in potentially conflicting versions.
+
+ This module uses the Shade plugin to re-package them
+ under the package name
+ org.apache.jena.ext and is also a valid OSGi bundle
+ (but should only be used by used by other Jena modules).
+
+ </description>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <!-- Version number specified explicitly and not in jena-parent,
+ as it should only be used here, and further shadowing/bundle/NOTICE
+ consideration might be needed on upgrade. -->
+ <version>18.0</version>
+ <!--
+ As Guava does not contain a NOTICE and is also
+ licensed under Apache License, no additional
+ NOTICE is required by us. In a way we should probably
+ NOT include our own NOTICE file in this JAR..
+ -->
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <artifactSet>
+ <includes>
+ <artifact>com.google.guava:guava</artifact>
+ </includes>
+ </artifactSet>
+ <relocations>
+ <relocation>
+ <pattern>com.google</pattern>
+ <shadedPattern>org.apache.jena.ext.com.google</shadedPattern>
+ </relocation>
+ </relocations>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
--- End diff --
I don't understand why this needed.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] jena pull request: Guava as shaded dependency
Posted by afs <gi...@git.apache.org>.
Github user afs commented on a diff in the pull request:
https://github.com/apache/jena/pull/45#discussion_r26977608
--- Diff: jena-shadowed-ext/pom.xml ---
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-parent</artifactId>
+ <version>13-SNAPSHOT</version>
+ <relativePath>../jena-parent</relativePath>
+ </parent>
+ <artifactId>jena-shadowed-ext</artifactId>
+ <version>2.14.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>Apache Jena - Shadowed external libraries</name>
+ <description>
+ This module shadows some external libraries like Guava,
+ which we don't want to be depending on in their regular
+ package names, as they are likely to change/upgrade
+ externally and also be used in other libraries
+ in potentially conflicting versions.
+
+ This module uses the Shade plugin to re-package them
+ under the package name
+ org.apache.jena.ext and is also a valid OSGi bundle
+ (but should only be used by used by other Jena modules).
+
+ </description>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <!-- Version number specified explicitly and not in jena-parent,
+ as it should only be used here, and further shadowing/bundle/NOTICE
+ consideration might be needed on upgrade. -->
+ <version>18.0</version>
+ <!--
+ As Guava does not contain a NOTICE and is also
+ licensed under Apache License, no additional
+ NOTICE is required by us. In a way we should probably
+ NOT include our own NOTICE file in this JAR..
+ -->
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <artifactSet>
+ <includes>
+ <artifact>com.google.guava:guava</artifact>
+ </includes>
+ </artifactSet>
+ <relocations>
+ <relocation>
+ <pattern>com.google</pattern>
+ <shadedPattern>org.apache.jena.ext.com.google</shadedPattern>
--- End diff --
I was wodnering what if there is a com.google, not related to guava unrelated that is not to be shaded.
I have been trying out:
<relocation><pattern>com.google.common</pattern>
then
<relocation><pattern>com.google.thirdparty</pattern>
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] jena pull request: Guava as shaded dependency
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/jena/pull/45
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---