#!/bin/bash
-# @License EPL-1.0 <http://spdx.org/licenses/EPL-1.0>
+# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2015 The Linux Foundation and others.
#
# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
+STAGING_LOG="$WORKSPACE/deploy-staged-repository.log"
+
# Assuming that mvn deploy created the hide/from/pom/files/stage directory.
cd hide/from/pom/files || exit 1
mkdir -p m2repo/org/opendaylight/
"stage/org/opendaylight" m2repo/org/
"$MVN" -V -B org.sonatype.plugins:nexus-staging-maven-plugin:1.6.8:deploy-staged-repository \
+ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-DrepositoryDirectory="$(pwd)/m2repo" \
-DnexusUrl="$NEXUS_STAGING_URL" \
-DstagingProfileId="$NEXUS_STAGING_PROFILE" \
-DserverId="$NEXUS_STAGING_SERVER_ID" \
-s "$SETTINGS_FILE" \
- -gs "$GLOBAL_SETTINGS_FILE" | tee "$WORKSPACE/deploy-staged-repository.log"
+ -gs "$GLOBAL_SETTINGS_FILE" | tee "$STAGING_LOG"
+
+# Log all files larger than 200 MB into large-files.log
+while IFS= read -r -d '' file
+do
+ FILE_SIZE=$(du --summarize --block-size 1 "$file" | awk '{print $1}')
+ # Check if file size is larger than 200 MB
+ if [[ $FILE_SIZE -gt 209715200 ]]; then
+ echo "$FILE_SIZE $file" >> "$WORKSPACE/large-files.log"
+ fi
+done < <(find "$(pwd)/m2repo" -type f -print0)
+
+# Detect if staging failed: mvn always exits 0 even if staging failed.
+if grep '^\[ERROR\]' "$STAGING_LOG"; then
+ echo "Error creating staging repo. Refer to logs above for details."
+ exit 1
+fi