| package org.apache.maven.plugins.release; |
| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| import org.apache.maven.plugins.annotations.Mojo; |
| import org.apache.maven.plugins.annotations.Parameter; |
| import org.codehaus.plexus.util.StringUtils; |
| |
| /** |
| * Perform a release from SCM to a staging repository. |
| * |
| * If no goals are given, these default to <code>deploy</code> or <code>deploy site:stage-deploy</code>, |
| * if the project has a <distributionManagement>/<site> element. |
| * |
| * If the goals contain <code>site-deploy</code> or <code>site:deploy</code>, these |
| * are overridden with <code>site:stage-deploy</code>. |
| * |
| * @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a> |
| * @version $Id$ |
| * @since 2.0-beta-8 |
| */ |
| @Mojo( name = "stage", aggregator = true, requiresProject = false ) |
| public class StageReleaseMojo |
| extends PerformReleaseMojo |
| { |
| /** |
| * URL of the staging repository to use. |
| * |
| * @since 2.0-beta-8 |
| */ |
| @Parameter( property = "stagingRepository", required = true ) |
| private String stagingRepository; |
| |
| @Override |
| void createGoals() |
| { |
| if ( goals == null ) |
| { |
| // set default |
| goals = "deploy"; |
| if ( project.getDistributionManagement() != null |
| && project.getDistributionManagement().getSite() != null ) |
| { |
| goals += " site:stage-deploy"; |
| } |
| } |
| |
| goals = StringUtils.replace( goals, "site-deploy", "site:stage-deploy" ); |
| goals = StringUtils.replace( goals, "site:deploy", "site:stage-deploy" ); |
| } |
| |
| @Override |
| void setDeploymentRepository() |
| { |
| addArgument( "-DaltDeploymentRepository=\"" + stagingRepository + "\"" ); |
| } |
| } |