Skip to content

Restore linux-aarch64 artifacts to Maven Central publish#981

Open
colleenkinross wants to merge 1 commit into
netty:mainfrom
colleenkinross:fix-linux-aarch64
Open

Restore linux-aarch64 artifacts to Maven Central publish#981
colleenkinross wants to merge 1 commit into
netty:mainfrom
colleenkinross:fix-linux-aarch64

Conversation

@colleenkinross
Copy link
Copy Markdown

The linux-aarch64 artifacts were dropped starting in 2.0.72 when PR #926 migrated from nexus-staging-maven-plugin to central-publishing-maven-plugin.

Unlike other platforms for which we can build openssl-dynamic and boringssl-static in a single command, the aarch64 cross-compile requires two separate commands because openssl-dynamic must be built against a pre-compiled ARM version of APR and OpenSSL and boringssl-static doesn't have this dependency. The old plugin accepted -DaltStagingDirectory to write staging output outside of target/, so it survived the clean phase in the second command. The new plugin defaults to target/central-staging, which the clean phase in the second command deletes along with the rest of the root project's target/ directory.

Fix by passing -DoutputDirectory=/root/local-staging to both publish calls, mirroring the original -DaltStagingDirectory behavior, then copying the combined output into target/central-staging for the CI upload step.

  The linux-aarch64 artifacts were dropped starting in 2.0.72 when PR netty#926
  migrated from nexus-staging-maven-plugin to central-publishing-maven-plugin.

  Unlike other platforms which build openssl-dynamic and boringssl-static in
  a single Maven command, the aarch64 cross-compile requires two separate
  commands because only openssl-dynamic needs -DaprArmHome and
  -DopensslArmHome. The old plugin accepted -DaltStagingDirectory to write
  staging output outside of target/, so it survived the clean in the second
  command. The new plugin defaults to target/central-staging, which the
  second command's clean deletes before uploading.

  Fix by passing -DoutputDirectory=/root/local-staging to both publish calls,
  mirroring the original -DaltStagingDirectory behavior, then copying the
  combined output into target/central-staging for the CI upload step.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant