reficio / p2-maven-plugin

Maven3 plugin that automates the third-party dependency management for Eclipse RCP
http://reficio.org
230 stars 97 forks source link

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

Open gschnepp opened 4 years ago

gschnepp commented 4 years ago

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.

sparsick commented 3 years ago

@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