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.
There is need for ANTLR runtime in Java cluster. There is antlr runtime of required version in cnd cluster. So it is natural to move it to ide cluster and share this library between cnd and java cluster. And also made it available for other clusters/modules.
Y01 Why ANTLR is needed in Java cluster? Can't it be replaced by other, more lightweight solution?
(In reply to comment #1) > Y01 Why ANTLR is needed in Java cluster? Can't it be replaced by other, more > lightweight solution? See blocked issues. If by more lightweight solution you mean using hand crafted lexer or regexp I disagree. On the other hand, this change is not about #181264 but about general simplification of lexer based feature development within whole IDE. It brings simplicity and better manageability of implementation and also allows us to better manage memory footprint by providing single unified and verified instance of ANTLR for Java, CND, JavaFX/Client Java and other modules.
OK, I checked bug 181264. I see no reason to bring new library into ide or java cluster. Don't do it (not even for an unspecified overall benefit that it will have in future) stick with classical JRE tools like regexp. I shall probably delete the "_FAST" part of the keyword as a sign that I disagree with proposed implementation. The next steps include calling a meeting review with four voting reviewers (I'd like to be one of them, and I suggest Miloslav Metelka as another good candidate), where we can speed up absorption of multiple inputs, resolve all outstanding issues and formulate TCR and TCA constraints for the implementation (I am using terminology from http://wiki.netbeans.org/APIReviewSteps). In case you insist on bringing the antlr framework into heart of "tools platform", let's have a meeting and let decide by vote. As soon as the "_FAST" suffix is deleted, it is your responsibility to organize the meeting and invite reviewers. I'll delete it on beginning of next week, if you don't change your mind.
Please find next three reviewers and call a meeting to judge the benefit of bringing 3Mb + 150Kb into ide cluster to parse a command line.
The meeting was held today (09-sept-2010) and all participants accepted this issue. The following suggestion need to be fulfilled: * move ANTLR (cnd.antlr3) from CND into IDE cluster and consolidate usage in CND. * divide ANTLR into runtime and compile time parts and put only runtime to IDE cluster and allows accessibility of compile time part during execution of build script. As we make agreement before with Vladimir, his team will be responsible for making this change to prevent CND cluster breaking.
Nikolay, please, help with this activity
fixed http://hg.netbeans.org/cnd-main?cmd=changeset;node=079ed950efc2
remove run-time dependency to prevent load of module http://hg.netbeans.org/cnd-main?cmd=changeset;node=712bf26cc629
(In reply to comment #5) > * divide ANTLR into runtime and compile time parts and put only runtime to IDE > cluster and allows accessibility of compile time part during execution of build > script. 3.2M is still in the distribution as netbeans/ide/modules/ext/antlr-3.1.3.jar. This is not state we can release with.
Hello Jaroslav, Sorry. Actually I don't now how to make it :) Is there some other module I could look at as example? Regards, Nikolay.
Jesse may have some simple advice. I would use <build-prerequisite/>, but no <runtime-dependency/>. I am not sure how that would work with cluster system, however.
(In reply to comment #11) > I am not sure how that would work with cluster system, however. I think it suffices to remove the devel module from any cluster. You will have to try it with a clean build to be sure. [JG01] ide.kit should not depend on either of these modules. They are autoloads; dependencies should only be from regular modules which actually need them. [JG02] the usual naming is org.netbeans.libs.*, not org.netbeans.modules.libs.*; probably not too late to fix that. [JG03] I would also expect the non-runtime lib to be called org.netbeans.libs.antlr3.devel or similar, and to not include the org.antlr.runtime.* packages (it may or may not need to declare a dep on the runtime lib).
Created attachment 102280 [details] Possible patch for extra cluster + JG01
fixed: renamed to libs.antlr3.devel and libs.antlr3.runtime removed libs.antlr3.devel dependency from ide http://hg.netbeans.org/cnd-main?cmd=changeset;node=52c257bb9abb I've left libs.antlr3.devel in ide cluster, because I can not build modelimpl in other case.
Please learn to use 'hg mv' (or 'hg addrem -s') rather than 'mv' + 'hg add' + 'hg rm'; if your diff before commit (or before 'hg out -pv') shows identical (or nearly identical) files being deleted from one path and added to another path, you are using Mercurial incorrectly. JG01 was not fully addressed; ide.kit should not have a dep on even the runtime lib, I think. "I cannot build [cnd.]modelimpl [unless libs.antlr3.devel remains in the ide cluster]" - what exactly went wrong? It seemed to work when I tried it, though I did not start from a fully clean build (I did first delete what appeared to be relevant generated metadata files).
Integrated into 'main-golden', will be available in build *201010080000* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/712bf26cc629 User: Vladimir Voskresensky <vv159170@netbeans.org> Log: remove runtime dependency; extra fix for #190111: Moving CND.ANTLR3 to IDE cluster (including rename to ide.antlr3)
I've just reported bug 193651 to track the > * divide ANTLR into runtime and compile time parts and put only runtime to IDE > cluster and allows accessibility of compile time part during execution of build > script. request. I am not sure if I shall reopen this issue too, when it is not fully implemented...
I'd like to point out that not all TCRs were fixed when integrating this change and as the discussion in bug 193651 shows, some teams believe it is not easy to implement the contraints under which this change request was approved.
I would like to ask the same question as Jesse in comment #15 - "what exactly went wrong?" If you share the answer then somebody might be able to help you.
Nik is busy now. I will have a look
(In reply to comment #19) > I would like to ask the same question as Jesse in comment #15 - "what exactly > went wrong?" If you share the answer then somebody might be able to help you. after http://hg.netbeans.org/cnd-main/rev/8fb3b7fcd0d4 localy all builds fine, but on hudson build is broken: http://bertram.netbeans.org/hudson/job/cnd-main/4849/
The #4849 build seems to succeed with compilation and even runs few tests. Then it fails, but I don't know which target it is executing. Please check configuration of your job to find that out and reproduce the problem locally.
see http://netbeans.org/bugzilla/show_bug.cgi?id=193651#c7