-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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, |
<fileSets> | ||
<!-- Rename liscenses-binary directory to licenses and include it to a distribution tarbell --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
liscenses-binary -> licenses-binary
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you might want to remove -binary from the source release: apache/spark@30aa37f#diff-01ca42240614718522afde4d4885b40d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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?
@@ -1058,8 +1067,9 @@ | |||
<!-- Top level files --> | |||
<exclude>.codecov*</exclude> | |||
<exclude>HEADER</exclude> | |||
<exclude>LICENSE</exclude> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is <exclude>thirdeye/**</exclude>
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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