Last active
March 9, 2020 21:03
-
-
Save iemejia/5277fc269c63c4e49f1bb065454a895e to your computer and use it in GitHub Desktop.
Apache Beam versions compatibility analysis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
mkdir -p "$HOME/releases/japi" | |
# create exclusions file for annotations to be skipped | |
cat <<EOF > "$HOME/releases/japi/beam-skip-annotations" | |
org.apache.beam.sdk.annotations.Experimental | |
org.apache.beam.sdk.annotations.Internal | |
EOF | |
# create exclusions file for packages to be skipped | |
cat <<EOF > "$HOME/releases/japi/beam-skip-packages" | |
org.apache.beam.repackaged | |
org.apache.beam.sdk.repackaged | |
org.apache.beam.sdk.annotations | |
org.apache.beam.sdk.expansion | |
org.apache.beam.sdk.harness | |
org.apache.beam.sdk.metrics | |
org.apache.beam.sdk.runners | |
org.apache.beam.sdk.schemas | |
org.apache.beam.sdk.state | |
org.apache.beam.sdk.testing | |
org.apache.beam.sdk.transforms.reflect | |
org.apache.beam.sdk.transforms.splittabledofn | |
org.apache.beam.sdk.util | |
EOF | |
# download beam-sdks-java-core versions | |
for minor in $(seq 0 19); do \ | |
mvn dependency:get -Dartifact="org.apache.beam:beam-sdks-java-core:2.$minor.0"; | |
done | |
# compare beam-sdks-java-core versions | |
for minor in $(seq 0 18); do \ | |
declare next=$((minor+1)); | |
docker run -it --rm -v $HOME/.m2:/opt/m2:ro -v $HOME/releases/japi:/compat_reports \ | |
joschi/japi-compliance-checker:2.4-1 \ | |
--keep-internal \ | |
--skip-packages /compat_reports/beam-skip-packages \ | |
--skip-annotations-list /compat_reports/beam-skip-annotations \ | |
"/opt/m2/repository/org/apache/beam/beam-sdks-java-core/2.$minor.0/beam-sdks-java-core-2.$minor.0.jar" \ | |
"/opt/m2/repository/org/apache/beam/beam-sdks-java-core/2.$next.0/beam-sdks-java-core-2.$next.0.jar"; | |
done | |
xdg-open file:///home/ismael/releases/japi/beam-sdks-java-core/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment