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());
}
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);
}
}
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();
}
}
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) {
}
}
}
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;
}
Aggregations