? java/j2seproject/maven-subproject Index: java/j2seproject/nbproject/project.xml =================================================================== RCS file: /cvs/java/j2seproject/nbproject/project.xml,v retrieving revision 1.42 diff -u -r1.42 project.xml --- java/j2seproject/nbproject/project.xml 26 Mar 2007 21:03:13 -0000 1.42 +++ java/j2seproject/nbproject/project.xml 6 Apr 2007 13:50:43 -0000 @@ -112,7 +112,7 @@ 1 - 1.15 + 1.16 Index: java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java =================================================================== RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java,v retrieving revision 1.80 diff -u -r1.80 J2SEProject.java --- java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java 26 Mar 2007 20:55:38 -0000 1.80 +++ java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java 6 Apr 2007 13:50:44 -0000 @@ -19,12 +19,15 @@ package org.netbeans.modules.java.j2seproject; +import org.netbeans.spi.project.ant.AntBuildExtenderImplementation; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.io.File; import java.io.IOException; +import java.util.Arrays; import java.util.Collections; +import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.Icon; @@ -36,6 +39,7 @@ import org.netbeans.api.project.ProjectInformation; import org.netbeans.api.project.ProjectManager; import org.netbeans.api.project.ant.AntArtifact; +import org.netbeans.api.project.ant.AntBuildExtender; import org.netbeans.modules.java.j2seproject.api.J2SEPropertyEvaluator; import org.netbeans.modules.java.j2seproject.classpath.ClassPathProviderImpl; import org.netbeans.modules.java.j2seproject.classpath.J2SEProjectClassPathExtender; @@ -54,7 +58,6 @@ import org.netbeans.modules.java.j2seproject.wsclient.J2SEProjectWebServicesSupportProvider; import org.netbeans.modules.websvc.api.client.WebServicesClientSupport; import org.netbeans.modules.websvc.api.jaxws.client.JAXWSClientSupport; -import org.netbeans.modules.websvc.api.jaxws.project.GeneratedFilesHelper; import org.netbeans.modules.websvc.api.jaxws.project.WSUtils; import org.netbeans.modules.websvc.api.jaxws.project.config.JaxWsModel; import org.netbeans.modules.websvc.api.jaxws.project.config.JaxWsModelProvider; @@ -65,11 +68,14 @@ import org.netbeans.spi.project.SubprojectProvider; import org.netbeans.spi.project.ant.AntArtifactProvider; import org.netbeans.spi.project.support.LookupProviderSupport; +import org.netbeans.spi.project.ant.AntBuildExtenderImplementation; +import org.netbeans.spi.project.support.ant.AntBuildExtenderSupport; import org.netbeans.spi.project.support.ant.AntProjectEvent; import org.netbeans.spi.project.support.ant.AntProjectHelper; import org.netbeans.spi.project.support.ant.AntProjectListener; import org.netbeans.spi.project.support.ant.EditableProperties; import org.netbeans.spi.project.support.ant.FilterPropertyProvider; +import org.netbeans.spi.project.support.ant.GeneratedFilesHelper; import org.netbeans.spi.project.support.ant.ProjectXmlSavedHook; import org.netbeans.spi.project.support.ant.PropertyEvaluator; import org.netbeans.spi.project.support.ant.PropertyProvider; @@ -124,13 +130,15 @@ private JaxWsModel jaxWsModel; private JaxWsListener jaxWsListener; private FileObject jaxWsFo; + private AntBuildExtender buildExtender; J2SEProject(AntProjectHelper helper) throws IOException { this.helper = helper; eval = createEvaluator(); aux = helper.createAuxiliaryConfiguration(); refHelper = new ReferenceHelper(helper, aux, eval); - genFilesHelper = new GeneratedFilesHelper(helper); + buildExtender = AntBuildExtenderSupport.createAntExtender(new J2SEExtenderImplementation()); + genFilesHelper = new GeneratedFilesHelper(helper, buildExtender); this.updateHelper = new UpdateHelper (this, this.helper, this.aux, this.genFilesHelper, UpdateHelper.createDefaultNotifier()); j2seProjectWebServicesClientSupport = new J2SEProjectWebServicesClientSupport(this, helper, refHelper); @@ -246,6 +254,7 @@ new J2SEFileBuiltQuery (this.helper, evaluator(),getSourceRoots(),getTestSourceRoots()), //Does not use APH to get/put properties/cfgdata new RecommendedTemplatesImpl (this.updateHelper), new J2SEProjectClassPathExtender(cpMod), + buildExtender, cpMod, this, // never cast an externally obtained Project to J2SEProject - use lookup instead new J2SEProjectOperations(this), @@ -278,7 +287,8 @@ } // Package private methods ------------------------------------------------- - + + /** * Returns the source roots of this project * @return project's source roots @@ -335,7 +345,7 @@ // Private innerclasses ---------------------------------------------------- - + private final class Info implements ProjectInformation { private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); @@ -397,12 +407,12 @@ genFilesHelper.refreshBuildScript( GeneratedFilesHelper.BUILD_IMPL_XML_PATH, J2SEProject.class.getResource("resources/build-impl.xsl"), - jaxWsFo, +// jaxWsFo, false); genFilesHelper.refreshBuildScript( GeneratedFilesHelper.BUILD_XML_PATH, J2SEProject.class.getResource("resources/build.xsl"), - jaxWsFo, +// jaxWsFo, false); } } @@ -421,12 +431,12 @@ genFilesHelper.refreshBuildScript( GeneratedFilesHelper.BUILD_IMPL_XML_PATH, J2SEProject.class.getResource("resources/build-impl.xsl"), - jaxWsFo, +// jaxWsFo, true); genFilesHelper.refreshBuildScript( GeneratedFilesHelper.BUILD_XML_PATH, J2SEProject.class.getResource("resources/build.xsl"), - jaxWsFo, +// jaxWsFo, true); } } catch (IOException e) { @@ -646,7 +656,7 @@ } public FileObject findJaxWsFileObject() { - return helper.getProjectDirectory().getFileObject(GeneratedFilesHelper.JAX_WS_XML_PATH); + return helper.getProjectDirectory().getFileObject(org.netbeans.modules.websvc.api.jaxws.project.GeneratedFilesHelper.JAX_WS_XML_PATH); } private JaxWsModel getJaxWsModel() { @@ -675,7 +685,8 @@ genFilesHelper.refreshBuildScript( GeneratedFilesHelper.BUILD_IMPL_XML_PATH, J2SEProject.class.getResource("resources/build-impl.xsl"), // NOI18N - jaxWsFo, false); +// jaxWsFo, + false); } catch (IOException ex) {} } @@ -683,6 +694,43 @@ } catch (IOException ex) {} } + } + + private class J2SEExtenderImplementation implements AntBuildExtenderImplementation { + + public List getExtendableTargets() { + String[] targets = new String[] { + "-do-init", "-init-check", "-post-clean", "jar" + }; + return Arrays.asList(targets); + } + + public void updateBuildExtensionMetadata(Element element) { + Element el = updateHelper.getPrimaryConfigurationData(true); + Element correctDocOne = (Element) el.getOwnerDocument().importNode(element, true); + NodeList nl = el.getElementsByTagName(AntBuildExtenderImplementation.ELEMENT_ROOT); + if (nl.getLength() == 1) { + Element old = (Element) nl.item(0); + el.replaceChild(correctDocOne, old); + } else { + el.appendChild(correctDocOne); + } + updateHelper.putPrimaryConfigurationData(el, true); + } + + public Element getBuildExtensionMetadata() { + Element el = updateHelper.getPrimaryConfigurationData(true); + NodeList nl = el.getElementsByTagName(AntBuildExtenderImplementation.ELEMENT_ROOT); + if (nl.getLength() == 1) { + return (Element) nl.item(0).cloneNode(true); + } + return null; + } + + public Project getOwningProject() { + return J2SEProject.this; + } + } } Index: java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProjectType.java =================================================================== RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProjectType.java,v retrieving revision 1.6 diff -u -r1.6 J2SEProjectType.java --- java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProjectType.java 30 Jun 2006 20:07:39 -0000 1.6 +++ java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProjectType.java 6 Apr 2007 13:50:44 -0000 @@ -32,7 +32,7 @@ public static final String TYPE = "org.netbeans.modules.java.j2seproject"; // NOI18N private static final String PROJECT_CONFIGURATION_NAME = "data"; // NOI18N - public static final String PROJECT_CONFIGURATION_NAMESPACE = "http://www.netbeans.org/ns/j2se-project/3"; // NOI18N + public static final String PROJECT_CONFIGURATION_NAMESPACE = "http://www.netbeans.org/ns/j2se-project/4"; // NOI18N private static final String PRIVATE_CONFIGURATION_NAME = "data"; // NOI18N private static final String PRIVATE_CONFIGURATION_NAMESPACE = "http://www.netbeans.org/ns/j2se-project-private/1"; // NOI18N Index: java/j2seproject/src/org/netbeans/modules/java/j2seproject/UpdateHelper.java =================================================================== RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/UpdateHelper.java,v retrieving revision 1.19 diff -u -r1.19 UpdateHelper.java --- java/j2seproject/src/org/netbeans/modules/java/j2seproject/UpdateHelper.java 26 Oct 2006 20:35:59 -0000 1.19 +++ java/j2seproject/src/org/netbeans/modules/java/j2seproject/UpdateHelper.java 6 Apr 2007 13:50:45 -0000 @@ -22,7 +22,6 @@ import java.io.IOException; import javax.swing.JButton; import org.netbeans.modules.java.j2seproject.ui.customizer.J2SEProjectProperties; -import org.netbeans.modules.websvc.api.jaxws.project.GeneratedFilesHelper; import org.w3c.dom.Comment; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -40,6 +39,7 @@ import org.netbeans.spi.project.AuxiliaryConfiguration; import org.netbeans.spi.project.support.ant.AntProjectHelper; import org.netbeans.spi.project.support.ant.EditableProperties; +import org.netbeans.spi.project.support.ant.GeneratedFilesHelper; /** @@ -205,7 +205,8 @@ public synchronized boolean isCurrent () { if (this.isCurrent == null) { if ((this.cfg.getConfigurationFragment("data","http://www.netbeans.org/ns/j2se-project/1",true) != null) || - (this.cfg.getConfigurationFragment("data","http://www.netbeans.org/ns/j2se-project/2",true) != null)) { + (this.cfg.getConfigurationFragment("data","http://www.netbeans.org/ns/j2se-project/2",true) != null) || + (this.cfg.getConfigurationFragment("data","http://www.netbeans.org/ns/j2se-project/3",true) != null)) { this.isCurrent = Boolean.FALSE; } else { this.isCurrent = Boolean.TRUE; @@ -240,6 +241,7 @@ this.helper.putPrimaryConfigurationData(getUpdatedSharedConfigurationData(),true); this.cfg.removeConfigurationFragment("data","http://www.netbeans.org/ns/j2se-project/1",true); //NOI18N this.cfg.removeConfigurationFragment("data","http://www.netbeans.org/ns/j2se-project/2",true); //NOI18N + this.cfg.removeConfigurationFragment("data","http://www.netbeans.org/ns/j2se-project/3",true); //NOI18N ProjectManager.getDefault().saveProject (this.project); synchronized(this) { this.isCurrent = Boolean.TRUE; @@ -271,6 +273,15 @@ Element newRoot = doc.createElementNS (J2SEProjectType.PROJECT_CONFIGURATION_NAMESPACE,"data"); //NOI18N copyDocument (doc, oldRoot, newRoot); cachedElement = updateMinAntVersion (newRoot, doc); + } else { + oldRoot = this.cfg.getConfigurationFragment("data","http://www.netbeans.org/ns/j2se-project/3",true); //NOI18N + if (oldRoot != null) { + Document doc = oldRoot.getOwnerDocument(); + Element newRoot = doc.createElementNS (J2SEProjectType.PROJECT_CONFIGURATION_NAMESPACE,"data"); //NOI18N + copyDocument (doc, oldRoot, newRoot); + cachedElement = updateMinAntVersion (newRoot, doc); + //TODO anything else?? + } } } } Index: java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl =================================================================== RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl,v retrieving revision 1.88 diff -u -r1.88 build-impl.xsl --- java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl 6 Apr 2007 05:42:22 -0000 1.88 +++ java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl 6 Apr 2007 13:50:49 -0000 @@ -24,6 +24,7 @@ xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject2="http://www.netbeans.org/ns/j2se-project/2" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" + xmlns:j2seproject4="http://www.netbeans.org/ns/j2se-project/4" xmlns:projdeps="http://www.netbeans.org/ns/ant-project-references/1" xmlns:projdeps2="http://www.netbeans.org/ns/ant-project-references/2" xmlns:jaxws="http://www.netbeans.org/ns/jax-ws/1" Index: java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build.xsl =================================================================== RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build.xsl,v retrieving revision 1.10 diff -u -r1.10 build.xsl --- java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build.xsl 30 Jun 2006 20:07:41 -0000 1.10 +++ java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build.xsl 6 Apr 2007 13:50:49 -0000 @@ -20,7 +20,7 @@ Index: java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/j2se-project4.xsd =================================================================== RCS file: java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/j2se-project4.xsd diff -N java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/j2se-project4.xsd --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ java/j2seproject/src/org/netbeans/modules/java/j2seproject/resources/j2se-project4.xsd 6 Apr 2007 13:50:49 -0000 @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerProviderImpl.java =================================================================== RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerProviderImpl.java,v retrieving revision 1.11 diff -u -r1.11 CustomizerProviderImpl.java --- java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerProviderImpl.java 1 Mar 2007 10:11:48 -0000 1.11 +++ java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerProviderImpl.java 6 Apr 2007 13:50:49 -0000 @@ -32,7 +32,7 @@ import org.netbeans.api.project.ProjectUtils; import org.netbeans.modules.java.j2seproject.J2SEProject; import org.netbeans.modules.java.j2seproject.UpdateHelper; -import org.netbeans.modules.websvc.api.jaxws.project.GeneratedFilesHelper; +import org.netbeans.spi.project.support.ant.GeneratedFilesHelper; import org.netbeans.spi.project.support.ant.PropertyEvaluator; import org.netbeans.spi.project.support.ant.ReferenceHelper; import org.netbeans.spi.project.ui.CustomizerProvider; Index: java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/J2SEProjectProperties.java =================================================================== RCS file: /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/J2SEProjectProperties.java,v retrieving revision 1.64 diff -u -r1.64 J2SEProjectProperties.java --- java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/J2SEProjectProperties.java 22 Mar 2007 19:09:27 -0000 1.64 +++ java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/J2SEProjectProperties.java 6 Apr 2007 13:50:50 -0000 @@ -50,10 +50,10 @@ import org.netbeans.modules.java.j2seproject.SourceRoots; import org.netbeans.modules.java.j2seproject.UpdateHelper; import org.netbeans.modules.java.j2seproject.classpath.ClassPathSupport; -import org.netbeans.modules.websvc.api.jaxws.project.GeneratedFilesHelper; import org.netbeans.spi.java.project.support.ui.IncludeExcludeVisualizer; import org.netbeans.spi.project.support.ant.AntProjectHelper; import org.netbeans.spi.project.support.ant.EditableProperties; +import org.netbeans.spi.project.support.ant.GeneratedFilesHelper; import org.netbeans.spi.project.support.ant.PropertyEvaluator; import org.netbeans.spi.project.support.ant.ReferenceHelper; import org.netbeans.spi.project.support.ant.ui.StoreGroup; @@ -352,8 +352,8 @@ final FileObject projectDir = updateHelper.getAntProjectHelper().getProjectDirectory(); public Boolean run() throws IOException { if ((genFileHelper.getBuildScriptState(GeneratedFilesHelper.BUILD_IMPL_XML_PATH, - J2SEProject.class.getResource("resources/build-impl.xsl"), //NOI18N - findJaxWsFileObject(projectDir)) + J2SEProject.class.getResource("resources/build-impl.xsl")//, //NOI18N + /**findJaxWsFileObject(projectDir) **/) & GeneratedFilesHelper.FLAG_MODIFIED) == GeneratedFilesHelper.FLAG_MODIFIED) { //NOI18N if (showModifiedMessage (NbBundle.getMessage(J2SEProjectProperties.class,"TXT_ModifiedTitle"))) { //Delete user modified build-impl.xml @@ -703,9 +703,9 @@ } } - private FileObject findJaxWsFileObject(FileObject projectDir) { - return projectDir.getFileObject(GeneratedFilesHelper.JAX_WS_XML_PATH); - } +// private FileObject findJaxWsFileObject(FileObject projectDir) { +// return projectDir.getFileObject(GeneratedFilesHelper.JAX_WS_XML_PATH); +// } void loadIncludesExcludes(IncludeExcludeVisualizer v) { Set roots = new HashSet();