001    /**
002     * Copyright 2004-2012 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.opensource.org/licenses/ecl2.php
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.maven.common;
017    
018    import java.util.List;
019    
020    import org.apache.maven.project.MavenProject;
021    
022    /**
023     *
024     */
025    public interface SiteContext {
026    
027            // The token to use in the url instead of the Maven version if "latest=true"
028            public String getLatestToken();
029    
030            // If true, this is the "latest" version of the site
031            public boolean isLatest();
032    
033            // If a version contains this text it is assumed to be a snapshot version of an artifact
034            // This is usually just "SNAPSHOT"
035            public String getSnapshotSnippet();
036    
037            // The group id for the organization ie "org.kuali"
038            public String getOrganizationGroupId();
039    
040            // The base url for downloading ie "http://s3browse.springsource.com/browse/maven.kuali.org/"
041            public String getDownloadBase();
042    
043            // The path to append to downloadBase for snapshot artifacts ie "snapshot"
044            public String getDownloadSnapshotPath();
045    
046            // The path to append to downloadBase for release artifacts ie "release"
047            public String getDownloadReleasePath();
048    
049            // The path to append to downloadBase for non-Kuali artifacts ie "external"
050            public String getDownloadExternalPath();
051    
052            // The base url for the public web site ie "http://site.kuali.org"
053            public String getPublicBase();
054    
055            // The base url for publishing the public web site ie "s3://site.origin.kuali.org"
056            public String getPublishBase();
057    
058            // POM's for the organization
059            public List<MavenProject> getOrgPoms();
060    }