001    package org.codehaus.mojo.wagon;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
005     * agreements. See the NOTICE file distributed with this work for additional information regarding
006     * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
007     * "License"); you may not use this file except in compliance with the License. You may obtain a
008     * copy of the License at
009     * 
010     * http://www.apache.org/licenses/LICENSE-2.0
011     * 
012     * Unless required by applicable law or agreed to in writing, software distributed under the License
013     * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
014     * or implied. See the License for the specific language governing permissions and limitations under
015     * the License.
016     */
017    
018    
019    /**
020     * Provides base functionality for dealing with I/O using single wagon.
021     * 
022     */
023    public abstract class AbstractDoubleWagonMojo
024        extends AbstractWagonMojo
025    {
026    
027        /**
028         * The URL to the source repository.
029         * 
030         * @parameter expression="${wagon.source}"
031         * @required
032         */
033        protected String source;
034    
035        /**
036         * The URL to the target repository.
037         * 
038         * @parameter expression="${wagon.target}"
039         * @required
040         */
041        protected String target;
042    
043        /**
044         * settings.xml's server id of the source repository. 
045         * This is used when wagon needs extra authentication information.
046         * 
047         * @parameter expression="${wagon.sourceId}" default-value="source"
048         */
049        protected String sourceId;
050    
051        /**
052         * settings.xml's server id of the target repository. 
053         * This is used when wagon needs extra authentication information.
054         * 
055         * @parameter expression="${wagon.targetId}" default-value="target"
056         */
057        protected String targetId;
058        
059        /**
060         * Optimize the  upload by locally compressed all files in one bundle, 
061         * upload the bundle, and finally remote uncompress the bundle.
062         * This only works with SCP's URL
063         * @parameter expression="${wagon.optimize}" default-value="false";
064         */
065        
066        protected boolean optimize = false;
067        
068    
069    }