Update pom files for preparing Apache release#3772
Conversation
|
@felixcheung This addresses the issue of including LICENSE-binary, NOTICE-binary, /licenses-binary for binary distribution tarbell. #3722 |
Codecov Report
@@ Coverage Diff @@
## master #3772 +/- ##
============================================
+ Coverage 67.02% 67.26% +0.24%
Complexity 4 4
============================================
Files 1027 1027
Lines 50798 50798
Branches 7091 7091
============================================
+ Hits 34045 34169 +124
+ Misses 14424 14295 -129
- Partials 2329 2334 +5
Continue to review full report at Codecov.
|
1. Changed the version from "0.016" to "0.1.0-SNAPSHOT" 2. Added two profiles (-Psrc-dist, -Pbin-dist) for creating binary, source distribution tarbell. For bin-dist profile, LICENSE-binary, NOTICE-binary, and licenses-binary are included to a distribution tarbell after removing "-binary" from their names. 3. Added "maven-remote-resources-plugin" to include NOTICE, LICENSE, DISCLAIMER files in META-INF/ for jar bundle. From now on, "mvn install -DskipTest" will only package the projects into jars. In order to create a binary distribution or source distribution, we will need to run the following commands: mvn install -Psrc-dist -DskipTests mvn install -Pbin-dist -DskipTests mvn install -Psrc-dist,bin-dist -DskipTests
mcvsubbu
left a comment
There was a problem hiding this comment.
Is there a way to specify the version in the top leve pom and use ${pinot-version} in others? Making sure that we change all versions correctly all the time seems to be painful
|
@mcvsubbu I don't think there's a way to do that. I have checked at least 5 apache projects and they all have version for each sub module. However, |
| </file> | ||
| </files> | ||
| <fileSets> | ||
| <!-- Rename liscenses-binary directory to licenses and include it to a distribution tarbell --> |
There was a problem hiding this comment.
liscenses-binary -> licenses-binary
There was a problem hiding this comment.
Thanks for the catch. I will resolve it with a follow-up pr.
| <id>source-release</id> | ||
| <formats> | ||
| <format>tar.gz</format> | ||
| </formats> |
There was a problem hiding this comment.
you might want to remove -binary from the source release: apache/spark@30aa37f#diff-01ca42240614718522afde4d4885b40d
There was a problem hiding this comment.
I actually considered that. However, that will cause the issue when people try to build the binary tarbell from the released source code since the source release won't contain -binary files. Spark seemed to have the same issue and their decision is to remove -binary files from the source release. Side effect is that people cannot build a completely valid binary release from the released source code. apache/spark#22840
On the other hand, I checked that Apache Flink is using similar approach as Spark (dividing LICENSE vs LICENSE-binary) and they include -binary files to their source code. You can check it from https://www.apache.org/dyn/closer.lua/flink/flink-1.7.1/flink-1.7.1-src.tgz
I would prefer the latter since it allows our users to build a valid binary tarbell (with correct LICENSE, NOTICE).
@felixcheung How do you think?
| <!-- Top level files --> | ||
| <exclude>.codecov*</exclude> | ||
| <exclude>HEADER</exclude> | ||
| <exclude>LICENSE</exclude> |
There was a problem hiding this comment.
why is <exclude>thirdeye/**</exclude>?
There was a problem hiding this comment.
Thirdeye (Anomaly Detection Platform) is a separate project and this won't be a part of Apache Pinot distribution. We are sharing the same repository because Thirdeye is interacting closely with Pinot as its primary backend storage layer and it's using many parts of Pinot code. In my understanding, Thirdeye will move out of this repository in near future.
@kishoreg @apucher @xiaohui-sun @raviarin Can you guys also comment on the plan for Thirdeye?
|
sorry, late comment. |
binary, source distribution tarbell. For bin-dist profile,
LICENSE-binary, NOTICE-binary, and licenses-binary are
included to a distribution tarbell after removing "-binary"
from their names.
LICENSE, DISCLAIMER files in META-INF/ for jar bundle.
From now on, "mvn install -DskipTest" will only package the
projects into jars. In order to create a binary distribution
or source distribution, we will need to run the following
commands:
mvn install -Psrc-dist -DskipTests
mvn install -Pbin-dist -DskipTests
mvn install -Psrc-dist,bin-dist -DskipTests