Search in sources :

Example 56 with SDK

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);
    }
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) IPath(org.eclipse.core.runtime.IPath) PortalBundle(com.liferay.ide.server.core.portal.PortalBundle) SDK(com.liferay.ide.sdk.core.SDK) IProject(org.eclipse.core.resources.IProject) IOException(java.io.IOException) CoreException(org.eclipse.core.runtime.CoreException)

Example 57 with SDK

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);
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) IPath(org.eclipse.core.runtime.IPath) CoreException(org.eclipse.core.runtime.CoreException) SDK(com.liferay.ide.sdk.core.SDK) IProject(org.eclipse.core.resources.IProject)

Example 58 with SDK

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;
}
Also used : CoreException(org.eclipse.core.runtime.CoreException) ProjectRecord(com.liferay.ide.project.core.ProjectRecord) BinaryProjectRecord(com.liferay.ide.project.core.BinaryProjectRecord) SDK(com.liferay.ide.sdk.core.SDK) JarFile(java.util.jar.JarFile) File(java.io.File) IProject(org.eclipse.core.resources.IProject) IFolder(org.eclipse.core.resources.IFolder)

Example 59 with SDK

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);
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) CoreException(org.eclipse.core.runtime.CoreException) ProjectRecord(com.liferay.ide.project.core.ProjectRecord) BinaryProjectRecord(com.liferay.ide.project.core.BinaryProjectRecord) SDK(com.liferay.ide.sdk.core.SDK) JarFile(java.util.jar.JarFile) File(java.io.File) IProject(org.eclipse.core.resources.IProject)

Example 60 with SDK

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;
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) IFile(org.eclipse.core.resources.IFile) Version(org.osgi.framework.Version) IWebProject(com.liferay.ide.core.IWebProject) SDK(com.liferay.ide.sdk.core.SDK) IvyClasspathContainer(org.apache.ivyde.eclipse.cp.IvyClasspathContainer) IFolder(org.eclipse.core.resources.IFolder)

Aggregations

SDK (com.liferay.ide.sdk.core.SDK)75 IPath (org.eclipse.core.runtime.IPath)41 CoreException (org.eclipse.core.runtime.CoreException)29 IStatus (org.eclipse.core.runtime.IStatus)26 IProject (org.eclipse.core.resources.IProject)24 Path (org.eclipse.sapphire.modeling.Path)16 File (java.io.File)15 IFile (org.eclipse.core.resources.IFile)14 Path (org.eclipse.core.runtime.Path)14 NewLiferayPluginProjectOp (com.liferay.ide.project.core.model.NewLiferayPluginProjectOp)12 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)11 Version (org.osgi.framework.Version)11 IOException (java.io.IOException)9 Status (org.eclipse.sapphire.modeling.Status)9 IFolder (org.eclipse.core.resources.IFolder)7 Test (org.junit.Test)7 ArrayList (java.util.ArrayList)6 IWebProject (com.liferay.ide.core.IWebProject)4 IPortletFramework (com.liferay.ide.project.core.IPortletFramework)4 PluginType (com.liferay.ide.project.core.model.PluginType)4