[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages ...
Robert Stryker
rob.stryker at jboss.com
Mon Mar 19 18:49:34 EDT 2007
User: rawb
Date: 07/03/19 18:49:34
Modified: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages
WarPackageType.java
Log:
Integration with packages
Removal of path publisher for individual files
Changes to event log label providers
Revision Changes Path
1.8 +41 -10 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/WarPackageType.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: WarPackageType.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/packages/WarPackageType.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- WarPackageType.java 5 Mar 2007 19:44:35 -0000 1.7
+++ WarPackageType.java 19 Mar 2007 22:49:34 -0000 1.8
@@ -37,6 +37,7 @@
import org.jboss.ide.eclipse.packages.core.model.DirectoryScannerFactory;
import org.jboss.ide.eclipse.packages.core.model.IPackage;
import org.jboss.ide.eclipse.packages.core.model.IPackageFolder;
+import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
/**
*
@@ -63,16 +64,42 @@
}
public IPackage fillDefaultConfiguration(IProject project, IPackage topLevel, IProgressMonitor monitor) {
+ IModule mod = getModule(project);
+ if( mod == null ) {
topLevel.setDestinationContainer(project);
IPackageFolder webinf = addFolder(project, topLevel, WEBINF);
IPackageFolder lib = addFolder(project, webinf, LIB);
IPackageFolder classes = addFolder(project, webinf, CLASSES);
addWebinfFileset(project, webinf);
- addLibFileset(project, lib);
+ addLibFileset(project, lib, true);
+ addReferencedProjectsAsLibs(project, lib);
+ addClassesFileset(project, classes);
+ } else {
+ topLevel.setDestinationContainer(project);
+ IPackageFolder webinf = addFolder(project, topLevel, WEBINF);
+ IPackageFolder lib = addFolder(project, webinf, LIB);
+ IPackageFolder classes = addFolder(project, webinf, CLASSES);
+ addWebContentFileset(project, topLevel);
+ addReferencedProjectsAsLibs(project, lib);
addClassesFileset(project, classes);
+ }
return topLevel;
}
+ // For modules only
+ protected void addWebContentFileset(IProject project, IPackageNode packageRoot) {
+ IPath projectPath = project.getLocation();
+ DirectoryScanner scanner =
+ DirectoryScannerFactory.createDirectoryScanner(projectPath, "**/WEB-INF/web.xml", null);
+ String[] files = scanner.getIncludedFiles();
+ // just take the first
+ if( files.length > 0 ) {
+ IPath path = new Path(files[0]);
+ path = path.removeLastSegments(2); // remove the file name
+ path = new Path(project.getName()).append(path); // pre-pend project name to make workspace-relative
+ addFileset(project, packageRoot, path.toOSString(), "**/*");
+ }
+ }
protected void addClassesFileset(IProject project, IPackageFolder folder) {
IJavaProject jp = JavaCore.create(project);
if( jp != null ) {
@@ -97,10 +124,12 @@
addFileset(project, folder, path.toOSString(), "**/*");
}
}
- protected void addLibFileset(IProject project, IPackageFolder folder) {
- addFileset(project, folder, project.getName(), "**/*.jar"); // add default jars
- // now add referenced projects
+ // Lib support
+ protected void addLibFileset(IProject project, IPackageFolder folder, boolean includeTopLevelJars) {
+ addFileset(project, folder, project.getName(), "**/*.jar"); // add default jars
+ }
+ protected void addReferencedProjectsAsLibs(IProject project, IPackageFolder folder) {
IJavaProject jp = JavaCore.create(project);
if( jp != null ) {
try {
@@ -120,6 +149,8 @@
}
}
}
+
+
protected void createLibFromProject(IProject project, IPackageFolder folder) {
IPackage pack = createGenericIPackage(project, null, project.getName() + ".jar");
folder.addChild(pack);
More information about the jboss-cvs-commits
mailing list