This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | "unsupported element customize" in build-impl.xml running test after openning project with NetBeans IDE 7.2 | ||
---|---|---|---|
Product: | java | Reporter: | netmackan <netmackan> |
Component: | JUnit | Assignee: | Theofanis Oikonomou <theofanis> |
Status: | RESOLVED INCOMPLETE | ||
Severity: | normal | CC: | anebuzelsky, jtulach, jungi, mjanicek, mmirilovic, sberthiaume, theofanis, tzezula |
Priority: | P1 | ||
Version: | 7.2 | ||
Hardware: | PC | ||
OS: | Linux | ||
URL: | http://wiki.netbeans.org/ProjectJunitMigrationToNB72 | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: |
Output from running ant test
Diff with changes done to the project after opening it with 7.2 Patch of SignServer-Test-System/build.xml |
Created attachment 122377 [details]
Diff with changes done to the project after opening it with 7.2
Attaching diff with the changes NB 7.2 performed wich broke "ant test".
Link to issue in the affected open source project: https://jira.primekey.se/browse/DSS-511 I got an idea that the issue could have been because all required projects by the project SignServer-Test-System wasn't opened with NB 7.2 yet and thus not upgraded and that could be the reason why the test build fails. However, I now tried opening all projects and cleaning and building but after that I am still getting the same results :( Same issue here. Migrating from NB 6.9.1, right of the bat all my build-impl.xml gets changed, but when I try to run tests I get that error. So eager to move away from NB 6.9.1, this bursts by bubble big time :( Caused by TestNG integration. Seems that the macros are using implicit attribute in definition which is wrong. I will download the SignServer 3.4, try to reproduce and fix it. Great (I assume you meant SignServer 3.2, but I suppose the same issue is also for trunk). You can download the latest release or checkout from SVN, see the SourceForge page (http://sourceforge.net/projects/signserver/) or signserver.org. Let me know if you need any assistance. I've downloaded the signserver and test it. I've found the problem, the Test NG integration has broken API compatibility and incompatibly changed the junit macro. People should care about API compatibility even it's not java. I am sure Lukáš did not want to introduce incompatibility. Too bad it sneaked through our review. Unfortunately the incompatible API change causes that the problem is unfixable. There are 2 different signatures of junit macro with the same version (namespace). If I do the compatible change now (the change that should be done when the Test-NG was added) I will break the other (the NB 7.2) signature. I am at least attaching the patch of SignServer-Test-System/build.xml which resolves the problem for netmackan. Created attachment 123671 [details]
Patch of SignServer-Test-System/build.xml
Reassigning to the owner to realize that incompatible changes are evil :-) In fact you need to close the issue as it has no solution because it's already part of released product. It will be good to create a migration wiki page on netbeans.org as people will need to update the customized junit macrodef. Thank you Tomas! I will try patching my build xml. incompatible change has not really been intentional :-( Apart from documenting this, just an idea - would fixing this by changing junit macro to become compatible and increasing its version to '4' help? It will not help, as the existing dependencies are for version 3. ok, so I tried to document it in http://wiki.netbeans.org/ProjectJunitMigrationToNB72 Can you please check it, so I can eventually make it a bit more verbose etc.? Thanks Lukas, I think it's perfect. Lukasi, I have included a link to your wiki page in FAQs at http://wiki.netbeans.org/NetBeansUserFAQ#Ant Closing wontfix now. Thanks. Please fix this. I have the same problem preventing me from running tests in various project using NB 7.2, including one with a completely empty, non-customised build.xml We don't use TestNG and we don't have any "customized junit macro definition" as far as I know. I don't understand the linked wiki page which doesn't offer any explanation of what a "customized junit macro definition" is, nor where it would be found if we had one. If there is a work-around that we can use, could you please elaborate EXACTLY what we need to change in WHICH file/s to run our tests. (In reply to comment #18) > Please fix this. I have the same problem preventing me from running tests in > various project using NB 7.2, including one with a completely empty, > non-customised build.xml can you attach your project (or at least minimal project to reproduce the issue you're seeing) to this issue, please? thanks. > > We don't use TestNG and we don't have any "customized junit macro definition" > as far as I know. I don't understand the linked wiki page which doesn't offer > any explanation of what a "customized junit macro definition" is, nor where it > would be found if we had one. > > If there is a work-around that we can use, could you please elaborate EXACTLY > what we need to change in WHICH file/s to run our tests. Closing again until the requested information is provided. Our projects are all full of proprietary code which I'm not able to release. However, I can show you the ant target which Netbeans 7.2 keeps inserting in build-impl.xml: <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl"> <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2"> <attribute default="${includes}" name="includes"/> <attribute default="${excludes}" name="excludes"/> <attribute default="**" name="testincludes"/> <attribute default="" name="testmethods"/> <element implicit="true" name="customize" optional="true"/> <sequential> <webproject2:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> <customize/> </webproject2:junit> </sequential> </macrodef> </target> This results in the error "unsupported element customize", exactly the same problem seen by netmackan and sberthiaume. For further information: this bug is hitting us not only with migrating existing code to Netbeans 7.2, but with NEW projects created from scratch in Netbeans 7.2. To eliminate the possibility of something broken in the project.xml or properties of existing projects, I created a new Java EE6 Web Project; copied in some Java source code; set some jars as dependencies (mostly Spring 3.2 and OpenJPA 2.2.1); tried to run the tests and immediately got the error above. So this isn't just a migration problem, it's a problem for starting new projects in Netbeans as well. (In reply to comment #22) > it's a problem for starting new > projects in Netbeans as well. I tried to reproduce it by creating a NEW web project, actually used the one from this tutorial: http://netbeans.org/kb/docs/javaee/javaee-entapp-junit.html, but it worked as expected for me both in 7.2 and 7.2.1 So please reopen stating the exact steps you are using to help me reproduce. Thank you The steps were: I created a new Java EE6 Web Project; copied in some Java source code; set some jars as dependencies (mostly Spring 3.2 and OpenJPA 2.2.1); tried to run the tests and immediately got the error above. That's literally all. Surely you don't need me to go into the level of detail of "I clicked on the New Project Icon in the top left hand corner". As I said, the code itself is proprietary so I can't share that, but in case it helps, I can tell you the jars the project uses: Apache Commons logging, Apache OpenJPA, GWT, most of Spring, aopalliance, mailapi, smtp. And Junit 4 for compiling tests. If you read all the comments for this issue, you should also be able to reproduce the problem by downloading the sources for SignServer. I have asked for more information about the workaround which worked for them but nobody has answered my question yet. (In reply to comment #24) > The steps were: I created a new Java EE6 Web Project; copied > in some Java source code; set some jars as dependencies (mostly Spring 3.2 and > OpenJPA 2.2.1); tried to run the tests and immediately got the error above. well since I cannot tell what is added/modified I cannot reproduce as it works for me as I described in comment 23 > > That's literally all. Surely you don't need me to go into the level of detail > of "I clicked on the New Project Icon in the top left hand corner". of course not > > As I said, the code itself is proprietary so I can't share that, but in case it > helps, I can tell you the jars the project uses: Apache Commons logging, Apache > OpenJPA, GWT, most of Spring, aopalliance, mailapi, smtp. And Junit 4 for > compiling tests. > > If you read all the comments for this issue, you should also be able to > reproduce the problem by downloading the sources for SignServer. I have asked > for more information about the workaround which worked for them but nobody has > answered my question yet. You described another situation which is that the issue is there even for new projects created in 7.2, which as I stated before I could not reproduce. From the other comments I concluded that the issue (opening projects created with older versions of netbeans with 7.2) is fixed if you modify your build script. For example you can see how this was done for the SignServer case here: http://signserver.svn.sourceforge.net/viewvc/signserver/trunk/signserver/modules/SignServer-Test-System/build.xml?r1=2061&r2=2839, which is what is described in the wiki page. Have you modified your build script in such a way? Please reopen if you have and the problem still exists. Thank you What do you mean by "in such a way"? I have seen the diff, but there's no indication of what was there before. I have downloaded SignServer, but the diff did not appear to apply to build.xml. For the third time, could someone please explain EXACTLY what worked for SignServer so that I can try the same thing? And please stop repeatedly closing this issue while I (and probably others) still have a problem. (In reply to comment #26) > What do you mean by "in such a way"? > > I have seen the diff, but there's no indication of what was there before. > > I have downloaded SignServer, but the diff did not appear to apply to > build.xml. > > For the third time, could someone please explain EXACTLY what worked for > SignServer so that I can try the same thing? > > And please stop repeatedly closing this issue while I (and probably others) > still have a problem. Hi harleyjw, In SignServer I had overridden the "-init-macrodef-junit" target because I wanted to change it slightly. When posting this bug report, at first, I did not realize that it was the problem. After following the suggestions made here and updating the target as now showned in th diff from revision 2061 to 2839 as posted by theofanis in posting #25 running the tests in SignServer works fine. If you are saying that you have not modified any Ant script then your issue seems to be slightly different. In order to troubleshoot this I think you should do as Lucas says and create a minimal project showing the problem. I don't think you would have to include any proprietary source code to do that, right? Best regards, Markus The problem doesn't occur when I create a minimal project, only when I add some of our existing source code and the jars needed to compile it. So I guess the problem is somewhere in our sources (which all compile without warning) or dependencies (all standard OSS jars). All of which worked fine until we upgraded to Netbeans 7.2. (In reply to comment #28) > The problem doesn't occur when I create a minimal project, only when I add some > of our existing source code and the jars needed to compile it. this seems to be the exact opposite from what you stated in comment 22. > > So I guess the problem is somewhere in our sources (which all compile without > warning) or dependencies (all standard OSS jars). All of which worked fine > until we upgraded to Netbeans 7.2. you have repeatedly asked for "EXACT" directions on how to solve this. I believe this was done, eg comment 25 and comment 27. There is no answer from your part if you have tried the suggestions and/or what went wrong or something. I guess that you have modified a junit macrodef in your build script because otherwise you wouldn't have an issue when upgrading to 7.2, so please stop reopening unless you tried to apply the work-around and then report back. Thank you If you read the second paragraph of comment 22, and not just the first, you will see that it says exactly the same as I said in comment 28. If you read comment 18 you will see that I have not modified a junit macrodef. I listed the steps I took in comment 24 and it did not include modifying any build scripts. Just to be 100% clear, I get this problem in a newly created project (with no modifications whatsoever to build.xml or any other file under nbproject) as soon as I copy in some actual Java test code to run. And as I said in comment 26, please stop closing this issue while I have an ongoing problem. Since I still have this problem, I am open to further suggestions how to approach it. But please note, providing a suggestion for me to try is not the same as fixing this bug. second paragraph of comment 22: "To eliminate the possibility of something broken in the project.xml or properties of existing projects, I created a new Java EE6 Web Project; copied in some Java source code; set some jars as dependencies (mostly Spring 3.2 and OpenJPA 2.2.1); tried to run the tests and immediately got the error above." what do you mean by 'some Java source code' or by 'set some jars as dependencies'? to which folder do you copy them? how exactly do you set up your dependencies - do you use add jar or add library? How is your description different from 'I have a class which I added to the project and the project does not compile even though it compile if I do same steps in previous version'? Unfortunately in this case nobody can read anyone else mind. Perhaps the only relevant piece of information you gave us in this issue was in one sentence in comment 24 which got completely lost to all of us: 'And Junit 4 for compiling tests.' Can you, please, start describing steps from creating new project through adding JUnit 4 library (which version exactly? does it include JUnit 3 classes?) to failed test execution? Did you allow NB to download/install its own JUnit or not? Did you create some test using New Test wizard in NB? Are junit or testng classes included directly in any of your dependencies? Can you execute Ant in debug mode (Tools->Options->Java->Ant->Verbosity Level) and attach the output to this issue (feel free to obfuscate proprietary info from there)? I also believe that if there really is an issue, you will be able to find some test in your sources which does not require any Spring 3.2 and OpenJPA 2.2.1 and you will have some really simple AND reproducible test case... Till then, since noone else knows how to reproduce the issue => INCOMPLETE |
Created attachment 122376 [details] Output from running ant test Opening a previously working project with NetBeans IDE 7.2 updates build-impl.xml and "ant test" compilation fails with error message: BUILD FAILED /home/markus/VersionControlled/signserver/branch32-2/signserver/modules/SignServer-Test-System/nbproject/build-impl.xml:1439: The following error occurred while executing this line: /home/markus/VersionControlled/signserver/branch32-2/signserver/modules/SignServer-Test-System/nbproject/build-impl.xml:525: The following error occurred while executing this line: /home/markus/VersionControlled/signserver/branch32-2/signserver/modules/SignServer-Test-System/nbproject/build-impl.xml:498: unsupported element customize The project was working fine with NetBeans IDE 7.1 but after openning it with 7.2 the build-script got changed automagically by the IDE and the build fails when trying to run the tests.