diff --git a/java.api.common/manifest.mf b/java.api.common/manifest.mf
--- a/java.api.common/manifest.mf
+++ b/java.api.common/manifest.mf
@@ -1,4 +1,4 @@
Manifest-Version: 1.0
OpenIDE-Module: org.netbeans.modules.java.api.common/0
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/api/common/resources/Bundle.properties
-OpenIDE-Module-Specification-Version: 1.74
+OpenIDE-Module-Specification-Version: 1.75
diff --git a/java.api.common/nbproject/project.xml b/java.api.common/nbproject/project.xml
--- a/java.api.common/nbproject/project.xml
+++ b/java.api.common/nbproject/project.xml
@@ -201,6 +201,14 @@
+ org.netbeans.modules.web.common
+
+
+
+ 1.86
+
+
+
org.openide.actions
@@ -273,14 +281,6 @@
- org.openide.util.ui
-
-
-
- 9.3
-
-
-
org.openide.util
@@ -297,6 +297,14 @@
+ org.openide.util.ui
+
+
+
+ 9.3
+
+
+
org.openide.windows
diff --git a/java.api.common/src/org/netbeans/modules/java/api/common/queries/TemplateAttributesProviderImpl.java b/java.api.common/src/org/netbeans/modules/java/api/common/queries/TemplateAttributesProviderImpl.java
--- a/java.api.common/src/org/netbeans/modules/java/api/common/queries/TemplateAttributesProviderImpl.java
+++ b/java.api.common/src/org/netbeans/modules/java/api/common/queries/TemplateAttributesProviderImpl.java
@@ -47,13 +47,16 @@
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
+import org.netbeans.api.annotations.common.CheckForNull;
import org.netbeans.api.project.Project;
import org.netbeans.api.project.ProjectInformation;
import org.netbeans.api.project.ProjectManager;
import org.netbeans.api.project.ProjectUtils;
+import org.netbeans.modules.web.common.spi.ProjectWebRootQuery;
import org.netbeans.spi.project.support.ant.AntProjectHelper;
import org.netbeans.spi.project.support.ant.EditableProperties;
import org.netbeans.spi.queries.FileEncodingQueryImplementation;
+import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
import org.openide.loaders.CreateFromTemplateAttributesProvider;
import org.openide.loaders.DataFolder;
@@ -114,6 +117,7 @@
}
try {
Project prj = ProjectManager.getDefault().findProject(helper.getProjectDirectory());
+ assert prj != null : helper.getProjectDirectory();
ProjectInformation info = ProjectUtils.getInformation(prj);
if (info != null) {
String pname = info.getName();
@@ -125,6 +129,7 @@
values.put("displayName", pdname);// NOI18N
}
}
+ values.put("webRootPath", getWebRootPath(prj)); // NOI18N
} catch (Exception ex) {
//not really important, just log.
Logger.getLogger(TemplateAttributesProviderImpl.class.getName()).log(Level.FINE, "", ex);
@@ -136,4 +141,13 @@
return Collections.singletonMap("project", values); // NOI18N
}
}
+
+ @CheckForNull
+ private static String getWebRootPath(Project project) {
+ for (FileObject webRoot : ProjectWebRootQuery.getWebRoots(project)) {
+ return FileUtil.getRelativePath(project.getProjectDirectory(), webRoot);
+ }
+ return null;
+ }
+
}
diff --git a/web.common/manifest.mf b/web.common/manifest.mf
--- a/web.common/manifest.mf
+++ b/web.common/manifest.mf
@@ -1,5 +1,5 @@
Manifest-Version: 1.0
OpenIDE-Module: org.netbeans.modules.web.common
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/common/Bundle.properties
-OpenIDE-Module-Specification-Version: 1.85
+OpenIDE-Module-Specification-Version: 1.86
diff --git a/web.common/nbproject/project.xml b/web.common/nbproject/project.xml
--- a/web.common/nbproject/project.xml
+++ b/web.common/nbproject/project.xml
@@ -335,6 +335,7 @@
org.netbeans.modules.html.validation
org.netbeans.modules.j2ee.common
org.netbeans.modules.j2ee.earproject
+ org.netbeans.modules.java.api.common
org.netbeans.modules.javaee.project
org.netbeans.modules.javascript.bower
org.netbeans.modules.javascript.cdnjs