amd64
arm64
diff --git a/rockcraft-maven/src/main/java/com/canonical/rockcraft/maven/PushRockMojo.java b/rockcraft-maven/src/main/java/com/canonical/rockcraft/maven/PushRockMojo.java
new file mode 100644
index 0000000..6be4ff5
--- /dev/null
+++ b/rockcraft-maven/src/main/java/com/canonical/rockcraft/maven/PushRockMojo.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2024 Canonical Ltd.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package com.canonical.rockcraft.maven;
+
+import com.canonical.rockcraft.builder.RockBuilder;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+
+import java.io.IOException;
+
+@Mojo(name = "push-rock", threadSafe = false, requiresProject = true, defaultPhase = LifecyclePhase.INSTALL)
+public class PushRockMojo extends AbstractRockMojo {
+ public void execute() throws MojoExecutionException {
+ super.execute();
+ try {
+ RockBuilder.pushRock(RockSettingsFactory.createRockProjectSettings(getProject()), getOptions());
+ } catch (InterruptedException | IOException e) {
+ throw new MojoExecutionException(e.getMessage(), e);
+ }
+ }
+}