/** * Doesn't check given arguments. Be sure they are valid as supposed by * {@link PropertyUtils#relativizeFile(File, File)} method. */ private String getProjectPath(FileObject file) { return PropertyUtils.relativizeFile( FileUtil.toFile(getProject().getProjectDirectory()), FileUtil.normalizeFile(FileUtil.toFile(file))); } }
/** * @return absolute file path (possibly resolved to the given base folder) */ public String getAbsoluteFilePath(FileObject baseFolder) { File file = new File(filePath); if (file.isAbsolute()) { return file.getAbsolutePath(); } return PropertyUtils.resolveFile(FileUtil.toFile(baseFolder), filePath).getAbsolutePath(); }
private List<Variable> readVariables() { List<Variable> vs = new ArrayList<Variable>(); EditableProperties ep = PropertyUtils.getGlobalProperties(); for (Map.Entry<String, String> entry : ep.entrySet()) { if (entry.getKey().startsWith(VARIABLE_PREFIX)) { vs.add(new Variable(entry.getKey().substring(VARIABLE_PREFIX.length()), FileUtil.normalizeFile(new File(entry.getValue())))); } } return vs; }
public void run () { try { recoverDefaultPlatform (); EditableProperties ep = PropertyUtils.getGlobalProperties(); boolean save = updateSourceLevel(ep); save |= updateBuildProperties (ep); if (save) { PropertyUtils.putGlobalProperties (ep); } } catch (IOException ioe) { Exceptions.printStackTrace(ioe); } } });
private PropertyEvaluator createEvaluator() { PropertyEvaluator baseEval2 = PropertyUtils.sequentialPropertyEvaluator( projectHelper.getStockPropertyPreprovider(), projectHelper.getPropertyProvider(AntProjectHelper.PRIVATE_PROPERTIES_PATH)); return PropertyUtils.sequentialPropertyEvaluator( projectHelper.getStockPropertyPreprovider(), projectHelper.getPropertyProvider(AntProjectHelper.PRIVATE_PROPERTIES_PATH), PropertyUtils.userPropertiesProvider(baseEval2, "user.properties.file", FileUtil.toFile(getProjectDirectory())), // NOI18N projectHelper.getPropertyProvider(AntProjectHelper.PROJECT_PROPERTIES_PATH)); }
public void setPhpGlobalIncludePath(String phpGlobalIncludePath) { getPreferences().put(PHP_GLOBAL_INCLUDE_PATH, phpGlobalIncludePath); // update global ant properties as well (global include path can be used in project's include path) EditableProperties globalProperties = PropertyUtils.getGlobalProperties(); globalProperties.setProperty(PhpProjectProperties.GLOBAL_INCLUDE_PATH, phpGlobalIncludePath); try { PropertyUtils.putGlobalProperties(globalProperties); } catch (IOException ex) { Exceptions.printStackTrace(ex); } }
private void rememberLibraryLocation() { libraryWithinProject = false; absolutesRelPath = null; libraryPath = project.getAntProjectHelper().getLibrariesLocation(); if (libraryPath != null) { File prjRoot = FileUtil.toFile(project.getProjectDirectory()); libraryFile = PropertyUtils.resolveFile(prjRoot, libraryPath); if (FileOwnerQuery.getOwner(libraryFile.toURI()) == project && libraryFile.getAbsolutePath().startsWith(prjRoot.getAbsolutePath())) { //do not update the relative path if within the project.. libraryWithinProject = true; FileObject fo = FileUtil.toFileObject(libraryFile); if (new File(libraryPath).isAbsolute() && fo != null) { // if absolte path within project, it will get moved/copied.. absolutesRelPath = FileUtil.getRelativePath(project.getProjectDirectory(), fo); } } } }
@NbBundle.Messages({ "ProjectUtilities_FailedCreateOutputFolderMsg=Failed to create build output folder: {0}" }) public static FileObject getOrCreateBuildFolder(Project project, String buildDirProp) { FileObject buildDir = FileUtil.toFileObject(PropertyUtils.resolveFile(FileUtil.toFile(project.getProjectDirectory()), buildDirProp)); if (buildDir == null) { try { // TODO: if buildDirProp is absolute, relativize via PropertyUtils buildDir = FileUtil.createFolder(project.getProjectDirectory(), buildDirProp); } catch (IOException e) { Bundle.ProjectUtilities_FailedCreateOutputFolderMsg(e.getMessage()); ErrorManager.getDefault().notify(ErrorManager.ERROR, e); return null; } } return buildDir; }
EditableProperties ep = h.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH); EditableProperties epPriv = h.getProperties(AntProjectHelper.PRIVATE_PROPERTIES_PATH); Element sourceRoots = doc.createElementNS(EjbJarProjectType.PROJECT_CONFIGURATION_NAMESPACE,"source-roots"); //NOI18N root.setAttribute("name",NbBundle.getMessage(EjbJarProjectGenerator.class, "NAME_src.dir")); sourceRoots.appendChild(root); ep.setProperty("src.dir", srcRoot); // NOI18N root.setAttribute("name",NbBundle.getMessage(EjbJarProjectGenerator.class, "NAME_test.src.dir")); testRoots.appendChild(root); ep.setProperty("test.src.dir", testRoot); // NOI18N ep.setProperty(EjbJarProjectProperties.RESOURCE_DIR, resources); } else { ep.setProperty(EjbJarProjectProperties.RESOURCE_DIR, DEFAULT_RESOURCE_FOLDER); ep.setProperty(EjbJarProjectProperties.DIST_EAR_JAR, "${"+EjbJarProjectProperties.DIST_DIR+"}/" + "${" + EjbJarProjectProperties.JAR_NAME + "}"); ep.setProperty(EjbJarProjectProperties.J2EE_PLATFORM, j2eeProfile.toPropertiesString()); ep.setProperty(EjbJarProjectProperties.JAR_NAME, PropertyUtils.getUsablePropertyName(name) + ".jar"); ep.setProperty(EjbJarProjectProperties.JAR_COMPRESS, "false"); String ref = createFileReference(referenceHelper, dirFO, FileUtil.toFileObject(configFiles)); EditableProperties props = h.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH); props.setProperty(EjbJarProjectProperties.META_INF, ref); String ref = createFileReference(referenceHelper, dirFO, FileUtil.toFileObject(libraries)); EditableProperties props = h.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH); props.setProperty(EjbJarProjectProperties.LIBRARIES_DIR, ref);
@Messages("TXT_AlreadyExists=<html>The file {0} already exists in the library folder.<br>Using the existing file.") private void updateReference(File oldFile, String key, boolean main, FileObject dir) { final FileObject src = FileUtil.toFileObject(oldFile); if (src == null) { assert !oldFile.exists() : "The file: " + oldFile.getAbsolutePath() + " exists but FileObject cannot be found."; //NOI18N newFile = FileUtil.copyFile(src, dir, src.getName()); newFile = src; File absFile = FileUtil.toFile(newFile); String newVal = PropertyUtils.relativizeFile(FileUtil.toFile(ahelper.getProjectDirectory()), absFile); if (newVal == null) {
if (loc.trim().length() > -1) { try { File base = FileUtil.toFile(uiProperties.getProject().getProjectDirectory()); File location = FileUtil.normalizeFile(PropertyUtils.resolveFile(base, loc)); URL url = location.toURI().toURL(); man = LibraryManager.forLocation(url);
String relativized = PropertyUtils.relativizeFile(FileUtil.toFile(project.getProjectDirectory()), file); if (relativized != null) { project.getAntProjectHelper().setLibrariesLocation(relativized); } else { project.getAntProjectHelper().setLibrariesLocation(file.getAbsolutePath()); project.getAntProjectHelper().setLibrariesLocation(PropertyUtils.resolveFile(FileUtil.toFile(project.getProjectDirectory()), original.absolutesRelPath).getAbsolutePath());
@Messages("ERR_LibraryExists=The library {0} already exists, reusing the old definition.") public void actionPerformed(ActionEvent e) { String loc = helper.getLibrariesLocation(); assert loc != null; File mainPropertiesFile = helper.resolveFile(loc); try { LibraryManager man = LibraryManager.forLocation(Utilities.toURI(mainPropertiesFile).toURL()); if ("jar".equals(url.getProtocol())) { // NOI18N jarFolder = getJarFolder(URI.create(url.toExternalForm())); url = FileUtil.getArchiveFile(url); if (fo != null) { if (keepRelativeLocations) { File path = FileUtil.toFile(fo); String str = PropertyUtils.relativizeFile(mainPropertiesFile.getParentFile(), path); if (str == null) { File path = FileUtil.toFile(fo); uri = Utilities.toURI(path);
EditableProperties globalProperties = PropertyUtils.getGlobalProperties(); if(globalProperties.getProperty(WSCOMPILE_TOOLS_CLASSPATH) == null) { globalProperties.setProperty(WSCOMPILE_TOOLS_CLASSPATH, "${java.home}\\..\\lib\\tools.jar"); // NOI18N PropertyUtils.putGlobalProperties(globalProperties); } catch(IOException ex) { NotifyDescriptor desc = new NotifyDescriptor.Message( EditableProperties projectProperties = helper.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH); String wscClientClasspath = projectProperties.getProperty(WSCOMPILE_CLASSPATH); if(wscClientClasspath != null) { String [] libs = PropertyUtils.tokenizePath(wscClientClasspath); for(int i = 0; i < libs.length; i++) { wscJars.add(libs[i]); helper.putProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH, projectProperties);
/** * Browse for a file from the given directory and return the relative path or <code>null</code> if nothing selected. * @param folder folder to browse files from. * @param preselected the preselected value, can be null. * @return the relative path to folder or <code>null</code> if nothing selected. */ public static String browseFolderFile(PhpVisibilityQuery phpVisibilityQuery, FileObject folder, String preselected) throws FileNotFoundException { if (folder == null) { throw new FileNotFoundException(); } FileObject selected = BrowseFolders.showDialog(phpVisibilityQuery, new FileObject[] {folder}, DataObject.class, securePreselected(preselected, true)); if (selected != null) { return PropertyUtils.relativizeFile(FileUtil.toFile(folder), FileUtil.toFile(selected)); } return null; }
private void updateFolder(JTextField textField) { JFileChooser chooser = new JFileChooser(); FileUtil.preventFileChooserSymlinkTraversal(chooser, null); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); File fileName = new File(textField.getText()); File folder = fileName.isAbsolute() ? fileName : new File(projectFld, fileName.getPath()); if (folder.exists()) { chooser.setSelectedFile(folder); } else { chooser.setSelectedFile(projectFld); } if (JFileChooser.APPROVE_OPTION == chooser.showOpenDialog(this)) { File selected = FileUtil.normalizeFile(chooser.getSelectedFile()); String newFolder; if (CollocationQuery.areCollocated(projectFld, selected)) { newFolder = PropertyUtils.relativizeFile(projectFld, selected); } else { newFolder = selected.getPath(); } textField.setText(newFolder); } }
private void setWebRoot(PhpProjectGenerator.ProjectProperties createProperties, EditableProperties projectProperties, EditableProperties privateProperties, List<PhpModuleProperties> phpModuleProperties) { for (PhpModuleProperties properties : phpModuleProperties) { FileObject webRoot = properties.getWebRoot(); if (webRoot != null) { String relPath = PropertyUtils.relativizeFile(createProperties.getSourcesDirectory(), FileUtil.toFile(webRoot)); assert relPath != null && !relPath.startsWith("../") : "WebRoot must be underneath Sources"; projectProperties.setProperty(PhpProjectProperties.WEB_ROOT, relPath); break; // 1st wins } } }
private static void configureSources(AntProjectHelper helper, ProjectProperties projectProperties, EditableProperties sharedProperties, EditableProperties privateProperties) { File srcDir = projectProperties.getSourcesDirectory(); File projectDirectory = FileUtil.toFile(helper.getProjectDirectory()); String srcPath = PropertyUtils.relativizeFile(projectDirectory, srcDir); if (srcPath == null) { // path cannot be relativized => use absolute path (any VCS can be hardly use, of course) srcPath = srcDir.getAbsolutePath(); } sharedProperties.setProperty(PhpProjectProperties.SRC_DIR, srcPath); sharedProperties.setProperty(PhpProjectProperties.WEB_ROOT, "."); // NOI18N sharedProperties.setProperty(PhpProjectProperties.PHP_VERSION, projectProperties.getPhpVersion().name()); // NOI18N }
private PropertyEvaluator createEvaluator() { // XXX might need to add a custom evaluator to handle active platform substitutions... TBD helper.getStandardPropertyEvaluator();//workaround for issue for #181253, need to call before custom creation PropertyEvaluator baseEval2 = PropertyUtils.sequentialPropertyEvaluator( helper.getStockPropertyPreprovider(), helper.getPropertyProvider(AntProjectHelper.PRIVATE_PROPERTIES_PATH)); return PropertyUtils.sequentialPropertyEvaluator( helper.getStockPropertyPreprovider(), helper.getPropertyProvider(AntProjectHelper.PRIVATE_PROPERTIES_PATH), helper.getProjectLibrariesPropertyProvider(), PropertyUtils.userPropertiesProvider(baseEval2, "user.properties.file", FileUtil.toFile(getProjectDirectory())), // NOI18N helper.getPropertyProvider(AntProjectHelper.PROJECT_PROPERTIES_PATH), UPDATE_PROPERTIES); }
private PropertyEvaluator createEvaluator() { // It is currently safe to not use the UpdateHelper for PropertyEvaluator; UH.getProperties() delegates to APH // Adapted from APH.getStandardPropertyEvaluator (delegates to ProjectProperties): PropertyEvaluator baseEval1 = PropertyUtils.sequentialPropertyEvaluator( helper.getStockPropertyPreprovider(), helper.getPropertyProvider(PhpConfigurationProvider.CONFIG_PROPS_PATH)); PropertyEvaluator baseEval2 = PropertyUtils.sequentialPropertyEvaluator( helper.getStockPropertyPreprovider(), helper.getPropertyProvider(AntProjectHelper.PRIVATE_PROPERTIES_PATH)); return PropertyUtils.sequentialPropertyEvaluator( helper.getStockPropertyPreprovider(), helper.getPropertyProvider(PhpConfigurationProvider.CONFIG_PROPS_PATH), new ConfigPropertyProvider(baseEval1, "nbproject/private/configs", helper), // NOI18N helper.getPropertyProvider(AntProjectHelper.PRIVATE_PROPERTIES_PATH), helper.getProjectLibrariesPropertyProvider(), PropertyUtils.userPropertiesProvider(baseEval2, "user.properties.file", FileUtil.toFile(getProjectDirectory())), // NOI18N new ConfigPropertyProvider(baseEval1, "nbproject/configs", helper), // NOI18N helper.getPropertyProvider(AntProjectHelper.PROJECT_PROPERTIES_PATH)); }