Search in sources :

Example 66 with SDK

use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.

the class NewLiferayPluginProjectOpBase method testSDKLocationValidation.

@Test
public void testSDKLocationValidation() throws Exception {
    if (shouldSkipBundleTests())
        return;
    NewLiferayPluginProjectOp op = newProjectOp("test-sdk");
    op.setProjectProvider("ant");
    Status status = op.execute(new ProgressMonitor());
    if (!status.ok()) {
        throw new Exception(status.exception());
    }
    SDK sdk = SDKUtil.getWorkspaceSDK();
    IPath sdkLocation = sdk.getLocation();
    if (sdk != null) {
        CoreUtil.getWorkspaceRoot().getProject(sdk.getName()).delete(false, false, null);
    }
    // set existed project name
    IProject project = getProject("portlets", "test-sdk-" + getRuntimeVersion() + "-portlet");
    project.delete(false, false, null);
    op.setSdkLocation(sdkLocation.toOSString());
    assertTrue(op.validation().message().contains("is not valid because a project already exists at that location."));
    op = newProjectOp("test2-sdk");
    op.setSdkLocation("");
    assertEquals("This sdk location is empty.", op.validation().message());
    op.setSdkLocation(sdk.getLocation().getDevice() + "/");
    assertEquals("This sdk location is not correct.", op.validation().message());
    // sdk has no build.USERNAME.properties file
    sdkLocation.append("build." + System.getenv().get("USER") + ".properties").toFile().delete();
    sdkLocation.append("build." + System.getenv().get("USERNAME") + ".properties").toFile().delete();
    op.setSdkLocation(sdkLocation.toOSString());
    String expectedMessageRegx = ".*app.server.*";
    assertTrue(op.validation().message().matches(expectedMessageRegx));
    assertEquals(false, op.validation().ok());
}
Also used : Status(org.eclipse.sapphire.modeling.Status) ProgressMonitor(org.eclipse.sapphire.modeling.ProgressMonitor) IPath(org.eclipse.core.runtime.IPath) NewLiferayPluginProjectOp(com.liferay.ide.project.core.model.NewLiferayPluginProjectOp) SDK(com.liferay.ide.sdk.core.SDK) IProject(org.eclipse.core.resources.IProject) Test(org.junit.Test)

Example 67 with SDK

use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.

the class InitConfigureProjectPage method _saveSettings.

private void _saveSettings() {
    dataModel.setHasExt(false);
    dataModel.setHasHook(false);
    dataModel.setHasLayout(false);
    dataModel.setHasPortlet(false);
    dataModel.setHasServiceBuilder(false);
    dataModel.setHasTheme(false);
    dataModel.setHasWeb(false);
    if (_bundleNameField != null && !_bundleNameField.isDisposed()) {
        dataModel.setLiferay70ServerName(_bundleNameField.getText());
    }
    if (_serverComb != null && !_serverComb.isDisposed()) {
        dataModel.setLiferay70ServerName(_serverComb.getText());
    }
    SDK sdk = SDKUtil.createSDKFromLocation(new Path(_dirField.getText()));
    try {
        if (sdk != null) {
            final String liferay62ServerLocation = (String) (sdk.getBuildProperties(true).get(ISDKConstants.PROPERTY_APP_SERVER_PARENT_DIR));
            dataModel.setLiferay62ServerLocation(liferay62ServerLocation);
        }
    } catch (Exception xe) {
        ProjectUI.logError(xe);
    }
}
Also used : Path(org.eclipse.core.runtime.Path) IPath(org.eclipse.core.runtime.IPath) SDK(com.liferay.ide.sdk.core.SDK) CoreException(org.eclipse.core.runtime.CoreException) BladeCLIException(com.liferay.ide.project.core.modules.BladeCLIException) InvocationTargetException(java.lang.reflect.InvocationTargetException) IOException(java.io.IOException) JDOMException(org.jdom.JDOMException)

Example 68 with SDK

use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.

the class InitConfigureProjectPage method _createInitBundle.

private void _createInitBundle(IProgressMonitor monitor) throws CoreException {
    SubMonitor progress = SubMonitor.convert(monitor, 100);
    try {
        progress.beginTask("Execute Liferay Worksapce Bundle Init Command...", 100);
        String layout = dataModel.getLayout().content();
        if (layout.equals(_layoutNames[0])) {
            IPath sdkLocation = PathBridge.create(dataModel.getSdkLocation().content());
            IProject project = CoreUtil.getProject(sdkLocation.lastSegment());
            final String bundleUrl = dataModel.getBundleUrl().content();
            final String bundleName = dataModel.getBundleName().content();
            IWorkspaceProjectBuilder projectBuilder = _getWorkspaceProjectBuilder(project);
            progress.worked(30);
            if (bundleUrl != null && projectBuilder != null) {
                projectBuilder.initBundle(project, bundleUrl, monitor);
            }
            IPath bundleLocationDir = sdkLocation.append("bundles");
            if (bundleLocationDir.toFile().exists()) {
                progress.worked(60);
                final IPath runtimeLocation = sdkLocation.append(LiferayWorkspaceUtil.getHomeDir(sdkLocation.toOSString()));
                ServerUtil.addPortalRuntimeAndServer(bundleName, runtimeLocation, monitor);
                IServer bundleServer = ServerCore.findServer(dataModel.getBundleName().content());
                if (bundleServer != null) {
                    org.eclipse.sapphire.modeling.Path newPath = dataModel.getSdkLocation().content();
                    SDK sdk = SDKUtil.createSDKFromLocation(PathBridge.create(newPath).append("plugins-sdk"));
                    IPath bundleLocation = bundleServer.getRuntime().getLocation();
                    sdk.addOrUpdateServerProperties(bundleLocation);
                }
                project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
            }
        }
        progress.worked(100);
    } catch (Exception e) {
        ProjectUI.logError(e);
        throw new CoreException(StatusBridge.create(Status.createErrorStatus("Failed to execute Liferay Workspace Bundle Init Command...", e)));
    } finally {
        progress.done();
    }
}
Also used : IServer(org.eclipse.wst.server.core.IServer) IPath(org.eclipse.core.runtime.IPath) CoreException(org.eclipse.core.runtime.CoreException) SubMonitor(org.eclipse.core.runtime.SubMonitor) IWorkspaceProjectBuilder(com.liferay.ide.project.core.IWorkspaceProjectBuilder) SDK(com.liferay.ide.sdk.core.SDK) IProject(org.eclipse.core.resources.IProject) CoreException(org.eclipse.core.runtime.CoreException) BladeCLIException(com.liferay.ide.project.core.modules.BladeCLIException) InvocationTargetException(java.lang.reflect.InvocationTargetException) IOException(java.io.IOException) JDOMException(org.jdom.JDOMException)

Example 69 with SDK

use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.

the class CompileAction method run.

@Override
public void run() {
    final ISelection selection = getSelectionProjects();
    if ((selection != null) && selection instanceof IStructuredSelection) {
        Object[] projects = ((IStructuredSelection) selection).toArray();
        try {
            SDK sdk = SDKUtil.getWorkspaceSDK();
            IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
            progressService.busyCursorWhile(new IRunnableWithProgress() {

                public void run(IProgressMonitor monitor) throws InterruptedException, InvocationTargetException {
                    for (Object project : projects) {
                        if (project instanceof IProject) {
                            IProject p = (IProject) project;
                            sdk.war(p, null, false, monitor);
                            IDocument document = ((ProcessConsole) getConsole(p.getName())).getDocument();
                            if (document.get().contains("BUILD FAILED")) {
                                return;
                            }
                        }
                    }
                }
            });
        } catch (Exception e) {
        }
    }
}
Also used : IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) InvocationTargetException(java.lang.reflect.InvocationTargetException) IProject(org.eclipse.core.resources.IProject) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) IProgressService(org.eclipse.ui.progress.IProgressService) ISelection(org.eclipse.jface.viewers.ISelection) SDK(com.liferay.ide.sdk.core.SDK) IDocument(org.eclipse.jface.text.IDocument)

Example 70 with SDK

use of com.liferay.ide.sdk.core.SDK in project liferay-ide by liferay.

the class ServerUtil method getPortalBundle.

public static PortalBundle getPortalBundle(IProject project) throws CoreException {
    SDK sdk = SDKUtil.getSDKFromProjectDir(project.getLocation().toFile());
    if (sdk == null || !sdk.validate().isOK()) {
        return null;
    }
    final Map<String, Object> appServerProperties = sdk.getBuildProperties();
    final String appServerType = (String) (appServerProperties.get("app.server.type"));
    PortalBundleFactory factory = LiferayServerCore.getPortalBundleFactories(appServerType);
    if (factory != null) {
        final IPath path = factory.canCreateFromPath(appServerProperties);
        if (path != null) {
            PortalBundle bundle = factory.create(path);
            return bundle;
        }
    }
    return null;
}
Also used : IPath(org.eclipse.core.runtime.IPath) PortalBundle(com.liferay.ide.server.core.portal.PortalBundle) SDK(com.liferay.ide.sdk.core.SDK) PortalBundleFactory(com.liferay.ide.server.core.portal.PortalBundleFactory)

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