Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2011 JFrog Ltd.
   *
   * Licensed 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.
  */
 
 package org.jfrog.hudson.release.maven;
 
 
 import java.util.List;
 import java.util.Map;

A release action which relates to Maven projects. All relevant information is taken from hudson.maven.MavenModuleSet

Author(s):
Tomer Cohen
 
 public class MavenReleaseAction extends ReleaseAction<MavenModuleSetMavenReleaseWrapper> {

    
Map of release versions per module. Only used if versioning is per module
 
     private Map<ModuleNameStringreleaseVersionPerModule;
    
Map of dev versions per module. Only used if versioning is per module
 
 
     public MavenReleaseAction(MavenModuleSet project) {
         super(projectMavenReleaseWrapper.class);
     }
 
     @SuppressWarnings({"UnusedDeclaration"})
     public String getDefaultVersioning() {
         return ;
     }
 
     @Override
     public List<StringgetRepositoryKeys() {
         ArtifactoryRedeployPublisher artifactoryPublisher = getPublisher();
         if (artifactoryPublisher != null) {
             return artifactoryPublisher.getArtifactoryServer().getReleaseRepositoryKeysFirst();
         } else {
             return Collections.emptyList();
         }
     }
 
     @Override
         ArtifactoryRedeployPublisher artifactoryPublisher = getPublisher();
         if (artifactoryPublisher != null) {
             return artifactoryPublisher.getArtifactoryServer();
         }
         return null;
     }
 
     @Override
     protected PluginSettings getSelectedStagingPlugin() {
         return getPublisher().getDetails().getStagingPlugin();
     }
 
     @Override
     protected void doPerModuleVersioning(StaplerRequest req) {
          = Maps.newHashMap();
          = Maps.newHashMap();
         Enumeration params = req.getParameterNames();
         while (params.hasMoreElements()) {
             String key = (Stringparams.nextElement();
             if (key.startsWith("release.")) {
                 ModuleName moduleName = ModuleName.fromString(StringUtils.removeStart(key"release."));
                 .put(moduleNamereq.getParameter(key));
            } else if (key.startsWith("next.")) {
                ModuleName moduleName = ModuleName.fromString(StringUtils.removeStart(key"next."));
                .put(moduleNamereq.getParameter(key));
            }
        }
    }
    @Override
    public String getReleaseVersionFor(Object moduleName) {
        ModuleName mavenModuleName = (ModuleNamemoduleName;
        switch () {
            case :
                return ;
            case :
                return .get(mavenModuleName);
            default:
                return null;
        }
    }
    @Override
    public String getNextVersionFor(Object moduleName) {
        ModuleName mavenModuleName = (ModuleNamemoduleName;
        switch () {
            case :
                return ;
            case :
                return .get(mavenModuleName);
            default:
                return null;
        }
    }
    public String getCurrentVersion() {
        return getRootModule().getVersion();
    }
    @Override
    protected void prepareBuilderSpecificDefaultVersioning() {
    }
    @Override
    protected void prepareBuilderSpecificDefaultGlobalModule() {
        if (( != null) && (getRootModule() != null)) {
            String releaseVersion = calculateReleaseVersion(getRootModule().getVersion());
             = new VersionedModule(nullreleaseVersioncalculateNextVersion(releaseVersion));
        }
    }
    @Override
    protected void prepareBuilderSpecificDefaultModules() {
         = Maps.newHashMap();
        if ( != null) {
            List<MavenModulemodules = .getDisabledModules(false);
            for (MavenModule mavenModule : modules) {
                String version = mavenModule.getVersion();
                String moduleName = mavenModule.getModuleName().toString();
                .put(moduleNamenew VersionedModule(moduleNamecalculateReleaseVersion(version),
                        calculateNextVersion(version)));
            }
        }
    }
    @Override
    protected void prepareBuilderSpecificDefaultVcsConfig() {
        String defaultReleaseBranch = getDefaultReleaseBranch();
        String defaultTagUrl = getDefaultTagUrl();
         = new VcsConfig(StringUtils.isNotBlank(defaultReleaseBranch), defaultReleaseBranch,
                StringUtils.isNotBlank(defaultTagUrl), defaultTagUrlgetDefaultTagComment(),
                getDefaultNextDevelCommitMessage());
    }
    @Override
    }
    private MavenModule getRootModule() {
        return .getRootModule();
    }
        return ActionableHelper.getPublisher(ArtifactoryRedeployPublisher.class);
    }
    private String getDefaultReleaseBranch() {
        MavenReleaseWrapper wrapper = getWrapper();
        String releaseBranchPrefix = wrapper.getReleaseBranchPrefix();
        StringBuilder sb = new StringBuilder(StringUtils.trimToEmpty(releaseBranchPrefix));
        return sb.toString();
    }
    private String getDefaultTagUrl() {
        MavenReleaseWrapper wrapper = getWrapper();
        String baseTagUrl = wrapper.getTagPrefix();
        StringBuilder sb = new StringBuilder(getBaseTagUrlAccordingToScm(baseTagUrl));
        return sb.toString();
    }
    private String getDefaultTagComment() {
        return . + "Release version " + getDefaultReleaseVersion();
    }
    private String getDefaultReleaseVersion() {
        if (..name().equals(getDefaultVersioning())) {
            return getDefaultGlobalReleaseVersion();
        } else {
            if (!.isEmpty()) {
                .values().iterator().next().getReleaseVersion();
            }
        }
        return "";
    }
    private String getDefaultStagingRepository() {
        ArtifactoryRedeployPublisher publisher = getPublisher();
        if (publisher == null) {
            return null;
        }
        return publisher.getRepositoryKey();
    }
New to GrepCode? Check out our FAQ X