p2-maven-plugin icon indicating copy to clipboard operation
p2-maven-plugin copied to clipboard

Feature request: Add site-deploy goal like in maven-site-plugin

Open gschnepp opened this issue 4 years ago • 1 comments

There's no easy way today to deploy generated update site to e.g. Nexus currently aside deploying a zipped archive and using nexus unzip plugin. There's a maven-site-plugin on the other side being able to deploy whole folder structures to Nexus easily, but only the ones generated on their own (site:site goal).

This feature request asks for integration of its site-deploy goal into p2-maven-plugin, too, to allow deployment of generated update sites to Nexus or other repository managers directly. I'd do it on my own but never have written a maven plugin before at all.

gschnepp avatar Aug 02 '20 04:08 gschnepp

@gschnepp

You can work around this missing feature with

            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-p2-repository-plugin</artifactId>
                <version>${tycho.version}</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>archive-repository</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Attach zipped P2 repository to be installed and deployed
                in the Maven repository during the deploy phase. -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>attach-artifact</goal>
                        </goals>
                        <configuration>
                            <artifacts>
                                <artifact>
                                    <file>target/${project.artifactId}-${project.version}.zip</file>
                                    <type>zip</type>
                                </artifact>
                            </artifacts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

A whole sample project can be found here

sparsick avatar Jan 15 '21 14:01 sparsick