protected boolean shouldFullBuild(Map args) throws CoreException { if (args != null && args.get("force") != null && args.get("force").equals("true")) { return true; } // check to see if there is any files in the _diffs folder // IDE-110 IDE-648 final IWebProject lrproject = LiferayCore.create(IWebProject.class, getProject()); if (lrproject != null && lrproject.getDefaultDocrootFolder() != null) { final IFolder webappRoot = lrproject.getDefaultDocrootFolder(); if (webappRoot != null) { IFolder diffs = webappRoot.getFolder(new Path("_diffs")); if (diffs != null && diffs.exists()) { IResource[] diffMembers = diffs.members(); if (!CoreUtil.isNullOrEmpty(diffMembers)) { return true; } } } } return false; }
public static IFolder getDefaultDocrootFolder(IProject project) { IFolder retval = null; final IWebProject webproject = LiferayCore.create(IWebProject.class, project); if (webproject != null) { retval = webproject.getDefaultDocrootFolder(); } return retval; }
private static IStatus removeSampleCodeAndFiles(NewLiferayPluginProjectOp op) { IStatus status = org.eclipse.core.runtime.Status.OK_STATUS; final boolean includeSampleCode = op.getIncludeSampleCode().content(); if (!includeSampleCode) { final IProject project = CoreUtil.getLiferayProject(op.getFinalProjectName().content()); if (project != null && project.exists()) { ProjectCore.operate(project, RemoveSampleElementsOperation.class); // delete sample files: view.jsp, main.css, main.js try { final IWebProject webproject = LiferayCore.create(IWebProject.class, project); if (webproject != null) { final IFolder docroot = webproject.getDefaultDocrootFolder(); final IFile[] sampleFiles = { docroot.getFile("view.jsp"), docroot.getFile("css/main.css"), docroot.getFile("js/main.js") }; for (IFile file : sampleFiles) { if (file != null && file.exists()) { file.delete(true, new NullProgressMonitor()); if (file.getParent().members().length == 0) { CoreUtil.deleteResource(file.getParent()); } } } } } catch (CoreException e) { ProjectCore.logError("Error deleting sample files.", e); } } } return status; }
public static void ensureLookAndFeelFileExists(IProject project) throws CoreException { // IDE-110 IDE-648 final IWebProject lrProject = LiferayCore.create(IWebProject.class, project); if (lrProject == null) { return; } IFile lookAndFeelFile = null; final IResource res = lrProject.findDocrootResource( new Path("WEB-INF/" + ILiferayConstants.LIFERAY_LOOK_AND_FEEL_XML_FILE)); if (res instanceof IFile && res.exists()) { lookAndFeelFile = (IFile) res; } if (lookAndFeelFile == null) { // need to generate a new lnf file in deafult docroot String id = project.getName().replaceAll(ISDKConstants.THEME_PLUGIN_PROJECT_SUFFIX, StringPool.EMPTY); final IResource propertiesFileRes = lrProject.findDocrootResource( new Path("WEB-INF/" + ILiferayConstants.LIFERAY_PLUGIN_PACKAGE_PROPERTIES_FILE)); String name = id; if (propertiesFileRes instanceof IFile && propertiesFileRes.exists()) { Properties props = new Properties(); try { final IFile propsFile = (IFile) propertiesFileRes; final InputStream contents = propsFile.getContents(); props.load(contents); contents.close(); final String nameValue = props.getProperty("name"); // $NON-NLS-1$ if (!CoreUtil.isNullOrEmpty(nameValue)) { name = nameValue; } final ThemeDescriptorHelper themeDescriptorHelper = new ThemeDescriptorHelper(project); final ILiferayProject lProject = lrProject; final ILiferayPortal portal = lProject.adapt(ILiferayPortal.class); String version = "6.2.0"; if (portal != null) { version = portal.getVersion(); } final String themeType = lProject.getProperty("theme.type", "vm"); themeDescriptorHelper.createDefaultFile( lrProject.getDefaultDocrootFolder().getFolder("WEB-INF"), version, id, name, themeType); } catch (IOException e) { ThemeCore.logError("Unable to load plugin package properties.", e); // $NON-NLS-1$ } } } }