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.
Ant builder should be usable also for non-java building tasks. PhoneGap support uses ant for building html and javascript based applications. And we don't want to depend on whole java cluster. Let's move o.apache.tools.module.ant outside of java cluster into (for instance) ide cluster, or maybe into completely new cluster (together with some more modules?).
Please review this inception
Rather than continuing the endless growth of ide cluster, I'd like to propose a "fat reduction" procedure. Let's keep ide cluster slim, containing only common APIs needed by the IDE and let's move the implementations (including Ant) into some other, "common" cluster. I believe stuff like yaml, html, javascript, etc & Ant. should be moved to such "common" cluster. When deciding what should be in ide cluster, we should be driven by needs of all distribution (like CND) and put there only technologies that are really shared among all of them.
Sounds good, but I would see that as a separate step, distinct from the discussion about o.apache.tools.module.ant. I agree that the ide cluster should only contain things shared by all distributions, but it's not clear to me what exactly would be the role of the new "common" cluster? Would it be shared by all distributions except C++? Or some other set of distributions? Note we already have the webcommon cluster which is shared by all distributions except C++ and Java SE (i.e. it is used by Java EE, PHP and All).
I fully agree with Jarda, the non infrastructure modules should be moved outside the IDE cluster.
I also support Jarda's wish to make ide cluster slim. Although "common" is not the best choice - sounds as something needed. What about "extide" or something like this? Should be more appropriate name for modules we currently exclude from ide cluster (like javascript, etc). Ideally in "ide" should be the intersection of modules needed by all main distros.
Vladimir, it sounds like the C++ team is the main "customer" of the extide cluster (in the sense that the C++ distribution would exclude it). Can you please enumerate what functionality that's currently in the ide cluster you are NOT interested in? > Ideally in "ide" should be the intersection of modules needed by all main distros. I agree, we already started in this direction by creating the webcommon cluster.
Petr, I had a look at cluster.properties and would say the list is tooo long to enumerate :-) Btw, I'd like to clarify that C++ team is responsible for number of GUI components in Studio product => we exclude different parts (we exclude some CND modules as well). I can attach platform.properties of i.e. DxbTool - which is C/C++/Fortran visual debugger if needed. If you ask about pure C++ NB distro => looks like NOT needed by default: - CSL, GSF - CSS - HTML - JavaScript - Manifest - Yaml - Mylin - Web* - XML Btw, versioning impl modules worth to be extracted into separate "versioning" clster from ide...
It sounds like we are converging - so should we create the extide cluster, which would be excluded from the C++ distribution? I am cc'ing Jirka and Petr G, as introducing a new cluster will require changes in the build infrastructure and installers. I would suggest to start by moving the o.apache.tools.module.ant module to this new cluster, and other changes (suggested by Vladimir) should be done later in step 2.
Just small comment, the CSL is infrastructure module (the base for "scripting" languages like PHP, JS, Ruby, Scala, etc). It probably belongs to IDE cluster as any language can depend on it.
Thanks for the comment Tomas. I'm fine to have any needed infra modules in ide (btw, most probably Makefile support in C++ is based on CSL as well)
Just minor comment: Ant has it's options under Java category. Should it be moved to Misc?
> I would suggest to start by moving the o.apache.tools.module.ant module to this > new cluster, and other changes (suggested by Vladimir) should be done later in > step 2. OK. See attached patch. It is step 1. Java Options module also moved to new extide module. Java Options module does not contain any real code. It only defines "Java" category in Tools | Options. Any objections?
Created attachment 131153 [details] Step #1 Please ignore all cordova* modules.
(In reply to comment #11) > Just minor comment: > Ant has it's options under Java category. Should it be moved to Misc? Well if the plan is to separate ant from java then I guess that the options' Ant tab should be moved from Java category into Misc. (In reply to comment #12) > OK. See attached patch. It is step 1. > Java Options module also moved to new extide module. Java Options module does > not contain any real code. It only defines "Java" category in Tools | Options. > > Any objections? If what is described in comment 11 happens then I think there is no reason to move the options.java module from the java cluster into the extide cluster.
(In reply to comment #14) > (In reply to comment #11) > > Just minor comment: > > Ant has it's options under Java category. Should it be moved to Misc? > > Well if the plan is to separate ant from java then I guess that the options' > Ant tab should be moved from Java category into Misc. I believe this discussion is entirely orthogonal to the cluster configuration. But if ant is moved back to misc, then maven should go there as well, maybe more? > > (In reply to comment #12) > > OK. See attached patch. It is step 1. > > Java Options module also moved to new extide module. Java Options module does > > not contain any real code. It only defines "Java" category in Tools | Options. > > > > Any objections? > why is the kit module missing the dependency on the moved module now? BTW what is PhoneGap? is it part of some standard distributions?
> I believe this discussion is entirely orthogonal to the cluster configuration. But if ant is moved back to misc, then maven should go there as well, maybe more? Probably not entirely orthogonal. We are talking about modules and clusters. If we want to keep current UI untouched, we need to move Java Options module together with ant. > why is the kit module missing the dependency on the moved module now? Good question! I thought, that kit module should not cross cluster boundaries. I was probably wrong. > BTW what is PhoneGap? is it part of some standard distributions? It will be part of standard distribution. This is why I requested such change. See related issue 225750
(In reply to comment #16) > > I believe this discussion is entirely orthogonal to the cluster configuration. But if ant is moved back to misc, then maven should go there as well, maybe more? > > Probably not entirely orthogonal. We are talking about modules and clusters. If > we want to keep current UI untouched, we need to move Java Options module > together with ant. adding uireviews in cc as moving the ant,maven etc tabs from Java into Misc category in options window requires some more thought.
I've created a new branch for this issue: http://hg.netbeans.org/jet-main/changeset/12caa06a2c5e What's implemented: 1. No UI Change (we don't want any UI change, right?) 2. Ant and java.options moved to brand new cluster extide 3. All distributions except CND depends on extide cluster TODO: Move more modules to extide Check if everything builds and works
OK. Some tests failed. See http://deadlock.netbeans.org/hudson/job/prototypes-extide-225753/36/ I'd like to ask for help: 1. found a VERSION.txt in /space/workspace/prototypes-extide-225753/nbbuild/netbeans/extide Stacktrace junit.framework.AssertionFailedError: found a VERSION.txt in /space/workspace/prototypes-extide-225753/nbbuild/netbeans/extide at org.netbeans.core.validation.ValidateModulesTest.clusterVersions(ValidateModulesTest.java:175) I have no idea what is wrong 2. org.netbeans.modules.ide.ergonomics.FilesAndAttributesCheck.testCheckAllTemplatesReal (from org.netbeans.modules.ide.ergonomics.DynamicVerifyTest) Is this real failure? Or just test needs to be updated? 3. org.netbeans.modules.ide.ergonomics.OptionsCheck.testCheckKeywordsReal (from org.netbeans.modules.ide.ergonomics.DynamicVerifyTest) Does anybody knows what is wrong with keywords? Thanks
I would guess you need to create ide.ergonomics/extide.properties, but I am not sure if that's sufficient.
(In reply to comment #20) > I would guess you need to create ide.ergonomics/extide.properties, but I am not > sure if that's sufficient. Thanks. It will fix probably 2 and 3 http://hg.netbeans.org/jet-main/rev/64df1741388c
(In reply to comment #19) > OK. Some tests failed. See > http://deadlock.netbeans.org/hudson/job/prototypes-extide-225753/36/ > I'd like to ask for help: > 1. > > found a VERSION.txt in > /space/workspace/prototypes-extide-225753/nbbuild/netbeans/extide > Stacktrace > > junit.framework.AssertionFailedError: found a VERSION.txt in > /space/workspace/prototypes-extide-225753/nbbuild/netbeans/extide > at > org.netbeans.core.validation.ValidateModulesTest.clusterVersions(ValidateModulesTest.java:175) > > I have no idea what is wrong BTW there is not VERSION.txt in nbbuild/netbeans/extide > 3. > org.netbeans.modules.ide.ergonomics.OptionsCheck.testCheckKeywordsReal (from > org.netbeans.modules.ide.ergonomics.DynamicVerifyTest) > Does anybody knows what is wrong with keywords? It passes locally. I have no idea what is wrong on deadlock
problem is, that some tests do not see extide cluster http://deadlock.netbeans.org/hudson/job/prototypes-extide-225753/45/testReport/junit/org.netbeans.core.validation/ValidateModulesTest/testConsistency/ Current Directory = /space/workspace/prototypes-extide-225753 User Directory = /space/workspace/prototypes-extide-225753/o.n.core/build/test/qa-functional/work/userdir2 Cache Directory = /space/workspace/prototypes-extide-225753/o.n.core/build/test/qa-functional/work/userdir2/var/cache Installation = /space/workspace/prototypes-extide-225753/nbbuild/netbeans/harness /space/workspace/prototypes-extide-225753/nbbuild/netbeans/ide /space/workspace/prototypes-extide-225753/nbbuild/netbeans/java /space/workspace/prototypes-extide-225753/nbbuild/netbeans/nb /space/workspace/prototypes-extide-225753/nbbuild/netbeans/profiler /space/workspace/prototypes-extide-225753/nbbuild/netbeans/websvccommon /space/workspace/prototypes-extide-225753/nbbuild/netbeans/platform Boot & Ext. Classpath = So where should I add extide? Thanks
I see ... clusters are hardcoded in tests.
ant module moved http://hg.netbeans.org/jet-main/rev/f1c512420d02
I'm going to adjust the installer part on 'extide' cluster.