use of com.liferay.ide.server.core.ILiferayRuntime in project liferay-ide by liferay.
the class LiferayProjectPropertyPage method createInfoGroup.
protected void createInfoGroup(final Composite parent) {
new Label(parent, SWT.LEFT).setText(Msgs.liferayPluginTypeLabel);
final Text pluginTypeLabel = new Text(parent, SWT.READ_ONLY | SWT.BORDER);
pluginTypeLabel.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
final IProjectFacet liferayFacet = ProjectUtil.getLiferayFacet(getFacetedProject());
if (liferayFacet != null) {
pluginTypeLabel.setText(liferayFacet.getLabel());
}
final IProject proj = getProject();
if ((proj != null) && ProjectUtil.isLiferayFacetedProject(proj)) {
try {
if (!ProjectUtil.isMavenProject(proj)) {
final SDK projectSdk = SDKUtil.getSDK(getProject());
new Label(parent, SWT.LEFT).setText(Msgs.liferaySdkLabel);
_sdkLabel = new Text(parent, SWT.READ_ONLY | SWT.BORDER);
if (projectSdk != null) {
_sdkLabel.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
_sdkLabel.setText(projectSdk.getName());
} else {
_sdkLabel.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
_sdkLabel.setText("");
final Hyperlink link = new Hyperlink(parent, SWT.NULL);
link.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, false, false, 1, 1));
link.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_BLUE));
link.setUnderlined(true);
link.setText(Msgs.changeliferaySdk);
link.addHyperlinkListener(new HyperlinkAdapter() {
public void linkActivated(HyperlinkEvent e) {
String dialogId = new String("com.liferay.ide.project.ui.dialog.SelectPluginsSDKDialog");
final LiferayPluginSDKOp op = (LiferayPluginSDKOp) (LiferayPluginSDKOp.TYPE.instantiate().initialize());
DefinitionLoader sdefLoader = DefinitionLoader.context(getClass()).sdef(dialogId);
final Reference<DialogDef> dialogRef = sdefLoader.dialog("ConfigureLiferaySDK");
final SapphireDialog dialog = new SapphireDialog(UIUtil.getActiveShell(), op, dialogRef);
dialog.setBlockOnOpen(true);
final int result = dialog.open();
if (result != SapphireDialog.CANCEL) {
_sdkLabel.setText(op.getPluginsSDKName().content());
}
}
});
}
if (CoreUtil.compareVersions(new Version(projectSdk.getVersion()), ILiferayConstants.V700) < 0) {
new Label(parent, SWT.LEFT).setText(Msgs.liferayRuntimeLabel);
_runtimeCombo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
_runtimeCombo.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
String currentRuntimeName = null;
try {
ILiferayRuntime liferayRuntime = ServerUtil.getLiferayRuntime(getProject());
if (liferayRuntime != null) {
currentRuntimeName = liferayRuntime.getRuntime().getName();
}
} catch (Exception e) {
ProjectUI.logError("Could not determine liferay runtime", e);
}
List<String> runtimeNames = new ArrayList<>();
int selectionIndex = -1;
for (IRuntime runtime : ServerCore.getRuntimes()) {
if (ServerUtil.isLiferayRuntime(runtime) && FileUtil.exists(runtime.getLocation()) && (LiferayServerCore.newPortalBundle(runtime.getLocation()) == null)) {
runtimeNames.add(runtime.getName());
if (runtime.getName().equals(currentRuntimeName)) {
selectionIndex = runtimeNames.size() - 1;
}
}
}
if (ListUtil.isEmpty(runtimeNames)) {
runtimeNames.add("No Liferay runtimes available.");
}
_runtimeCombo.setItems(runtimeNames.toArray(new String[0]));
if (selectionIndex > -1) {
_runtimeCombo.select(selectionIndex);
}
}
}
} catch (Exception e) {
ProjectUI.logError("Could not determine whether its a maven project ", e);
}
}
}
use of com.liferay.ide.server.core.ILiferayRuntime in project liferay-ide by liferay.
the class DebugPortalLaunchParticipant method provideVMArgs.
public String provideVMArgs(ILaunchConfiguration configuration) {
String retval = null;
try {
String stopServer = configuration.getAttribute(STOP_SERVER, "false");
if (ILaunchManager.DEBUG_MODE.equals(saveLaunchMode) && "false".equals(stopServer)) {
final IServer server = org.eclipse.wst.server.core.ServerUtil.getServer(configuration);
final ILiferayRuntime liferayRuntime = (ILiferayRuntime) server.getRuntime().loadAdapter(ILiferayRuntime.class, null);
final Version version = new Version(liferayRuntime.getPortalVersion());
if (CoreUtil.compareVersions(version, ILiferayConstants.V620) >= 0) {
if (this.fmDebugPort != null) {
retval = NLS.bind(FM_PARAMS, PortalCore.getPreference(PortalCore.PREF_FM_DEBUG_PASSWORD), this.fmDebugPort);
} else {
// $NON-NLS-1$
PortalCore.logError("The freemarker debug port is invalid.");
}
}
}
} catch (CoreException e) {
}
return retval;
}
use of com.liferay.ide.server.core.ILiferayRuntime in project liferay-ide by liferay.
the class SDKProjectRemoteServerPublisher method publishModuleFull.
@Override
public IPath publishModuleFull(IProgressMonitor monitor) throws CoreException {
IPath deployPath = LiferayServerCore.getTempLocation("direct-deploy", StringPool.EMPTY);
File warFile = deployPath.append(getProject().getName() + ".war").toFile();
warFile.getParentFile().mkdirs();
Map<String, String> properties = new HashMap<>();
properties.put(ISDKConstants.PROPERTY_AUTO_DEPLOY_UNPACK_WAR, "false");
ILiferayRuntime runtime = ServerUtil.getLiferayRuntime(getProject());
String appServerDeployDirProp = ServerUtil.getAppServerPropertyKey(ISDKConstants.PROPERTY_APP_SERVER_DEPLOY_DIR, runtime);
properties.put(appServerDeployDirProp, deployPath.toOSString());
// IDE-1073 LPS-37923
properties.put(ISDKConstants.PROPERTY_PLUGIN_FILE_DEFAULT, warFile.getAbsolutePath());
properties.put(ISDKConstants.PROPERTY_PLUGIN_FILE, warFile.getAbsolutePath());
String fileTimeStamp = System.currentTimeMillis() + "";
// IDE-1491
properties.put(ISDKConstants.PROPERTY_LP_VERSION, fileTimeStamp);
properties.put(ISDKConstants.PROPERTY_LP_VERSION_SUFFIX, ".0");
IStatus status = _sdk.validate();
if (!status.isOK()) {
throw new CoreException(status);
}
IStatus directDeployStatus = _sdk.war(getProject(), properties, true, new String[] { "-Duser.timezone=GMT" }, monitor);
if (!directDeployStatus.isOK() || !warFile.exists()) {
String pluginVersion = "1";
IPath pluginPropertiesPath = new Path("WEB-INF/liferay-plugin-package.properties");
IWebProject webproject = LiferayCore.create(IWebProject.class, getProject());
if (webproject != null) {
IResource propsRes = webproject.findDocrootResource(pluginPropertiesPath);
if (propsRes instanceof IFile && propsRes.exists()) {
try {
PropertiesConfiguration pluginPackageProperties = new PropertiesConfiguration();
InputStream is = ((IFile) propsRes).getContents();
pluginPackageProperties.load(is);
pluginVersion = pluginPackageProperties.getString("module-incremental-version");
is.close();
} catch (Exception e) {
LiferayCore.logError("error reading module-incremtnal-version. ", e);
}
}
IPath distPath = _sdk.getLocation().append("dist");
String fullName = getProject().getName() + "-" + fileTimeStamp + "." + pluginVersion + ".0.war";
warFile = distPath.append(fullName).toFile();
if (!warFile.exists()) {
throw new CoreException(directDeployStatus);
}
}
}
return new Path(warFile.getAbsolutePath());
}
use of com.liferay.ide.server.core.ILiferayRuntime in project liferay-ide by liferay.
the class LeastVersionRuntimeValidationService method compute.
@Override
protected Status compute() {
Property property = context(Element.class).property(context(Property.class).definition());
Value<?> value = (Value<?>) property;
String runtimeName = value.content().toString();
IRuntime runtime = ServerUtil.getRuntime(runtimeName);
if (runtime == null) {
return Status.createErrorStatus("Liferay runtime must be configured.");
}
ILiferayRuntime liferayRuntime = ServerUtil.getLiferayRuntime(runtime);
Version runtimeVersion = new Version(liferayRuntime.getPortalVersion());
if (CoreUtil.compareVersions(runtimeVersion, ILiferayConstants.V620) < 0) {
return Status.createErrorStatus("Liferay runtime must be greater than 6.2.0.");
} else {
return StatusBridge.create(runtime.validate(new NullProgressMonitor()));
}
}
use of com.liferay.ide.server.core.ILiferayRuntime in project liferay-ide by liferay.
the class LiferayRuntimeStubWizardFragment method getLiferayRuntime.
protected ILiferayRuntime getLiferayRuntime() {
IRuntimeWorkingCopy runtimeWC = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
ILiferayRuntime liferayRuntime = (ILiferayRuntime) runtimeWC.loadAdapter(ILiferayRuntime.class, null);
return liferayRuntime;
}
Aggregations