<alexgreif> hi
<bonniot> hi alex
<alexgreif> Im just reading your mail ...
<alexgreif> daniel: yes web.de has problems :(( Its my mailer behind the firewall
<alexgreif> daniel: you said:
<alexgreif> So only the values for fields defined in the Nice class must be named.
<alexgreif> Should we specify that the others are not named?
<alexgreif> you mean the java fields?
<bonniot> it's not necessarily fields
<bonniot> it's any parameter of the Java constructors
<alexgreif> what would be the consequenc that we specify this?
<bonniot> it's just a clarification of the documentation
<alexgreif> oh, yes this should be documented, and also the ordering of the unnamed args, and whether a named arg can be at
any place or only at the and
<alexgreif> Q: where must then the named args be? at the end or doesnt it matter?
<bonniot> this is not specific to constructors
<bonniot> for constructors, the order is the same as in the Java constructor. isn't that obvious?
<alexgreif> yes but where can named args be?
<alexgreif> anywhere?
<bonniot> in a call to a method/constructor, the named arguments can be anywhere
<alexgreif> even if they are mixed with unnamed args ?
<bonniot> yes
<gamsl> hi daniel, hi alex
<alexgreif> hi martin
<gamsl> just came home shopping
<bonniot> how are you doing?
<gamsl> fine thanks! if you mean me :-) i just came home from a trip to budapest for the sziget festival ... right after I
finished moving out our old flat
<gamsl> and you? lots of work?
<gamsl> daniel how should I handle the package structure for NiceSWT?
<gamsl> right now everything is in nice.ui.common .. you know, the AI issue
<bonniot> come by and say hello next time you come to Budapest!
<bonniot> yeah, lots of PhD work these days
<gamsl> aah i should have known that :-) I was wondering if we would maybe run by each other at the festival :-) without
knowing ...
<bonniot> :-)
<bonniot> could you do something about NiceSwing? Like an announcement to the mailing list? It's a pity it is ready but
never announced, especially as there is quite a good documentation that you made on the Wiki
<bonniot> i think the package names should disambiguate between swing and swt
<gamsl> oh yes! forgot again .. sorry! I will announce it on nice-info now!
<gamsl> should we keep nice.ui .. i mean the ui part?
<bonniot> maybe not
<bonniot> what about nice.swing and nice.swt ?
<bonniot> when the packaging problem is solved, you could create nice.awt imported by nice.swing
<bonniot> for swt there should be no problem, as there is only one package :-)
<gamsl> yes i think that's a good idea
<bonniot> if you also change swing, you should do it before the announcement, so people don't need to change their souce for
that later
<gamsl> true
<bonniot> we have already nice.eclipse for the eclipse plugin
<bonniot> that alex is writting
<bonniot> surely he can use nice.swt when it is ready
<gamsl> yes i know .. i'm already using it ... or better start to using it
<gamsl> no he said it's more JFace code
<gamsl> that he is using for the plugin
<gamsl> is there a special way to announce things on nice-info? or do i just have to reply to an older message?
<bonniot> that's one layer over swt, right?
<gamsl> i think so
<gamsl> he says he doesn't really know the difference but he thinks it's easier to code using JFace
*>* arjanb (arjanb@borganism.student.utwente.nl) has joined channel #nice
<bonniot> hi arjan
<arjanb> hi
<gamsl> hi arjan
<arjanb> did i miss anything because the log is disabled?
<bonniot> i don't think so
<gamsl> but why our log buddy is missing?
<bonniot> the machine seems not to be running at the moment
<bonniot> alexgreif: did you commit a version of removeFromBuildSpec that does not compile?
<alexgreif> I committed a version just now, thats code is commented out
<bonniot> ah, it takes some time for the mail to arrive
<bonniot> did you try my solution?
<alexgreif> not yet, but Its in my pipeline :)
<gamsl> daniel i was thinking if i should maybe also remove the types package below nice.ui.common
<gamsl> it could either be a subpackage of nice.swing or nice.awt .. or it could be a file inside the package
<gamsl> or is there somewhere a collection of retypers?
<gamsl> where all of them are kept?
<bonniot> there is one for core packages like java.lang and java.io, in nice.lang. but ones about swing or swt should not go
there
<bonniot> it's your decision where to put them
<bonniot> i agree they could be in nice.swing in a separate file
<gamsl> ok then i'll add them as one file for each package (until the packaging problem is solved i'll put all 3 in
nice.swing
*** You are marked as being away
<bonniot> ok, makes sense
<bonniot> alexgreif: it's usually a good idea to commit only after you checked that the compilation works (and better, that
the tests, manual or automatic, also work)
<alexgreif> AFAIK what I check in, compiles. did you get an error?
<bonniot> good. i did not try. but ICommand[] newCommands = new ICommand[commands.length - 1]; looks like it should not
compile
<bonniot> because of nullness error
<alexgreif> the code is commented out at the moment. It was just a question for the future
<bonniot> oh, I missed that! ;-)
<gamsl> alex, when i try to use the NiceBuilder with my build file for NiceSwing eclipse claims that it cannot find taskdef
class nice.tools.ant.Nicec
<gamsl> also when i put nice.jar in the classpath using Project Properties page .. it's the same
*** You are no longer marked as away
<alexgreif> martin: did you set the link to the nice.jar in the properties file?
<alexgreif> open the jar and look whether the nice.tools.ant.Nice class is there
<bonniot> alexgreif: for compilation you use the Ant taksk?
<alexgreif> oops sorry I was mentally away :(
*<* Signoff: arjanb (Read error: 104 (Connection reset by peer))
<alexgreif> strange, the nice plugin does not need the ant.Nicec class
*>* arjanb (arjanb@borganism.student.utwente.nl) has joined channel #nice
<bonniot> martin: but you use a Ant build file, with a Nicec task in it, right?
<bonniot> in that case, it would be normal that you need that class
<bonniot> it is normally included in nice.jar
<gamsl> yes i use it like this
<gamsl> i know .. it seems to find nice.jar otherwise compiling should not work ... but NiceBuilder won't find class Nicec
<bonniot> now the question is why it is not in the classpath. i don't know enough about eclipse for this. alex?
<bonniot> maybe alex's plugin invokes the compiler in a custom classloader
<gamsl> alex: Nicec.class is there and I tried setting classpath to nice.jar .. it won't help
<alexgreif> /away I have a meeting , sorry, I will check this later
<alexgreif> /away I have a meeting , sorry, I will check this later
*** You are marked as being away
<alexgreif> I dont know why eclipse wants to use the ant task.
<alexgreif> gamsl: has it to do that you wanted to run the jar with ant, in the run... menu?
<gamsl> no
<gamsl> i want to use the build.xml for NiceSwing with the NiceBuilder. My buidl.xml declares taskdef class
nice.tools.ant.Nicec, that's why eclipse needs ant
<gamsl> it compiles fine without ant
<alexgreif> martin: is it working now without problems?
<gamsl> no i just meant that it compiles fine when i don't use ant
<gamsl> i still cannot use the build file
<alexgreif> the build file to buikld the plugin itself?
<gamsl> i tried it only from the command line .. there it works
<alexgreif> so you want to build the plugin in eclipse too?
<bonniot> no, he's building his own Nice project, which has an ant build file
<alexgreif> I use eclipse to edit the plugin files but not to compile it. I always compile the plugin in commandline. I use
the plugin to write other nice projects but not the plugin itself
<alexgreif> ah, so he wants to use ant to build his nice project
<alexgreif> ?
<gamsl> i tell him to use ant
<gamsl> i want eclipse or more exact the NiceBuilder to use ant to execute my build.xml
<gamsl> when i make a new NiceBuilder
<gamsl> and i specify my build.xml
<gamsl> then i cannot apply this configuration and i cannot choose which target to execute because it complains about the
missing Nicec.class
<gamsl> adding nice.jar to the project properties doesn't help
<alexgreif> martin: so you changed the NiceBuilder source to run an ant script and not the nicec in embedded mode?
<alexgreif> but then all errors and warnings are not shown in the problems view but in the ant output view or in the
console?
<gamsl> it never comes to an ant view because execute ant
<gamsl> i get to see all errors and warnings when i just use build all or rebuild all
<gamsl> on the project properties page i made a new NiceBuilder configuration where i wanted to specify my build file
<gamsl> from then on it won't work
<gamsl> daniel: i tried to edit a wikipage but my SF username and pwd are not valid for wiki, still i can login to SF
<alexgreif> if the plugin wants to use ant, then you have to declare this in the plugin.xml file
<gamsl> aha
<alexgreif> in the <requires> section
<alexgreif> like:
<alexgreif> <reauires><import plugin="org.apache.ant"/>...
<alexgreif> martin: so you changed the NiceBuilder source to run an ant script and not the nicec in embedded mode?
<gamsl> yes
<gamsl> i mean
<gamsl> i didn't change sourcecode
<alexgreif> ?
<alexgreif> how then?
<gamsl> i understood you wrong
<gamsl> i went to project properties
<alexgreif> a java project or a nice project?
<gamsl> to external tools builders
<gamsl> nice
<gamsl> then i pressed new right to NiceBuilder to make a new configuration (like you do in java)
<arjanb> martin: the sf account is unrelated to the wiki you should register a new wiki user
<gamsl> then i had a few property sheets for this new configuration
<gamsl> there i specified my build file to use
<gamsl> and then it starts complaining that Nicec is missing
<gamsl> ok thx arjan
<gamsl> i will do that
<alexgreif> martin: try this in the plugi.xml: <import plugin="org.eclipse.ant.core" optional="true"/>
<alexgreif> but maybe we need an extra Nicec ant adapter like jdt:
<alexgreif> <extension
<alexgreif> point="org.eclipse.ant.core.extraClasspathEntries">
<alexgreif> <extraClasspathEntry
<alexgreif> library="jdtCompilerAdapter.jar">
<alexgreif> </extraClasspathEntry>
<alexgreif> </extension>
<alexgreif> this evening I have more time to help you test. ok?
<gamsl> yes nice! i hope i have internet access tonight but it should be ok! (i#m right now staying at a friends place, it
should be fine to stay here in the evening :-)
<gamsl> should i add the whole extension point to the plugin.xml?
<alexgreif> no because the jar is missing, its a jdt jar
<gamsl> i see
<alexgreif> we should look whats inside :)
<gamsl> have you tried the import alone? or are you sure this won#t work?
<alexgreif> no not yet, could you try it? I have not installed an external tools buolder
*>* GummiEnte (~master@p508EAEF4.dip.t-dialin.net) has joined channel #nice
<GummiEnte> Hello all together.
<gamsl> hi
<GummiEnte> Seems so, as if sualtam does not work properly?!
<alexgreif> gamsl: Du bist aslo das versuchskanickel :)
<gamsl> hehe
<GummiEnte> btw. where to download sualtam? If already asked a question in the sualtam sf forum...
<gamsl> where should i put it?
<alexgreif> what?
<gamsl> i mean the import stattement in the plugin.xml?
<alexgreif> in the requires element
<gamsl> in the section with the other imports?
<gamsl> ok
<alexgreif> at the top
<gamsl> that's what i thought
<alexgreif> ok
<bonniot> GummiEnte: the log is not working because the machine that runs it is shut down
<bonniot> GummiEnte: there is now a jar download in the files, with a link from the main page
<alexgreif> martin: maybe it complains that xerces is missing, If so tell me
<gamsl> alex: ok i just checked out eclipse from cvs, did you change anything in plugin.xml?
<alexgreif> Im not sure, since when?
<alexgreif> what version do you have ?
<alexgreif> I have /build.xml/1.6/Wed Aug 6 08:56:21 2003//
<gamsl> i will add the import statement to the plugin.xml that i just checked out from cvs
<alexgreif> please post the CVS/Entries in the eclipse folder
<GummiEnte> Daniel: Your development version is working, but with a lot of debug.
<GummiEnte> The sualtam machine will be offline for a longer time?
<GummiEnte> Did you get the point with the "Where to download Sualtam?" question?
<gamsl> plugin.xml/1.2/Sun Aug 3 21:12:30 2003
<alexgreif> oooold!
<gamsl> mhm
<gamsl> :-)
<alexgreif> should I send you a tarball?
<gamsl> this would be very nice :-)
<alexgreif> ok, in a few minutes...
<gamsl> still strange .... i just checked out from cvs
<alexgreif> cvs has problems it runs from a backup machine (24H ago)
<GummiEnte> only anonymous cvs
<GummiEnte> this is really a pity sometimes.
<alexgreif> ah, I see
<alexgreif> martin: you also need the sources or the plugin dist?
<gamsl> sources would be fine too :-)
<gamsl> i see
<gamsl> i was using anonymous cvs
<alexgreif> martin: mail sent, two tarballs one for dist and the other with sources
<GummiEnte> Daniel: If I could help with an server for sualtam or anything else, just let me know. I would be pleased to
help the nice project.
<gamsl> thx alex
<alexgreif> martin: so try the import in the required section.
<gamsl> ok
<bonniot> GummiEnte: thanks for the offer
<bonniot> normally i have a machine available. i signaled the problem now
<bonniot> but it could be a solution in the long term, as I won't keep access to that one forever
<bonniot> is your machine running some kind of unix? is it online 24/24?
*** You are no longer marked as away
<alexgreif> daniel: I could offer you my linux machine thats running 24/7 currently
<GummiEnte> It a 24/7 linux with a few fixed ip`s attached to a 2MBit line.
<alexgreif> than thats better than mine :))
<GummiEnte> :) I'm going to setup another and greater line in the next months... but up to now it was enough.
<gamsl> alex: the import statement won't help
<alexgreif> hm... is the ant scruipt running fine except the nicec task?
<gamsl> it works from the command line
<gamsl> is this what you mean?
<alexgreif> no I mean in eclipse
<alexgreif> to run the external builder, the ant engine, but without the nicec target
<gamsl> i'm not sure i know what you mean, how can i compile without nicec target?
<alexgreif> I just want to go sure, that ant works fine
<alexgreif> as an external builder out of the nice project
<gamsl> no it doesn't work either
<alexgreif> ah
<gamsl> same error
<alexgreif> same error with Nicec not found?
<gamsl> mhm
<alexgreif> take out the <taskdef element
<alexgreif> and the <nicec element
<alexgreif> martin: I have an Idea:
<gamsl> i removed the line with taskdef
<gamsl> yes?
<alexgreif> put the following lines in the plugin.xml ...
<alexgreif> <extension
<alexgreif> point="org.eclipse.ant.core.extraClasspathEntries">
<alexgreif> <extraClasspathEntry
<alexgreif> library="lib/nice.jar">
<alexgreif> </extraClasspathEntry>
<alexgreif> </extension>
<alexgreif> pareallel to the other <extension elements
<gamsl> ok
<gamsl> and leave the taskdef line inside?
<alexgreif> yes
<alexgreif> ans also <nicec
<alexgreif> you have to restart eclipse
<gamsl> i'm afraid it's still the same :-(
<alexgreif> hm
<gamsl> good news
<gamsl> it seems to work
<alexgreif> aha, what did you do?
<gamsl> when i set the classpath in the external tools builder configuration pages to include nice.jar :-)
<gamsl> but i think it has nothing to do with the lines added to plugin.xml
<gamsl> i will try that out and let you know
<alexgreif> with the extension point in the plugin.xml?
<alexgreif> do we need the extension point and the import statement in the plugin.xml? It would be fine if you could find
answers to these q's
<gamsl> yes i'll find out ...
<alexgreif> I still have another possibility but I will tell it to you if nothing else works.
<gamsl> i will first have to correct my build file since the package structure of niceswing changed
<alexgreif> I think the extension point is necessary, but the import statement not. Thats my opinion... we will see
<alexgreif> ok
<GummiEnte> Ok, guys, I'm again going offline now... CU soon.
<alexgreif> cu
<bonniot> bye
*<* Signoff: GummiEnte ("BitchX: the NEW form of birth control!")
<gamsl> alex: with the external tools builder everything works fine, i can use ant inside eclipse to build niceswing
<gamsl> with the NiceBuilder it still does not work
<gamsl> it is still the same error
<gamsl> also the import statement and the extension point don't change this situation
<gamsl> it won't work with only the import nor with only the extension point
<gamsl> it doesn't work with both of them and not with none of them :-(
<alexgreif> with NiceBuilder you mean the name of your newly added external Builder?
<gamsl> i mean the external tool builder that i can configure from the nice project properties page
<gamsl> this one does not work
<alexgreif> so its not the class NiceBuilder?
<gamsl> when i go to the eclipse Run/External Tool Builders/ menu
<gamsl> i can use ant
<alexgreif> yes, I know, Im only confused, because there is asloa class NiceBuilder
<gamsl> ok
<alexgreif> so you dont mean the class but the configured external builder
<gamsl> so we have a way to use ant inside eclipse, but it's not the NiceBuilder doing this work, but the "normal" external
tool builder
<gamsl> yes i mean a newly configured ant build
<gamsl> not the NiceBuilder :-)
<gamsl> i'm confused now too :-)
<alexgreif> the NiceBuilder calls the nicec in an embedded mode like the Nicec ant task :))
<alexgreif> I mean the class
<gamsl> yes ... but the external ant build also must do this ... it works with the same build.xml
<gamsl> the only thing different is
<gamsl> with this external ant build there is a property page where you can specify the runtime classpath for ant
<gamsl> that's where i added nice.jar
<gamsl> and then this worked
<alexgreif> ok, let me configure my eclipse so that I can reproduce your problem...
<gamsl> but NiceBuilder doesn't offer this property sheet
<gamsl> and it seems not to use the same runtime classpath as specified in the external ant build
<alexgreif> 1) I have to create a new nice project?
<gamsl> yes
<gamsl> one with a build file
<alexgreif> where is the buiild file? on project top level?
<gamsl> i have niceswing as project folder , under it i have src and bin .. and its niceswing/build.xml
<alexgreif> so on top level
<gamsl> yes
<gamsl> when you have the project you go to eclipse main menu and choose Run>External Tools>External Tools
<gamsl> then you make a new Ant Build configuration
<gamsl> you specify the build.xml and the base directory
<gamsl> and in the classpath tab you uncheck "Use global ..." and Add Jar nice.jar
<gamsl> after doing this it worked
<alexgreif> is the build.xml file a normal file?
<gamsl> what do you mean normal file?
<alexgreif> an ordinary file or do I need a wizard for creating?
<gamsl> no i used my old build file
<gamsl> no wizard
<alexgreif> ok now I have:
<alexgreif> <?xml version="1.0" encoding="UTF-8"?>
<alexgreif> <project default="dist" basedir=".">
<alexgreif> <target name="compile" depends="check-eclipse-properties,init">
<alexgreif> <nicec package="test" sourcepath="src" destination="bin" jar="bin/project.jar">
<alexgreif> </nicec>
<alexgreif> </target>
<alexgreif> </project>
<alexgreif> and src/test/test.nice
<gamsl> you need <taskdef name="nicec" classname="nice.tools.ant.Nicec"/>you need
<alexgreif> ok,thx
<alexgreif> I have no Run>External Tools>External Tools
<alexgreif> is it in the menu or in the toolbar?
<gamsl> hmm
<gamsl> in the main menu
<alexgreif> what is the name of the menu? "Project" ?
<gamsl> no its Run with me
<alexgreif> ah, the last entry ?
<gamsl> right beside Project
<gamsl> yes
<gamsl> you found it?
<alexgreif> yes, Run as... ? ant Build?
<alexgreif> or external tools...
<gamsl> i made external tools
<gamsl> and then a new Ant Build configuration
<alexgreif> I have only a "Perspectives" panel
<alexgreif> Run: Nice Perspective?
<alexgreif> "New", then I get many panels like Main, Refresh...
<gamsl> don't you have Ant Build and Program in a List on the left and under it a New Button?
<gamsl> yes
<gamsl> you select Ant Build in the list
<gamsl> and then New
<alexgreif> config name: NiceBuilder?
<gamsl> i made NiceSwing .. i guess it's only the name
<alexgreif> location ?
<gamsl> on the main tab you specify build.xml location and
<gamsl> it's where your build.xml resides
<alexgreif> the folder? or the file?
<gamsl> and the base directory you take the project dir
<gamsl> the file
<alexgreif> I have there now : ${workspace_loc:/nice1/build.xml}
<gamsl> ok
<alexgreif> and base: ${workspace_loc:/nice1}
<gamsl> yes
<alexgreif> arguments?
<gamsl> that#s fine
<gamsl> in the classpath tab you now add nice.jar
<gamsl> i had none
<alexgreif> I only have ant.jar and optional.jar
<alexgreif> oops, which classpath? runtime or additional?
<gamsl> runtime
<alexgreif> why?
<gamsl> i don't know i tried and it worked :-)
<alexgreif> ok I try it
<gamsl> but it makes sense, no? the runtime classpath for ant now includes nice.jar, that's why it will find Nicec
<alexgreif> ok I see
<alexgreif> now ? apply?
<alexgreif> or some more configs?
<gamsl> i did no more configs
<gamsl> sorry .. visitors came ..
<alexgreif> ok, now, run?
<alexgreif> Buildfile: /Volumes/data/app/eclipse/workspace/nice1/build.xml
<alexgreif> compile:
<alexgreif> [nicec] nice.lang: parsing
<alexgreif> [nicec]
<alexgreif> [nicec] Command line:
<alexgreif> [nicec] Package test is not available.
<alexgreif> [nicec] The source path is: src
<alexgreif> [nicec] The package path is:
<alexgreif> [nicec] BUILD FAILED: file:/Volumes/data/app/eclipse/workspace/nice1/build.xml:5: Compilation failed with
errors.
<alexgreif> Martin I think it works:
<alexgreif> Buildfile: /Volumes/data/app/eclipse/workspace/nice1/build.xml
<alexgreif> compile:
<alexgreif> [nicec] nice.lang: parsing
<alexgreif> [nicec] test: parsing
<alexgreif> [nicec] test: typechecking
<alexgreif> [nicec] test: generating code
<alexgreif> [nicec] test: linking
<alexgreif> [nicec] test: writing in archive
<alexgreif> [nicec] nice.lang: writing in archive
<alexgreif> [nicec] Compilation successful.
<alexgreif> BUILD SUCCESSFUL
<alexgreif> Total time: 12 seconds
<gamsl> i was away sorry
<gamsl> fine
<alexgreif> did you get thios too?
<gamsl> yes it was the same with me
<alexgreif> and what does not work?
<gamsl> when you go to the project properties of the nice project
<gamsl> and you specify a new NiceBuilder there
<gamsl> under External Tool Builders
<alexgreif> ah I see. Does it work in jdt?
<gamsl> then you don't have the classpath tab in this property sheet
<gamsl> what do you mean in jdt ? ant works fine in java perspective if thats what you mean
<alexgreif> yes
<alexgreif> in the properties of the java project?
<gamsl> when you have a java project i think you make a new Ant Build
<gamsl> no new Java Application which is maybe the equivalent to NiceBuilder?
<alexgreif> hm Im not sure
<gamsl> the only problem seems to be that NiceBuilder's support for ant is missing the possibility to set additional runtime
classpath entries, or the knowledge of nice.jar
<alexgreif> then it must be configurable somewhere else
<alexgreif> I get the message in the header of the props window: [Targets]:
file:/Volumes/data/app/eclipse/workspace/nice1/build.xml:3: taskdef class nice.tools.ant.Nicec cannot be found
<gamsl> strange this doesn't happen wih me
<alexgreif> it was printed in: project Properties->external tools panel
<gamsl> you mean in the nice project properties? in External Tools panel .. right under NiceBuilder? nothing appears there
wtih me
<alexgreif> in the winwor where you miss the classpath panel, on the left of the icon with the toolcase and the running man
<alexgreif> window
<alexgreif> Martin: http://download.eclipse.org/downloads/documentation/2.0/html/plugins/org.eclipse.platform.doc.isv/refere
nce/extension-points/org_eclipse_ant_core_extraClasspathEntries.html
<gamsl> this is what we tried in the plugin.xml right?
<gamsl> it didn't work also
<gamsl> although the explanation fits exactly to our problem
<alexgreif> yes
<alexgreif> maybe a bug?
<alexgreif> in eclipse?
<gamsl> maybe
<alexgreif> which eclipse version do yu have?
<alexgreif> I have Version: 2.1.0
<alexgreif> Build id: 200306250800
<gamsl> does the plugin need to be recompiled after changing plugin.xml?
<alexgreif> no
<gamsl> Version: 2.1.0
<gamsl> Build id: 200306051737
<gamsl> Version: 2.1.0
<gamsl> Build id: 200306051737
<gamsl> mine seems older
<alexgreif> they are the same
<gamsl> ?
<alexgreif> maybe I got it
<alexgreif> give me 5 min's
<gamsl> cool :-)
<gamsl> i'll take the time to talk to the guests :-)
<alexgreif> YIPPIE!
<alexgreif> Buildfile: /Volumes/data/app/eclipse/workspace/nice1/build.xml
<alexgreif> compile:
<alexgreif> [nicec] nice.lang: parsing
<alexgreif> [nicec] test: parsing
<alexgreif> [nicec] test: writing in archive
<alexgreif> [nicec] nice.lang: writing in archive
<alexgreif> [nicec] Compilation successful.
<alexgreif> BUILD SUCCESSFUL
<alexgreif> Total time: 2 seconds
<alexgreif> here is the solution:
<gamsl> coooool!
<alexgreif> get the Nicec.class out of the nice.jar and put it in a separate jar like lib/nicec_ant.jar then instert
<extension point="org.eclipse.ant.core.extraClasspathEntries"> <extraClasspathEntry
library="lib/nicec_ant.jar"/></extension> in the plugin.xml
<alexgreif> here I read it:
<alexgreif> http://download2.eclipse.org/downloads/documentation/2.0/html/plugins/org.eclipse.platform.doc.isv/guide/ant_exp
anding_classpath.htm
<alexgreif> and finally move that AntBuilder above the NiceBuilder
<alexgreif> in the project properties
<alexgreif> I will extend the plugin build script to tear nice.jar in two parts
<alexgreif> nice.jar and nicec_ant.jar, both in the lib folder
*<* Signoff: gamsl (kornbluth.freenode.net irc.freenode.net)
*>* gamsl (~gamsl@81.10.166.41) has joined channel #nice
-dmwaters:$*- {global notice} Hi all, we seem to be having problems with one of our main rotation servers, the server is
being pulled from rotation now. any further messages will be given in wallops
<alexgreif> hi martin
<alexgreif> daniel?
<alexgreif> The nicec ant task has still one bug: the attribute jar="bin/nice_project.jar" puts the jar at
eclipse/bin/nice_project.jar
<bonniot> yes?
<alexgreif> is there a possibility to remove a file from a jar withe jar tool?
<bonniot> i don't think with Sun's tool
<bonniot> is it needed to remove it?
<alexgreif> or do I have to unjarthe whole nice.jar and then move the Nicec.class in a separate jar and then jar the
remaining nice.jar?
<alexgreif> the nice.ant.tool.Nice.class must be in a separate jar so that eclipse nice plugin can use it
<bonniot> why is it needed to remove it? what if it stays?
<bonniot> doesn't jar also need the code of the compiler itself anyway?
<bonniot> Nicec alone cannot do anything
<alexgreif> then its fetched from nice.jar that is the same as the plugin library and then it dies not work
<alexgreif> eclipse needs it this way. see http://download2.eclipse.org/downloads/documentation/2.0/html/plugins/org.eclips
e.platform.doc.isv/guide/ant_expanding_classpath.htm
<alexgreif> I would only make a separate jar in the eclipse plugin distribution
<alexgreif> wdyt?
<bonniot> if nice.jar is not in ant's classpath, i don't see how the compilation can happen
<alexgreif> nice.jar has to be in the plugins classpath, and nicec_ant.jar is added to ants classpath, together with the
plugins classpath , that contains nice.jar
<alexgreif> "Plug-ins can contribute extra JARs to the Ant classpath. The plug-in contributing the JARs is also added to
the Ant classpath"
<gamsl> this sounds like te
<gamsl> the solution to me
<alexgreif> it is the only solution for the plugin to use ant nicec taskdef
<alexgreif> daniel: in the build file for the plugin I split the Nicec class in a separate jar. ok?
<bonniot> i don't know enough about eclipse, but if you think it's the solution go ahead and try it
<alexgreif> we tried it and only this way it worked :)
<alexgreif> martin: did it work for you?
<alexgreif> Im fixing the plugin build.xml, Ill send you the sources.
<gamsl> alex does this mean you already have a working version?
<alexgreif> yes of cource!!! I posted my output
<bonniot> the funny thing is that since the plugin jar is also put in the ant classpath, there should be no need to put
Nicec in a separate jar. An empty jar should also work, no?
<alexgreif> in which ant ? in the eclipse ant-plugin?
<alexgreif> eclipse uses its own ant!
<bonniot> " The plug-in contributing the JARs is also added to the Ant classpath"
<bonniot> and the plugin contains Nicec
<alexgreif> the plugin jar must not be the same as the Nicec jar
<alexgreif> I told before nice.jar must not contain Nice.class, only the second jar. Thats why I have to split
<alexgreif> split nice.jar in a new nice.jar without Nice.class and a second jar only with Nice.class
<bonniot> what happens if you leave Nicec.class in nice.jar also?
<alexgreif> then it does not work. we tried everything.... the Nicec.clas has to be in a separate jar as the doc says
<bonniot> the eclipse in Debian uses the system ant, which means that I can use a nicec task already, without anything done
in the plugin
<alexgreif> if you configure an external builder in the nice project property.
<alexgreif> or did you do it an other way?
<bonniot> what i see in the doc does not say that. it says that the extra jar cannot be the a plugin, but not that the
taskdef needs to be in the extra jar. and since the plugin is also added, it seems like it could work
<bonniot> no, i did not have to configure the classpath
<bonniot> it's just that it works to use Nicec from the command line Ant, and Eclipse uses the same Ant (simpler than to
need two configurations!)
<alexgreif> a plugin jar is a jar that is declared in the <runtime> element. so is nice.jar
<alexgreif> I dont know why but I have ant installed to but eclipse complained. The same was with martin
<bonniot> I think it's special in the Debian version of Eclipse that it uses the system Ant, not a hidden version inside
eclipse
<alexgreif> maybe
<alexgreif> so I split it ok?
<bonniot> yes go ahead
<alexgreif> koszi :)
<bonniot> but I think in the long term the Ant task provided by the plugin should not be the same as the command-line Ant
task. The plugin one should report errors in the problems view, etc, using the same mechanism as the Nice
builder. Or do I miss something?
<alexgreif> I dont think that ant puts anything in the problems view. it dies not parse the nicec output
<bonniot> but you can write an ant task that does it
<alexgreif> yes
<bonniot> without parsing, by listening to the compiler
<bonniot> a question is: is it ever useful to use the nice ant task, instead of the nice builder, from inside eclipe?
<alexgreif> I dont know which ant is prefered by eclipse its own or the generally instlled one
<alexgreif> do you mean the NiceBuilder, that calls nicec in an embedded mode?
<alexgreif> NiceBuilder.class?
<bonniot> yes
<bonniot> i think custom installations of eclipse use its own ant. Debian's version use the system's
<alexgreif> I find it useful if the ant script can run more than one times the nicec for different packages
<bonniot> in what case?
<alexgreif> Im sure it can be configured
<alexgreif> in my flow4j, where I have the flows nice source in several independant packages.
<alexgreif> otherwise I have to create a dummy package that imports all other packages like a spider
<bonniot> you have several programs?
<alexgreif> not programs, but each flow has it own class
<alexgreif> in a different package
<bonniot> how do you use them?
<alexgreif> servlets can tzrigger them
<bonniot> i see
<alexgreif> or inside an application
<alexgreif> so I find it useful
<bonniot> but aren't the flows source code generated automatically?
<alexgreif> yes, but flows are like source files in an eclipse project . they can be organized hierarchically, like
packages. you can see a flo as a visual representation of a nice source file
<bonniot> so don't you want to have them automatically compiled as well? so you don't need to write an ant build file by
hand
<alexgreif> saving a flow is creating an xml file. compiling the flow4j project is reading the xml files and creating the
nice files and compiling them
<alexgreif> not by hand, its created automatically
<alexgreif> but I still dont know whether I will use ant for it. maybe I do it completely in embedded mode
<bonniot> so, my question was about a project in eclipse, which is quite different
<alexgreif> a nice project?
<bonniot> yes
<alexgreif> ok, but why shouldnt the user have the possibility to use nicec in its project specific ant script
<bonniot> sure he should have
<alexgreif> we will see how debian behaves :)
<bonniot> i'm just wondering when it is useful
<alexgreif> ok, I see. But maybe sometimes somebody complains about it
<bonniot> i don't think there will be a surprise in Debian, since it is already working
<bonniot> but yes, i'm not sure which task would be chosen if they were different
<bonniot> in that case, it could actually be better to give the eclipse specific one a different name, so one can chose
<bonniot> like nice.eclipse.Nicec
<bonniot> is it possible that the plugin does the taskdef, so it does not need to be done in each build file?
<alexgreif> you can set the taskdef programmatically in java, I think that could be possible to do that in eclipse. I will
have to investigate
<bonniot> do you agree that there should be a nice.eclipse.Nicec, and that it should be the one added in the extension
classpath for Ant by the plugin?
<alexgreif> why? when its the same code, then we split the nice.jar and extract the nice.tools.ant.Nice.class in a separate
jar . Only for the plugin dist
<alexgreif> why put it in another package?
<bonniot> but in the long term they should be different, don't you think?
<alexgreif> ah, I see... a modified version that contributes in nthe problems view?
<bonniot> in the long term
<bonniot> for now, it could be exactly the same, but it would simply to create it already
<bonniot> no need to fiddle with the jars
<alexgreif> yes then a second version will exist of the Nicec class that contributes in nthe problems view, and is eclipse
specific
<bonniot> and when somebody is read to implement it, only the source code needs to be modified
<alexgreif> but let me fiddle the jars for now... Im almost finished
<bonniot> as you wish!
<alexgreif> but yes we can write a base Nicec class and extend it by the eclipse Nicec class
<alexgreif> but who would compile it?
<bonniot> it would be part of the plugin, so built and distributed together with the plugin
<alexgreif> ah ok, but the base Nicec class still remains in nice.tools.ant
<bonniot> i don't know if there needs to be a common base class. Yes, probably the "parsing" of the task arguments should be
shared (and so it stays compatible), while there are two different way to report the errors
<alexgreif> yes, thats what I mean. and calling the embedded nicec is also the same
*<* Signoff: gamsl (kornbluth.freenode.net irc.freenode.net)
*>* gamsl (~gamsl@81.10.166.41) has joined channel #nice
-NickServ- This nickname is owned by someone else
-NickServ- If this is your nickname, type /msg NickServ IDENTIFY <password>
<bonniot> alexgreif: seems good
<alexgreif> ok, I will do it after the fiddling :)
-lilo:$*- [Global Notice] Hi all. We just experienced a very interesting problem with services and an EU hub. We're
investigating, and suspect it won't recur anytime soon.
-lilo:$*- [Global Notice] Hi all. Please bear with us, we *may* have a major dehubbing and rehubbing in just a sec.
-NickServ- This nickname is owned by someone else
-NickServ- If this is your nickname, type /msg NickServ IDENTIFY <password>
-lilo:$*- [Global Notice] Looks like not. Thanks for your patience.
<alexgreif> The new plugin sources are checked in.
<alexgreif> martin, I sent you a mail where you can get the sources tarball
<bonniot> alexgreif: you could add a target to install the plugin in eclipse.home
<bonniot> so I could type
<bonniot> ant install
<bonniot> and have the plugin installed
<alexgreif> but what if the version changed? should I first remove all directories that begin with net.sf.nice?
<alexgreif> or I remove the same installed version and if an older version is there then the user has to remove the old one
itself
<bonniot> i think you could remove all other versions
<alexgreif> ok
<bonniot> [nicec] Command line:
<bonniot> [nicec] Package sualtam is not available.
<bonniot> [nicec] The source path is: src
<bonniot> [nicec] The package path is:
<bonniot> [nicec] BUILD FAILED: file:/home/daniel/workspace/Sualtam/build.xml:5: Compilation failed with errors.
<bonniot> but:
<bonniot> ls /home/daniel/workspace/Sualtam/src/sualtam/*.nice
<bonniot> /home/daniel/workspace/Sualtam/src/sualtam/html.nice
<bonniot> /home/daniel/workspace/Sualtam/src/sualtam/main.nice
<bonniot> ...
<alexgreif> yes I mentioned earlier that there is a bug in the Nicec task.
<alexgreif> you have to specify the basedir="/home/daniel/workspace/Sualtam/"
<alexgreif> and then in sourcepath="src"
<alexgreif> jar="bla.jar4~" will be put undereclipse/
<alexgreif> I have to fix this
<alexgreif> I think absolute paths everywhere works
<bonniot> where does the basedir need to go?
<alexgreif> daniel: normally basedir="." but can we determine what "." is? or are these ant internals and we have to set
basedir as an absolute path?
<bonniot> basedir should not be set in absolute
<alexgreif> yes I see it the same way
<alexgreif> maybe we can set some properties in the ant external tool prefs
<bonniot> isn't basedir="." the default?
<bonniot> . seems to be correct, that is the toplevel dir
<bonniot> because I have bin as a classpath, and Nicec warns:
<bonniot> Classpath component /home/daniel/workspace/Sualtam/bin does not exist
<alexgreif> I think basedir is required
<bonniot> which is true
<alexgreif> . is the toplevel of the executing app
<alexgreif> and its eclipse. isnt it?
<bonniot> . is the current directory
<alexgreif> of the executing app?
<bonniot> By default the classes in the java.io package always resolve relative pathnames against the current user
directory. This directory is named by the system property user.dir
<bonniot> it seems eclipse changes the current directory to the project's toplevel directory, see above
<alexgreif> In my eclipse the jar file was put relative to eclipse_home and not relative to the basedir
<bonniot> for the moment I can only get ant to find the package when I set an absolute sourcepath, not when I set an
absolute basedir
<alexgreif> In my case it was the opposite. absolute basedir and sorcepath="src"... strange
<bonniot> is basedir a property of the project element?
<alexgreif> yes
<bonniot> without any absolute dir and no basedir, it works file with ant on the command line
<bonniot> so basedir is not required
<alexgreif> I checked in a new version of build.xml. "ant install" is possible
<bonniot> thanks, great!
<alexgreif> does it work for you too?
<alexgreif> but in Nicec we have to check where the relative paths point.
<alexgreif> could you post your build.xml of the nice project?
<bonniot> sorry, i'm busy at the moment
<bonniot> the installation worked, it seems
<alexgreif> Im tired, lets talk tomorrow.
<alexgreif> cu
<bonniot> <?xml version="1.0" encoding="UTF-8"?>
<bonniot> <project default="compile">
<bonniot> <!-- basedir="/home/daniel/workspace/Sualtam" -->
<bonniot> <taskdef name="nicec" classname="nice.tools.ant.Nicec"/>
<bonniot> <target name="compile">
<bonniot> <nicec package="sualtam" sourcepath="src" destination="bin" jar="bin/project.jar" />
<bonniot> </target>
<bonniot> </project>
<bonniot> OK
<bonniot> jo ejszakat!
*<* Signoff: bonniot (Remote closed the connection)
*<* Signoff: gamsl (Read error: 60 (Operation timed out))