Here's the IRC log from yesterdays scheduled chat. The main things talked about were:
- various problems with implementing extensions such as the Axis2 binding. - how to handle extension dependencies. Suggestion were for a new dependency element in the scdl, having an ArtifactRepository and an impl of that using maven repos, and a suggestion of web app style .sar or .scab files (I'll send a separate mail about that) - -Psourcecheck came up, most didn't want it required before commits - how to use JIRAs more effectively was discussed, we should try to use them more to track what we're working on ...ant * Now talking in #tuscany * sykesm has joined #tuscany * Looking up sykesm user info... * dkulp has joined #tuscany * lresende has joined #tuscany * bhdaniel has joined #tuscany * jsdelfino has joined #tuscany * bertlamb has quit IRC (Read error: 104 (Connection reset by peer)) * kgoodson has joined #Tuscany * kgoodson has quit IRC (Client Quit) * kgoodson has joined #Tuscany * kgoodson_away has left #Tuscany <ant> Hi guys * dwheeler has joined #tuscany <kgoodson> hi <jboynes> howdy <lresende> hi <dwheeler> hi <cr22rc> hi * jervisliu has joined #tuscany * jervisliu has left #tuscany <ant> So i'd suggestted talking about writing extensions, but with Jim not here maybe that wont work <jboynes> given the recent changes to all the wiring that's probably true * jervisliu has joined #tuscany <jboynes> we can talk general things though if there are high level questions <cr22rc> I posted a message about loading a reference directly .. if that should work <jboynes> it should <jboynes> I didn't really understand the question * Venkat has joined #tuscany <cr22rc> I now altered the sampe to load a java component that references the binding.. but have run in that my axis binding builder get loaded but no build method gets called. <jervisliu> i think the problem for axis2 binding is that there still some parts not implemented yet <jervisliu> we used to have a class called TomcatHost or sth like that * kevin__ has joined #tuscany <cr22rc> wasn't that on the server? <jboynes> that was only used for the service side <jboynes> references should not need it <jervisliu> which is used to boot strap servlet container, register axis2 servlet etct. but we dont have equal class at the moment <jboynes> I think that is why cr22rc was starting with references <jervisliu> oh, yes, thats only for service, for the server side <Venkat> has the SystemCompositeBuilder a role to play here... <Venkat> in that I see that there are components and services added... but not references <jboynes> that could be <jervisliu> also the question Venkat asked last week, how to setup inboundWire, i didnt see the answer yet. <jboynes> Venkat: but the CompositeBuilder does <jboynes> and we should be building an application composite here <cr22rc> here is a high level question ... what to do about extension dependencies jars <jboynes> :-) <jboynes> there's a higher level question: what to do about dependency jars in genera <jboynes> in general <jboynes> e.g. if I deploy a bare XML file, where do implementation artifacts come from? <cr22rc> right now spliting them to the boot directory and the extension jar in the extension directory kinda breaks the distribution/asembly that puts them together <jboynes> yes they should not be in the boot directory <jboynes> that should just contain the stuff needed to boot the runtime <jboynes> i was thinking of using the dependency information maven adds to the jar <jboynes> so we can read the maven metadata, find the dependencies and add them to the classpath from a maven repo <cr22rc> are we then commiting extension developers to using maven ? or until some other tooling does that too? <jboynes> I would say we are /enabling/ developers to use maven <jboynes> and not just extensions, application composites as well <jboynes> just like we allow people to use Class-Path jars as well <jboynes> (from the manifest) <jboynes> I think Jim has some ideas here on supporting OSGi dependencies as well <jboynes> I'd also suggested supporting a <dependencies> element in the SCDL as well <jboynes> for those cases where you did not have a jar file <cr22rc> our loader would handle that .. right? <jboynes> between the loader and the composite builder yes <Venkat> Jboynes: I do not find any wire creation in CompositeBuilder <Venkat> ok... lets take that later.. carry on with dependecies <jboynes> yeah - that's better directed at jmarino anyway <cr22rc> if in the scdl ... where phyically would it be looked for ? <jboynes> not sure what you mean <cr22rc> well mabye I need to see more details of it would be specified in the scdl <jboynes> maybe, but I don't understand the question you were asking <Venkat> and we are talking about scdls that define extension as well as those that are application assemblies .. right <jboynes> yes (I think they should be the same) <jboynes> cr22rc: do you mean, where physically would I get a dependency jar from? <cr22rc> yes <jboynes> ok <jboynes> like this ... <cr22rc> are you thinking the local repo? <jboynes> you specify dependency info in the scdl <jboynes> that is actually independent of the way the runtime locates the artifact <jboynes> you just declare what you need (name, version, type etc.) <jboynes> the loader converts that to an Artifact description <jboynes> and calls an ArtifactRepository to get physical URLs for it <jboynes> one implementation of ArtifactRepository is based on Maven and resolves using Maven repos <jboynes> the most basic form just looks for the artifact in your local repo cache (~/.m2/repository) <jboynes> more sophisticated implementations may also fetch artifacts from remote maven repos <Venkat> jboynes: are we saying that maven repos will be the most natural env. for developers.. <jboynes> no <Venkat> can a developer thrive here with no knowledge of maven or maven repos <Venkat> what will be the options in that case <jboynes> this is one solution - there could be others * halehM has joined #tuscany <jboynes> hence the abstraction behind ArtifactReposiotry <jboynes> I think jmarino had ideas based on OSGi <Venkat> isn't this something that should also feed back into the specs... <jboynes> yes <jboynes> given the amount of open source stuff published to maven repos then this seems like a good thing to do anyway * jliu has quit IRC (Read error: 104 (Connection reset by peer)) <jboynes> agreed? <Venkat> am not sure how the ArtifactRepository is going to be designed... but expect that having Maven should not influence its abstraction <Venkat> meaning... working its design bottom up from Maven <jboynes> I posted a proposal to the list a while ago <jboynes> Jim seemed to think it would work for both maven and osgi <cr22rc> maybe we should review and come back to this .. have a url? <jboynes> if you can think of other features the abstraction needs that input would be valuable <Venkat> jboynes: could you please help with a pointer to that thread <cr22rc> BTW shouldn't we be putting these things in Jira? I'm mean once we start getting serious doing someting about it? <jboynes> https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/spi/src/main/java/org/apache/tuscany/spi/services/artifact <cr22rc> Jira's are for featurs too AFAIK <jboynes> so anyway, if we continue with this <jboynes> then the dependencies for a extension would be fetched from the artifact repo <jboynes> with the dependencies being declared either in the composite's scdl, in maven metadata in the jar, or through some osgi bundle resolution mechanism <jboynes> cr22rc, does that solve your original problem <jboynes> ? <cr22rc> probably... the devil is in the details and will it be checked in tonight :-) * robbinspg has joined #tuscany <jboynes> what will be checked in? <cr22rc> this solution <jboynes> sorry, read "it will" instead of "will it" :-) <jboynes> I think I can add support for <dependency> elements by then sure <cr22rc> :-) <jboynes> using the maven metadata might take a bit longer <jboynes> (need to parse the pom that is inside the jar - I would want to reuse maven's own functions for that) <jboynes> (as in, I don't think we should have a pom parser) <ant> so is this saying if I want to insatll a webapp in tomcat that uses tuscany I need to set up a maven repos? <cr22rc> would it be too hard with this an implementation that dependencies couldn't be just picked up in the same directory that the extension jar <jboynes> ant: no, it is saying that if you have maven repos you can use them <ant> how does it work if I don't want to use a maven repos? <cr22rc> will need another artifactrepository implemented... I think <jboynes> you could put all your classes in your webapp as usual <jboynes> or that <Venkat> I have the same question as cr22rc <jervisliu> We used to have a testing\tomcat directory in M1, that can generate a list of <jervisliu> tuscany jars needed in Tomcat. <jervisliu> are we going to do the same thing? <jboynes> we have a webapp distro that contains all the jars <jboynes> cr22rc: if I have composites and libraries in the same directory, how do I tell them apart? <jboynes> and if I have multiple composites in the same directory, how do I separate their classpaths? <cr22rc> libraries don't have meta-inf/sca/default.sca <jboynes> what if I have a library jar that doe? <cr22rc> you see that as likely? <jboynes> I see it as possible <ant> how about sub dirs for each extension along the way webapps work, eg: <ant> extensions/javascript <ant> extensions/javascript/classes <ant> extensions/javascript/lib * robbinspg has quit IRC (Read error: 104 (Connection reset by peer)) <jboynes> that would work * kgoodson has quit IRC ("Chatzilla 0.9.73 [Firefox 1.5.0.6/2006072814]") <jboynes> you could also support "packed" versions (like war files) <jboynes> where the extension jar contained a "lib" directory inside it <cr22rc> do you expect to load two different versions of a dependent library for different extensions? <ant> like sar files for sca archive :) <jboynes> yes (except the jboss folks would probably sue us :-) <jboynes> how about a "scar" file <jboynes> (just kidding) <dwheeler> I definitley think supporting such a ".scar" file is a good way to go though. <dwheeler> Makes life easier on the user <cr22rc> SCAB file Sca binary <Venkat> and that is something that the specs can comfortably address <dwheeler> even if you start to have archives with multiple copies of the same libraries. <jboynes> ant: can you post a proposal for a "sar", "scar or "scab" file layout to the wiki? <jboynes> that would also be the directory layout in the unpacked case you mentioned <ant> knew i should have kept quiet <ant> ok <jboynes> thanks :-) <jboynes> I'll work on the <dependency> stuff for tonight <jboynes> and cr22rc can keep us honest :-) <cr22rc> to support multiple implementations loaded at the same time don't each need to have their own classloader ? <jboynes> yes <jboynes> each composite has it's own classloader <jboynes> which is a child of the classloader of it's parent <cr22rc> then there is more issues if the objects they create get shared ? IMO things really go weird when same objects but loaded by different classloaders interact <jboynes> what do they share? <ant> you mean you'll code the <dependency> stuff? Should I just try coding the sar dir layout stuff as well then? <jboynes> there had been some discussion of the dependency stuff on the list <cr22rc> data ? wouldn't one binding for example create objects that would themselves in a component and another binding create them too from a different version and also be referenced from the same component? * kevin__ has quit IRC <jboynes> it might be an idea to capture the layout thing on the list or wiki as well <ant> ok <jboynes> but if you want to do that in code it works for me :-) <ant> i'll at least post a mail 1st <jboynes> cr22rc: bindings would be the thing converting between classloaders <jboynes> e.g. serializing in app1's classloader and deserializing in app2's classloader <jboynes> the binding itself will in in yet another classloader (some systemy one) <cr22rc> hmm won't that be quite a performance hit? <jboynes> in general yes <jboynes> it is one of the things we would look to optimize <ant> On a new topic, Can I ask if it was just me that didn't know -Psourcecheck was required now? <cr22rc> I seen several "warnings" from jim <cr22rc> I like to also ask after this ... what is our view of JIRAs ? <jervisliu> i think once we resolve current checkstyle warnings, we should switch on -Psourcecheck by default. so that ppl cant get mvn built if their code dont comply <ant> thats kind of where I was going to ask next. Is that the intention? Is everyone happy with that? It seems a bit harsh to me <cr22rc> Is there really that much of a benefit to be so strict? <jboynes> i think it is too harsh by default and adds too much overhead if done on every compile <jboynes> I was happy with a rule that it should be done before a commit <jboynes> s/rule/guideline/ <jboynes> or something <ant> but thats never been suggested as a rule has it? <ant> ok, guideline I'm fine with <cr22rc> This sounds perfect if we get an independent continuous build to give a seperate report on this daily <ant> well 'fine' may be a bit strong <jboynes> I thought that is where the original discussion ended up (back in April or somewhen) * BaconLewis has joined #tuscany <jboynes> cr22rc: that would be ok if committers consider a sourcecheck problem the same as a build break <ant> i didnt think it was that clear, but i'd have to go re read all the mails <jboynes> and if you treat it as a build break IMO you would want to check it before committign <ant> i'm going to have to go soon. is there something else we could discuss in 10 minutes? <cr22rc> how we should be using Jira? <ant> you mean should we raise JIRA's for the function we're working on or want someone else to work on? <jboynes> one for ant before he goes - are you happy with the interface.wsdlstuff now? * pombreda has quit IRC (No route to host) <ant> notihng has happened there has it? <cr22rc> ant: yes <jboynes> ant: you had questions on wsdlLocation and stuff that you were going to clarify <ant> i thought we left it at you were going to propose something? <cr22rc> (why we need jiras) <cr22rc> :-) <jboynes> nope <ant> cr22rc, I guess I'm fine with using JIRAs like that, but I'm not sure if everyone will do it * sykesm has quit IRC ("ircII EPIC4-2.2 -- Are we there yet?") <cr22rc> well that's why I'm asking what is our position on his? <cr22rc> this <jboynes> cr22rc: I have a concern that all discussion will move into JIRA comments that are harder for people to follow <ant> i agree discussion should be on the devlist not in JIRA comments <cr22rc> but once something is decided and being worked on would it not make sense to copy the comments to a jira to track the activity and status of it ? <jboynes> it might but as ant says I'm not sure everyone will <ant> jboynes, are don't understand how wsdl is supposed to work or what wsdlLocation will do so I can't propose something <ant> (...I don't ...) <jboynes> it's duplication and people don't tend to do things twice :-) <jboynes> ant: i thought you were going to figure out what wsdlLocation and stuff did <ant> could put a link in the JIRA to the mail on the list? <jboynes> i do think we should have jiras for anything non-committers are doing <jboynes> so that we can track the patches and make sure they don't get dropped <ant> there isn't really any code for it yet is there? Just the attribute being read thats in the interface wsdl loader <jboynes> we also get the IP grant tracked in the jira entry * pombreda has joined #tuscany * jervisliu has left #tuscany * Looking up BaconLewis user info... <cr22rc> ok seems odd to me we can have such a strong desire for source checking but not use a system to track progress for all. I'm of the opinion that svn should bounce the commit if there is no jira with it ... but I guess I'm alone on this. <halehM> Isn't it easier to use list of completed JIRAs at the end of a milestone to determine what went into that release? <Venkat> from my perspective it sometimes does make sense to have a Jira in place... take the case of the dicussion on the wiring.. AFAIK there are three mailing threads on it... if Jim were to answer which one would he do... <jboynes> any of them in preference to just adding jira comments <ant> cr22rc, I agree with the agree sentiment, but bouncing a commit is way harsh IMHO <jboynes> back to the "discussion on the list" thing <jboynes> cr22rc: I agree with ant on that <cr22rc> I was going to the extreme there ... but close to it. <cr22rc> if you put just the jira in the top comment you can even go to the jira and see the commits for it. <jboynes> cr22rc: I think if you go too detailed then stuff gets lost in the noise <cr22rc> rather nice <ant> jboynes, if I stick around here for a bit do you think we could make some progress on the WSDL issues? <jboynes> how about later - I have calls for the next 3 hours <Venkat> a more trivial request :-) that I have is ... one of you folks please have a look at the website patch I submitted today... Jira-601 <Venkat> just an update to the documentation site <Venkat> and let me know if that is ok... <Venkat> sorry documenation page and not documentation site <ant> I've just had a quick look Venkat - looks great to me. I don't know how to build the website now that its on the new system. cr22rc, is there any doc or old emails saying this works now? <Venkat> oops.. I just did a build.bat... has that changed now? <cr22rc> to build just run build afaik <ant> i've never even looked so I've no idea <Venkat> all that I did is pulled down the site-author directory and then executed build.bat (there is a readme there which talked about this) <Venkat> and then the site-publish has all the htmls for checking out locally <Venkat> ok.. I'll bow out now... its late.. thanks Ant for checking the website stuff out .. jboynes & cr22rc let me know your opinions over mails ... * Venkat has quit IRC <ant> I'll make sure someone gets to it <cr22rc> hold .. on for a sec venkat.. can you? <ant> i have to go as well. ttyal... * ant is now known as ant_away