/*******************************************************************************
* Copyright (c) 2006-2010 eBay Inc. All Rights Reserved.
* 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
*******************************************************************************/
package org.ebayopensource.turmeric.plugins.maven.utils;
import java.io.File;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.util.StringUtils;
import org.ebayopensource.turmeric.plugins.maven.utils.TurmericMavenConstants.ProjectType;
/**
* Common utilities for Turmer Maven Plugin
* @author yayu
*/
public final class TurmericMavenUtils {
private TurmericMavenUtils() {
super();
}
public static boolean invokedFromEclipse() {
final String javaClasspath = System.getProperty("java.class.path");
if(StringUtils.isBlank(javaClasspath)) {
return false;
}
return (javaClasspath.contains("org.eclipse.equinox.launcher"));
}
public static boolean isValidInterfaceProject(String groupID, String projectType) {
return ProjectType.INTERFACE.name().equalsIgnoreCase(projectType);
}
public static boolean isValidImplementationProject(String groupID, String projectType) {
return ProjectType.IMPLEMENTATION.name().equalsIgnoreCase(projectType);
}
/* DISABLED - Assumes arbitrary and hardcoded directory paths
public static boolean isFoldersAvailable(MavenProject project,
Log logger, String... folders) {
if (project != null) {
final File projectDir = getProjectFile(project);
for (String folder: folders) {
final File dir = new File(projectDir, folder);
if (dir.exists() == false) {
logger.warn("Folder '" + dir + "' is missing");
return false;
} else if (dir.listFiles().length == 0) {
logger.warn("Folder '" + dir + "' is empty");
return false;
}
}
return true;
}
return false;
}
*/
public static File getProjectFile(MavenProject project) {
File projectDir = project.getFile();
if (projectDir.isFile())
projectDir = projectDir.getParentFile();
return projectDir;
}
@Override
protected Object clone() throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
}