use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.
the class LiferayWorkspaceUtil method addPortalRuntime.
public static void addPortalRuntime() {
IProject project = getWorkspaceProject();
IPath bundlesLocation = getHomeLocation(project);
try {
if (FileUtil.exists(bundlesLocation)) {
PortalBundle bundle = LiferayServerCore.newPortalBundle(bundlesLocation);
if (bundle == null) {
ProjectCore.logError("Can not create bundle from location :" + bundlesLocation);
return;
}
String serverName = bundle.getServerReleaseInfo();
ServerUtil.addPortalRuntimeAndServer(serverName, bundlesLocation, new NullProgressMonitor());
IProject pluginsSDK = CoreUtil.getProject(LiferayWorkspaceUtil.getPluginsSDKDir(project.getLocation().toPortableString()));
if (FileUtil.exists(pluginsSDK)) {
SDK sdk = SDKUtil.createSDKFromLocation(pluginsSDK.getLocation());
sdk.addOrUpdateServerProperties(ServerUtil.getLiferayRuntime(ServerUtil.getServer(serverName)).getLiferayHome());
pluginsSDK.refreshLocal(IResource.DEPTH_INFINITE, null);
}
}
} catch (Exception e) {
ProjectCore.logError("Add Liferay server failed", e);
}
}
use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.
the class ProjectImportUtil method validateSDKPath.
public static IStatus validateSDKPath(String currentPath) {
IStatus retVal = validatePath(currentPath);
if (!retVal.isOK()) {
return retVal;
}
IPath osPath = Path.fromOSString(currentPath);
SDK sdk = SDKUtil.createSDKFromLocation(osPath);
if (sdk == null) {
return ProjectCore.createErrorStatus("SDK does not exist.");
}
try {
IProject workspaceSdkProject = SDKUtil.getWorkspaceSDKProject();
if ((workspaceSdkProject != null) && !workspaceSdkProject.getLocation().equals(sdk.getLocation())) {
return ProjectCore.createErrorStatus("This project has different sdk than current workspace sdk");
}
} catch (CoreException ce) {
return ProjectCore.createErrorStatus("Can't find sdk in workspace");
}
return sdk.validate(true);
}
use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.
the class ProjectImportUtil method importProject.
public static IProject importProject(IPath projectdir, IProgressMonitor monitor, NewLiferayPluginProjectOp op) throws CoreException {
IProject project = null;
ProjectRecord projectRecord = ProjectUtil.getProjectRecordForDir(projectdir.toPortableString());
File projectDir = projectRecord.getProjectLocation().toFile();
SDK sdk = SDKUtil.getSDKFromProjectDir(projectDir);
if (sdk == null) {
return null;
}
if (projectRecord.projectSystemFile != null) {
try {
project = ProjectUtil.createExistingProject(projectRecord, sdk.getLocation(), monitor);
} catch (CoreException ce) {
throw new CoreException(ProjectCore.createErrorStatus(ce));
}
} else if (projectRecord.liferayProjectDir != null) {
try {
project = ProjectUtil.createNewSDKProject(projectRecord, sdk.getLocation(), monitor, op);
} catch (CoreException ce) {
throw new CoreException(ProjectCore.createErrorStatus(ce));
}
}
File parent = projectdir.removeLastSegments(1).toFile();
String parentName = parent.getName();
IProject sdkProject = CoreUtil.getProject(sdk.getName());
IFolder folder = sdkProject.getFolder(parentName);
ResourceFilterUtil.addResourceFilter(folder, project.getName(), monitor);
return project;
}
use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.
the class ProjectImportUtil method validateSDKProjectPath.
public static IStatus validateSDKProjectPath(String currentPath) {
IStatus retVal = validatePath(currentPath);
if (!retVal.isOK()) {
return retVal;
}
ProjectRecord record = ProjectUtil.getProjectRecordForDir(currentPath);
if (record == null) {
return ProjectCore.createErrorStatus("Invalid project location");
}
String projectName = record.getProjectName();
IProject existingProject = CoreUtil.getWorkspaceRoot().getProject(projectName);
if (FileUtil.exists(existingProject)) {
return ProjectCore.createErrorStatus("Project name already exists.");
}
File projectDir = record.getProjectLocation().toFile();
SDK sdk = SDKUtil.getSDKFromProjectDir(projectDir);
if (sdk == null) {
return ProjectCore.createErrorStatus("Could not determine SDK from project location " + currentPath);
}
try {
IProject workspaceSdkProject = SDKUtil.getWorkspaceSDKProject();
if ((workspaceSdkProject != null) && !workspaceSdkProject.getLocation().equals(sdk.getLocation())) {
return ProjectCore.createErrorStatus("This project has different sdk than current workspace sdk");
}
} catch (CoreException ce) {
return ProjectCore.createErrorStatus("Can't find sdk in workspace");
}
return sdk.validate(true);
}
use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.
the class IvyUtil method configureIvyProject.
public static IStatus configureIvyProject(final IProject project, IProgressMonitor monitor) throws CoreException {
SDK sdk = SDKUtil.getSDK(project);
// check for 6.1.2 and greater but not 6.1.10 which is older EE release
// and match 6.2.0 and greater
final Version version = new Version(sdk.getVersion());
if (((CoreUtil.compareVersions(version, ILiferayConstants.V611) >= 0) && (CoreUtil.compareVersions(version, ILiferayConstants.V6110) < 0)) || (CoreUtil.compareVersions(version, ILiferayConstants.V620) >= 0)) {
IFile ivyXmlFile = project.getFile(ISDKConstants.IVY_XML_FILE);
if (ivyXmlFile.exists()) {
// IDE-1044
addIvyNature(project, monitor);
IvyClasspathContainer ivycp = addIvyLibrary(project, monitor);
if (ivycp != null) {
IStatus status = ivycp.launchResolve(false, monitor);
if (status.isOK()) {
final IWebProject webproject = LiferayCore.create(IWebProject.class, project);
if (webproject != null) {
final IFolder webinfFolder = webproject.getDefaultDocrootFolder().getFolder("WEB-INF");
if (webinfFolder != null) {
ComponentUtil.validateFolder(webinfFolder, monitor);
}
}
} else {
return status;
}
}
}
}
return Status.OK_STATUS;
}
Aggregations