Coverage Report - org.kuali.maven.plugins.DeployUtils
 
Classes in this File Line Coverage Branch Coverage Complexity
DeployUtils
0%
0/66
0%
0/10
1.7
 
 1  
 package org.kuali.maven.plugins;
 2  
 
 3  
 import java.io.File;
 4  
 import java.io.IOException;
 5  
 import java.util.ArrayList;
 6  
 import java.util.List;
 7  
 
 8  
 import org.apache.maven.artifact.Artifact;
 9  
 import org.apache.maven.artifact.DefaultArtifact;
 10  
 import org.apache.maven.artifact.handler.ArtifactHandler;
 11  
 import org.apache.maven.artifact.handler.DefaultArtifactHandler;
 12  
 
 13  0
 public class DeployUtils {
 14  
     public static void main(String[] args) {
 15  
         try {
 16  0
             String basedir = System.getProperty("user.home") + "/.oracle";
 17  0
             DeployUtils du = new DeployUtils();
 18  0
             System.out.println(du.getShellScript(basedir));
 19  0
         } catch (Throwable t) {
 20  0
             t.printStackTrace();
 21  0
         }
 22  0
     }
 23  
 
 24  
     public String getShellScript(String basedir) throws IOException {
 25  0
         File directory = new File(basedir);
 26  0
         DeployUtils du = new DeployUtils();
 27  0
         List<Artifact> artifacts = du.getArtifacts(directory, "com.oracle");
 28  0
         return getShellScript(artifacts);
 29  
     }
 30  
 
 31  
     public String getShellScript(List<Artifact> artifacts) throws IOException {
 32  0
         StringBuilder sb = new StringBuilder();
 33  0
         sb.append("#!/bin/sh\n");
 34  0
         for (Artifact artifact : artifacts) {
 35  0
             sb.append(getCommandLine(artifact) + "\n");
 36  
         }
 37  0
         return sb.toString();
 38  
     }
 39  
 
 40  
     protected String getCommandLine(Artifact artifact) throws IOException {
 41  0
         StringBuilder sb = new StringBuilder();
 42  0
         sb.append("mvn process-resources -Pprivate");
 43  0
         sb.append(" -Ddeployment.groupId=" + artifact.getGroupId());
 44  0
         sb.append(" -Ddeployment.artifactId=" + artifact.getArtifactId());
 45  0
         sb.append(" -Ddeployment.version=" + artifact.getVersion());
 46  0
         sb.append(" -Ddeployment.file=" + artifact.getFile().getCanonicalPath());
 47  0
         return sb.toString();
 48  
     }
 49  
 
 50  
     public String getGAVString(Artifact artifact) {
 51  0
         StringBuilder sb = new StringBuilder();
 52  0
         sb.append(artifact.getGroupId());
 53  0
         sb.append(":");
 54  0
         sb.append(artifact.getArtifactId());
 55  0
         sb.append(":");
 56  0
         sb.append(artifact.getVersion());
 57  0
         return sb.toString();
 58  
     }
 59  
 
 60  
     public List<Artifact> getArtifacts(File directory, String groupId) {
 61  0
         List<File> files = getFiles(directory);
 62  0
         List<Artifact> artifacts = new ArrayList<Artifact>();
 63  0
         for (File file : files) {
 64  0
             Artifact artifact = getArtifact(directory, file, groupId);
 65  0
             artifacts.add(artifact);
 66  0
         }
 67  0
         return artifacts;
 68  
     }
 69  
 
 70  
     protected Artifact getArtifact(File baseDirectory, File file, String groupId) {
 71  0
         ArtifactHandler handler = new DefaultArtifactHandler("jar");
 72  0
         String artifactId = getArtifactId(file);
 73  0
         String version = getVersion(baseDirectory, file);
 74  0
         Artifact artifact = new DefaultArtifact(groupId, artifactId, version, null, "jar", null, handler);
 75  0
         artifact.setFile(file);
 76  0
         return artifact;
 77  
     }
 78  
 
 79  
     protected String getVersion(File baseDirectory, File file) {
 80  0
         String path1 = baseDirectory.getAbsolutePath();
 81  0
         String path2 = file.getAbsolutePath();
 82  0
         int pos = path2.indexOf(path1) + path1.length();
 83  0
         String version = path2.substring(pos);
 84  0
         String filename = file.getName();
 85  0
         pos = version.indexOf(filename);
 86  0
         version = version.substring(0, pos);
 87  0
         String fileSeparator = System.getProperty("file.separator");
 88  0
         version = version.replace(fileSeparator, "");
 89  0
         return version;
 90  
     }
 91  
 
 92  
     protected String getArtifactId(File file) {
 93  0
         String filename = file.getName();
 94  0
         int pos = filename.indexOf(".");
 95  0
         return filename.substring(0, pos);
 96  
     }
 97  
 
 98  
     public List<File> getFiles(File directory) {
 99  0
         if (!directory.isDirectory()) {
 100  0
             throw new IllegalArgumentException(directory + " is not a directory");
 101  
         }
 102  0
         File[] fileList = directory.listFiles();
 103  0
         List<File> files = new ArrayList<File>();
 104  0
         for (File file : fileList) {
 105  0
             if (file.isDirectory()) {
 106  0
                 files.addAll(getFiles(file));
 107  
             } else {
 108  0
                 files.add(file);
 109  
             }
 110  
         }
 111  0
         return files;
 112  
     }
 113  
 
 114  
 }