From mbriskar at redhat.com Mon Feb 2 04:52:54 2015 From: mbriskar at redhat.com (Matej Briskar) Date: Mon, 2 Feb 2015 04:52:54 -0500 (EST) Subject: [windup-dev] Unbildable Final version In-Reply-To: <1370513283.3305335.1422870311963.JavaMail.zimbra@redhat.com> Message-ID: <2039863108.3307786.1422870774203.JavaMail.zimbra@redhat.com> Hi, as Samuel Tauil reported today, windup 2.0.0.Final is not buildable because of the dependency on rewrite Alpha5 that does not exist. Our change to this version happened here https://github.com/windup/windup/commit/f92a3408ff7f52d5d104f5648a37d8f5eff7430d, central repo versions are here: http://search.maven.org/#search|ga|1|rewrite-api, rewrite tags on github are here: https://github.com/ocpsoft/rewrite/releases I see two options: a) get a patch and new version of windup b) release rewrite Alpha5 M. From lincolnbaxter at gmail.com Tue Feb 3 10:34:48 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Tue, 3 Feb 2015 10:34:48 -0500 Subject: [windup-dev] Unbildable Final version In-Reply-To: <2039863108.3307786.1422870774203.JavaMail.zimbra@redhat.com> References: <1370513283.3305335.1422870311963.JavaMail.zimbra@redhat.com> <2039863108.3307786.1422870774203.JavaMail.zimbra@redhat.com> Message-ID: <CAEp_U4HDYGU-FisDrfeH2sHgdW2aEAvfCwbXCO4sZFQa+KVTNg@mail.gmail.com> Just FYI. Rewrite Alpha5 is in the repository now so this shouldn't be a problem anymore. Please let me know if it is still occurring! On Mon, Feb 2, 2015 at 4:52 AM, Matej Briskar <mbriskar at redhat.com> wrote: > Hi, > as Samuel Tauil reported today, > windup 2.0.0.Final is not buildable because of the dependency on rewrite > Alpha5 that does not exist. > Our change to this version happened here > https://github.com/windup/windup/commit/f92a3408ff7f52d5d104f5648a37d8f5eff7430d > , > central repo versions are here: > http://search.maven.org/#search|ga|1|rewrite-api, > rewrite tags on github are here: > https://github.com/ocpsoft/rewrite/releases > > I see two options: > a) get a patch and new version of windup > b) release rewrite Alpha5 > > M. > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev > -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150203/1477d887/attachment.html From lincolnbaxter at gmail.com Tue Feb 3 11:01:56 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Tue, 3 Feb 2015 11:01:56 -0500 Subject: [windup-dev] Tasks for the next release Message-ID: <CAEp_U4FpLgnHfm4eOGeWLXtaRpVZjFhvmrnPfJEvuOJNaceiLg@mail.gmail.com> Hey Team, We'd like to release again in roughtly 8-10 days to get in some features that will be very useful to the community. I've created several new JIRAs that need to be completed before we release the 2.1.0.Final version: https://issues.jboss.org/issues/?jql=fixVersion%20%3D%202.1.0.Final%20AND%20project%20%3D%20WINDUP%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC Please use this list as you prioritize work, specifically: https://issues.jboss.org/browse/WINDUP-497 https://issues.jboss.org/browse/WINDUP-499 (depends on JAR identification) -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150203/5de30a9f/attachment.html From zizka at seznam.cz Wed Feb 4 20:24:19 2015 From: zizka at seznam.cz (=?UTF-8?B?IkluZy4gT25kxZllaiDFvWnFvmthIg==?=) Date: Thu, 05 Feb 2015 02:24:19 +0100 Subject: [windup-dev] RuleProviders' / rules metadata Message-ID: <54D2C643.9040807@seznam.cz> Hi, it seems that the metadata is a bit scattered around the place. A) Some metadata are at rules themselves, e.g. as returned by getExecuteAfter(). B) Some are sunken into the dark depth of ~.rewrite.Context, like rewriteCtx.put(RuleMetadata.CATEGORY, DEFAULT_CATEGORY); However when I try to retrieve this, Object cat = event.getRewriteContext().get(RuleMetadata.CATEGORY); I get null. So I debugged and found the data stored in a weird data structure, context.map[WindupRuleMetadata].providersToRules[?RuleProvider][?].contextMap So I was trying to get it out, WindupRuleMetadata wrm = (WindupRuleMetadata) event.getRewriteContext().get(WindupRuleMetadata.class); Assert.assertNotNull("event.getRewriteContext()[WindupRuleMetadata.class] is not null", wrm); for(WindupRuleProvider provider : wrm.getProviders()) { if(provider.getClass().equals(TestMetadataAnnotationExecRuleProvider.class)) continue; provider.get } But here I got lost as there seems to be no API for providersToRules. 1) How can I get to the metadata? 2) I suggest to review where and how the metadata are stored and unify it a bit. Thanks, Ondra PS: I admit that I didn't look much around for some working usages of metadata as I am going to sleep, but CATEGORY seems not to be used anywhere. From ozizka at redhat.com Wed Feb 4 20:24:44 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Thu, 05 Feb 2015 02:24:44 +0100 Subject: [windup-dev] RuleProviders' / rules metadata Message-ID: <54D2C65C.2050001@redhat.com> Hi, it seems that the metadata is a bit scattered around the place. A) Some metadata are at rules themselves, e.g. as returned by getExecuteAfter(). B) Some are sunken into the dark depth of ~.rewrite.Context, like rewriteCtx.put(RuleMetadata.CATEGORY, DEFAULT_CATEGORY); However when I try to retrieve this, Object cat = event.getRewriteContext().get(RuleMetadata.CATEGORY); I get null. So I debugged and found the data stored in a weird data structure, context.map[WindupRuleMetadata].providersToRules[?RuleProvider][?].contextMap So I was trying to get it out, WindupRuleMetadata wrm = (WindupRuleMetadata) event.getRewriteContext().get(WindupRuleMetadata.class); Assert.assertNotNull("event.getRewriteContext()[WindupRuleMetadata.class] is not null", wrm); for(WindupRuleProvider provider : wrm.getProviders()) { if(provider.getClass().equals(TestMetadataAnnotationExecRuleProvider.class)) continue; provider.get } But here I got lost as there seems to be no API for providersToRules. 1) How can I get to the metadata? 2) I suggest to review where and how the metadata are stored and unify it a bit. Thanks, Ondra PS: I admit that I didn't look much around for some working usages of metadata as I am going to sleep, but CATEGORY seems not to be used anywhere. From jsightle at redhat.com Thu Feb 5 11:05:28 2015 From: jsightle at redhat.com (Jess Sightler) Date: Thu, 05 Feb 2015 11:05:28 -0500 Subject: [windup-dev] RuleProviders' / rules metadata In-Reply-To: <54D2C65C.2050001@redhat.com> References: <54D2C65C.2050001@redhat.com> Message-ID: <54D394C8.5040006@redhat.com> This metadata is stored on the Rule itself: Rule rule = // ... Context ruleContext = rule instanceof Context ? (Context) rule : null; Object origin = ruleContext.get(RuleMetadata.ORIGIN); On 02/04/2015 08:24 PM, Ondrej Zizka wrote: > Hi, > > it seems that the metadata is a bit scattered around the place. > > A) Some metadata are at rules themselves, e.g. as returned by > getExecuteAfter(). > > B) Some are sunken into the dark depth of ~.rewrite.Context, like > > rewriteCtx.put(RuleMetadata.CATEGORY, DEFAULT_CATEGORY); > > However when I try to retrieve this, > > Object cat = event.getRewriteContext().get(RuleMetadata.CATEGORY); > > I get null. > So I debugged and found the data stored in a weird data structure, > > context.map[WindupRuleMetadata].providersToRules[?RuleProvider][?].contextMap > > So I was trying to get it out, > > WindupRuleMetadata wrm = (WindupRuleMetadata) > event.getRewriteContext().get(WindupRuleMetadata.class); > Assert.assertNotNull("event.getRewriteContext()[WindupRuleMetadata.class] is > not null", wrm); > for(WindupRuleProvider provider : wrm.getProviders()) > { > if(provider.getClass().equals(TestMetadataAnnotationExecRuleProvider.class)) > continue; > provider.get > } > > > But here I got lost as there seems to be no API for providersToRules. > > 1) How can I get to the metadata? > > 2) I suggest to review where and how the metadata are stored and unify > it a bit. > > Thanks, > Ondra > > > PS: I admit that I didn't look much around for some working usages of > metadata as I am going to sleep, but CATEGORY seems not to be used anywhere. > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev -- Calendar Free/Busy: https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York From itewk at redhat.com Sat Feb 7 10:48:57 2015 From: itewk at redhat.com (Ian Tewksbury) Date: Sat, 7 Feb 2015 10:48:57 -0500 (EST) Subject: [windup-dev] Windup 2.0 Notification Level? In-Reply-To: <1866027071.391498.1423324050325.JavaMail.zimbra@redhat.com> Message-ID: <1012911401.391629.1423324137685.JavaMail.zimbra@redhat.com> Windup 1 used to have the idea of a NotificationLevel for hints which I then mapped to Eclipse problems levels. Looking at the InlineHintModel I no longer see an equivalent . Has this idea been removed from Windup 2? If so I'll just make it a user preference to set what level they want Windup Hints reported at. Blue Skies, ~Ian -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150207/4b4ced7b/attachment.html From itewk at redhat.com Sat Feb 7 10:55:09 2015 From: itewk at redhat.com (Ian Tewksbury) Date: Sat, 7 Feb 2015 10:55:09 -0500 (EST) Subject: [windup-dev] Windup Decorations vs Hints? In-Reply-To: <632498127.392103.1423324471305.JavaMail.zimbra@redhat.com> Message-ID: <1217463116.392111.1423324509131.JavaMail.zimbra@redhat.com> Windup 1 used to have the idea of Decorations and of Hints. Lincoln pointed me in the direction of the InlineHintService which I am grabbing hints from. Is there still the idea of Decorations or did that distinction go away? Blue Skies, ~Ian -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150207/709831c4/attachment.html From ozizka at redhat.com Tue Feb 10 08:36:40 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Tue, 10 Feb 2015 14:36:40 +0100 Subject: [windup-dev] nexus-indexer - caching nexus data between builds removed? Message-ID: <54DA0968.3060307@redhat.com> Hi all, original implementation of nexus indexer allowed to store nexus index data outside project dir, ~/.something , to prevent downloading after `mvn clean`. After Lincoln's refactoring, it's not possible to rebuild the data without redownloading the index. Is that intentional? I think that we don't really need to redownload maven index every time we clean target/ . Right, Maven Indexer supports incremental updates, but that is broken because of how metadataExists() is used. Ondra From jsightle at redhat.com Tue Feb 10 10:31:39 2015 From: jsightle at redhat.com (Jess Sightler) Date: Tue, 10 Feb 2015 10:31:39 -0500 Subject: [windup-dev] nexus-indexer - caching nexus data between builds removed? In-Reply-To: <54DA0968.3060307@redhat.com> References: <54DA0968.3060307@redhat.com> Message-ID: <54DA245B.2070409@redhat.com> I don't think that I understand the issue here. This project is only rebuilt whenever we want to publish new artifacts, which should be somewhat infrequent. If you need to store a custom index, it can be stored in the users home directory (~/.windup). I don't see the harm in that? On 02/10/2015 08:36 AM, Ondrej Zizka wrote: > Hi all, > > original implementation of nexus indexer allowed to store nexus index > data outside project dir, ~/.something , to prevent downloading after > `mvn clean`. > After Lincoln's refactoring, it's not possible to rebuild the data > without redownloading the index. > Is that intentional? I think that we don't really need to redownload > maven index every time we clean target/ . > Right, Maven Indexer supports incremental updates, but that is broken > because of how metadataExists() is used. > > Ondra > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev -- Calendar Free/Busy: https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York From ozizka at redhat.com Tue Feb 10 10:38:34 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Tue, 10 Feb 2015 16:38:34 +0100 Subject: [windup-dev] nexus-indexer - caching nexus data between builds removed? In-Reply-To: <54DA245B.2070409@redhat.com> References: <54DA0968.3060307@redhat.com> <54DA245B.2070409@redhat.com> Message-ID: <54DA25FA.40604@redhat.com> On 10.2.2015 16:31, Jess Sightler wrote: > I don't think that I understand the issue here. This project is only > rebuilt whenever we want to publish new artifacts, Well, it is not - there was some incompatibility introduced by custom GAV class replaced with Forge's Coordinate, so I had to change the format. So I had to rebuild few times. Not a big issue, I just don't see why not to store it elsewhere optionally since it's just few extra code lines, and will save dozens of minutes to someone in the future. > which should be > somewhat infrequent. > > If you need to store a custom index, it can be stored in the users home > directory (~/.windup). > > I don't see the harm in that? > > On 02/10/2015 08:36 AM, Ondrej Zizka wrote: >> Hi all, >> >> original implementation of nexus indexer allowed to store nexus index >> data outside project dir, ~/.something , to prevent downloading after >> `mvn clean`. >> After Lincoln's refactoring, it's not possible to rebuild the data >> without redownloading the index. >> Is that intentional? I think that we don't really need to redownload >> maven index every time we clean target/ . >> Right, Maven Indexer supports incremental updates, but that is broken >> because of how metadataExists() is used. >> >> Ondra >> _______________________________________________ >> windup-dev mailing list >> windup-dev at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/windup-dev From jsightle at redhat.com Tue Feb 10 13:43:29 2015 From: jsightle at redhat.com (Jess Sightler) Date: Tue, 10 Feb 2015 13:43:29 -0500 Subject: [windup-dev] Windup Decorations vs Hints? In-Reply-To: <1217463116.392111.1423324509131.JavaMail.zimbra@redhat.com> References: <1217463116.392111.1423324509131.JavaMail.zimbra@redhat.com> Message-ID: <54DA5151.6000400@redhat.com> Yes, in Windup 2.x all of this information is contained in Hints. On 02/07/2015 10:55 AM, Ian Tewksbury wrote: > Windup 1 used to have the idea of Decorations and of Hints. Lincoln > pointed me in the direction of the InlineHintService which I am > grabbing hints from. Is there still the idea of Decorations or did > that distinction go away? > > Blue Skies, > ~Ian > > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev -- Calendar Free/Busy: https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150210/210e8142/attachment.html From lincolnbaxter at gmail.com Wed Feb 11 10:59:56 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Wed, 11 Feb 2015 10:59:56 -0500 Subject: [windup-dev] Windup meeting minutes - 2015-02-11 Message-ID: <CAEp_U4Gug+O6PTEdUefvtCLWJ0=3O2NveQnxPYUwoOK2jtk_Lw@mail.gmail.com> Minutes: http://transcripts.jboss.org/meeting/irc.freenode.org/windup/2015/windup.2015-02-11-15.08.html Minutes (text): http://transcripts.jboss.org/meeting/irc.freenode.org/windup/2015/windup.2015-02-11-15.08.txt Log: http://transcripts.jboss.org/meeting/irc.freenode.org/windup/2015/windup.2015-02-11-15.08.log.html Meeting summary --------------- * Agenda (lincolnthree, 15:09:05) * Status Reports (lincolnthree, 15:10:43) * I have been working on the SkipArchives and IdentifyArchives addon, (ozizka, 15:12:52) * it's done now, see PR's (ozizka, 15:12:58) * The end of last week was in the sign of DevConf - I've prepared a lab (ozizka, 15:13:20) * I will reuse that stuff for a video which I have been planing for long time (ozizka, 15:13:43) * I've edited the wiki a bit (ozizka, 15:14:00) * WINDUP-506 (ozizka, 15:14:33) * Besides devconf I worked on WINDUP-489 (we provide rules that add mappings from few files to xml files in rules dir), WINDUP-504 (XmlFile.in() now doesn't use pure regex but our type of regex) (mbriskar, 15:15:33) * I forgot - the @Rules metadata annotation (ozizka, 15:16:19) * now I will try to focus on making our Java AST processing better (catch superclasses/interfaces, maybe nested calls in the future) (mbriskar, 15:16:29) * So, that works and is ready for merge, only the categories do not work, IDK why. (ozizka, 15:16:51) * I spent most of last week finishing WINDUP-398 and WINDUP-456. They are now merged. (lincolnthree, 15:18:12) * I also reviewed several PRs, did some management catch-up. (lincolnthree, 15:18:52) * This week I will be working on our product integration plan, and planning for the next release. (lincolnthree, 15:19:24) * I worked on WINDUP-502 and WINDUP-503 (linking to EJB class files and deployment descriptors when possible) (jsightler, 15:20:44) * I have also worked on WINDUP-499 (displaying jar information in the source report) (jsightler, 15:21:02) * I also finished WINDUP-497, WINDUP-500, and WINDUP-501 (these are related, and get us titles/bodies for inline hints, as well as bodies in markdown format) (jsightler, 15:21:55) * Priorities (lincolnthree, 15:24:44) * To be discussed today during the planning meeting, but we will likely spend a good amount of time for this release working on rules metadata, externalization, and storage. possibly also on the AST functionality (lincolnthree, 15:25:55) * web UI rule generator (lincolnthree, 15:26:07) * Web in general (lincolnthree, 15:38:21) * Server config migration (lincolnthree, 15:45:06) -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150211/de55acea/attachment.html From lincolnbaxter at gmail.com Wed Feb 11 11:15:04 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Wed, 11 Feb 2015 11:15:04 -0500 Subject: [windup-dev] Windup 2.0 Notification Level? In-Reply-To: <1012911401.391629.1423324137685.JavaMail.zimbra@redhat.com> References: <1866027071.391498.1423324050325.JavaMail.zimbra@redhat.com> <1012911401.391629.1423324137685.JavaMail.zimbra@redhat.com> Message-ID: <CAEp_U4F7NghW8asPoteDijsgzOUC71W+JH4o4fnFFpU4J3EOHg@mail.gmail.com> Hey Ian, Sorry for the delay. We don't really have the concept of NotificationLevel, but we could probably add it back in. I assume you'd want the usual: ERROR, WARNING, INFO ? Go ahead and add in a JIRA if you would. We can set a default severity on hints to INFO or WARNING, then just add it as another step in the configuration to customize the value. It will be easy to add something like this. It's an oversight that we did not! <hint message="..." effort="..." severity="ERROR" /> ~Lincoln On Sat, Feb 7, 2015 at 10:48 AM, Ian Tewksbury <itewk at redhat.com> wrote: > Windup 1 used to have the idea of a NotificationLevel for hints which I > then mapped to Eclipse problems levels. Looking at the InlineHintModel I > no longer see an equivalent. Has this idea been removed from Windup 2? If > so I'll just make it a user preference to set what level they want Windup > Hints reported at. > > Blue Skies, > ~Ian > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev > -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150211/ec5ae07d/attachment.html From lincolnbaxter at gmail.com Wed Feb 11 17:25:40 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Wed, 11 Feb 2015 17:25:40 -0500 Subject: [windup-dev] nexus-indexer - caching nexus data between builds removed? In-Reply-To: <54DA25FA.40604@redhat.com> References: <54DA0968.3060307@redhat.com> <54DA245B.2070409@redhat.com> <54DA25FA.40604@redhat.com> Message-ID: <CAEp_U4HBo6AZO8ozAvc1HawMvuXuXhdcdi=KMidSVACixTQbAA@mail.gmail.com> Yeah, caching it somewhere is fine, but when I was playing with it earlier, the incremental update didn't work, so I removed the feature. On Tue, Feb 10, 2015 at 10:38 AM, Ondrej Zizka <ozizka at redhat.com> wrote: > > > On 10.2.2015 16:31, Jess Sightler wrote: > > I don't think that I understand the issue here. This project is only > > rebuilt whenever we want to publish new artifacts, > Well, it is not - there was some incompatibility introduced by custom > GAV class replaced with Forge's Coordinate, so I had to change the > format. So I had to rebuild few times. > > Not a big issue, I just don't see why not to store it elsewhere > optionally since it's just few extra code lines, and will save dozens of > minutes to someone in the future. > > which should be > > somewhat infrequent. > > > > If you need to store a custom index, it can be stored in the users home > > directory (~/.windup). > > > > I don't see the harm in that? > > > > On 02/10/2015 08:36 AM, Ondrej Zizka wrote: > >> Hi all, > >> > >> original implementation of nexus indexer allowed to store nexus index > >> data outside project dir, ~/.something , to prevent downloading after > >> `mvn clean`. > >> After Lincoln's refactoring, it's not possible to rebuild the data > >> without redownloading the index. > >> Is that intentional? I think that we don't really need to redownload > >> maven index every time we clean target/ . > >> Right, Maven Indexer supports incremental updates, but that is broken > >> because of how metadataExists() is used. > >> > >> Ondra > >> _______________________________________________ > >> windup-dev mailing list > >> windup-dev at lists.jboss.org > >> https://lists.jboss.org/mailman/listinfo/windup-dev > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev > -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150211/3b166f8b/attachment.html From ozizka at redhat.com Wed Feb 11 21:02:45 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Thu, 12 Feb 2015 03:02:45 +0100 Subject: [windup-dev] nexus-indexer - caching nexus data between builds removed? In-Reply-To: <CAEp_U4HBo6AZO8ozAvc1HawMvuXuXhdcdi=KMidSVACixTQbAA@mail.gmail.com> References: <54DA0968.3060307@redhat.com> <54DA245B.2070409@redhat.com> <54DA25FA.40604@redhat.com> <CAEp_U4HBo6AZO8ozAvc1HawMvuXuXhdcdi=KMidSVACixTQbAA@mail.gmail.com> Message-ID: <54DC09C5.9040900@redhat.com> I made it work again, waiting in the PR: https://github.com/windup/nexus-repository-indexer/pull/1 Ondra On 11.2.2015 23:25, Lincoln Baxter, III wrote: > Yeah, caching it somewhere is fine, but when I was playing with it > earlier, the incremental update didn't work, so I removed the feature. > > On Tue, Feb 10, 2015 at 10:38 AM, Ondrej Zizka <ozizka at redhat.com > <mailto:ozizka at redhat.com>> wrote: > > > > On 10.2.2015 16:31, Jess Sightler wrote: > > I don't think that I understand the issue here. This project is only > > rebuilt whenever we want to publish new artifacts, > Well, it is not - there was some incompatibility introduced by custom > GAV class replaced with Forge's Coordinate, so I had to change the > format. So I had to rebuild few times. > > Not a big issue, I just don't see why not to store it elsewhere > optionally since it's just few extra code lines, and will save > dozens of > minutes to someone in the future. > > which should be > > somewhat infrequent. > > > > If you need to store a custom index, it can be stored in the > users home > > directory (~/.windup). > > > > I don't see the harm in that? > > > > On 02/10/2015 08:36 AM, Ondrej Zizka wrote: > >> Hi all, > >> > >> original implementation of nexus indexer allowed to store nexus > index > >> data outside project dir, ~/.something , to prevent downloading > after > >> `mvn clean`. > >> After Lincoln's refactoring, it's not possible to rebuild the data > >> without redownloading the index. > >> Is that intentional? I think that we don't really need to > redownload > >> maven index every time we clean target/ . > >> Right, Maven Indexer supports incremental updates, but that is > broken > >> because of how metadataExists() is used. > >> > >> Ondra > >> _______________________________________________ > >> windup-dev mailing list > >> windup-dev at lists.jboss.org <mailto:windup-dev at lists.jboss.org> > >> https://lists.jboss.org/mailman/listinfo/windup-dev > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org <mailto:windup-dev at lists.jboss.org> > https://lists.jboss.org/mailman/listinfo/windup-dev > > > > > -- > Lincoln Baxter, III > http://ocpsoft.org > "Simpler is better." > > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150212/98ace655/attachment-0001.html From ozizka at redhat.com Wed Feb 11 21:20:34 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Thu, 12 Feb 2015 03:20:34 +0100 Subject: [windup-dev] WAS to JBoss Migration job Message-ID: <54DC0DF2.9010108@redhat.com> On a lighter note... https://www.smartrecruiters.com/EProInc/81044404-senior-java-developer-was-jboss?via=tw_share From bdavis at redhat.com Wed Feb 11 21:46:03 2015 From: bdavis at redhat.com (Brad Davis) Date: Wed, 11 Feb 2015 21:46:03 -0500 (EST) Subject: [windup-dev] WAS to JBoss Migration job In-Reply-To: <54DC0DF2.9010108@redhat.com> References: <54DC0DF2.9010108@redhat.com> Message-ID: <1073473538.9127229.1423709163209.JavaMail.zimbra@redhat.com> +1 Brad Davis Senior Manager, Red Hat Consulting Email: bdavis at redhat.com | c: 980.226.7865 | http://www.redhat.com ----- Original Message ----- From: "Ondrej Zizka" <ozizka at redhat.com> To: "Windup-dev List" <windup-dev at lists.jboss.org> Sent: Wednesday, February 11, 2015 9:20:34 PM Subject: [windup-dev] WAS to JBoss Migration job On a lighter note... https://www.smartrecruiters.com/EProInc/81044404-senior-java-developer-was-jboss?via=tw_share _______________________________________________ windup-dev mailing list windup-dev at lists.jboss.org https://lists.jboss.org/mailman/listinfo/windup-dev From ozizka at redhat.com Thu Feb 12 22:22:27 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Fri, 13 Feb 2015 04:22:27 +0100 Subject: [windup-dev] Ident data smaller - String to byte[] Message-ID: <54DD6DF3.4030106@redhat.com> 1) If the data in the file were put as binary, the size would reduce another ~ 25 %. The same if stored to the database (if we stored it there). Is it worth making the file not much readable as plain text? 2) Doing the same in data structures would reduce memory consumption around 45 %. But since it looks we will use the the binary, it doesn't matter much now. Ondra From jsightle at redhat.com Thu Feb 12 23:38:37 2015 From: jsightle at redhat.com (Jess Sightler) Date: Thu, 12 Feb 2015 23:38:37 -0500 Subject: [windup-dev] Ident data smaller - String to byte[] In-Reply-To: <54DD6DF3.4030106@redhat.com> References: <54DD6DF3.4030106@redhat.com> Message-ID: <54DD7FCD.3000000@redhat.com> H2 DB may be a good choice as well, as it supports pluggable filesystems (including read-only zip format): http://www.h2database.com/html/advanced.html#file_system On 02/12/2015 10:22 PM, Ondrej Zizka wrote: > 1) If the data in the file were put as binary, the size would reduce > another ~ 25 %. > The same if stored to the database (if we stored it there). > Is it worth making the file not much readable as plain text? > > 2) Doing the same in data structures would reduce memory consumption > around 45 %. > But since it looks we will use the the binary, it doesn't matter much now. > > Ondra > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev -- Calendar Free/Busy: https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York From ozizka at redhat.com Fri Feb 13 00:46:48 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Fri, 13 Feb 2015 06:46:48 +0100 Subject: [windup-dev] Let's update Performance-tuning wiki Message-ID: <54DD8FC8.7020300@redhat.com> ...while we still remember what it is actually doing. https://github.com/windup/windup/wiki/Performance-tuning Thanks, Ondra From mbriskar at redhat.com Fri Feb 13 02:49:11 2015 From: mbriskar at redhat.com (Matej Briskar) Date: Fri, 13 Feb 2015 02:49:11 -0500 (EST) Subject: [windup-dev] AST processing remake In-Reply-To: <1131729917.10094607.1423813597760.JavaMail.zimbra@redhat.com> Message-ID: <467546313.10095091.1423813751021.JavaMail.zimbra@redhat.com> Hi, I examined the way we do Java class parsing now and type guess is only based on imports in the current file. As we know, this is limiting and it can be changed. I will need to change especially method calls(having qualified names(QN) for classes&arguments), extension(being able to catch even extension of superclasses with full QN) and interface implementation(implementation of superinterfaces with full QN). I should be able to do that next week and thanks to Jess I already have a working example. I would rather properly test this functionality, so it may take few more days. I will try to fix also these issues with this (based on feedback from windup usage): maybe WINDUP-470 (https://issues.jboss.org/browse/WINDUP-470) WINDUP-473 (https://issues.jboss.org/browse/WINDUP-473) WINDUP-478 (https://issues.jboss.org/browse/WINDUP-478) WINDUP-479 (https://issues.jboss.org/browse/WINDUP-479) Matej. From ozizka at redhat.com Fri Feb 13 23:30:57 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Sat, 14 Feb 2015 05:30:57 +0100 Subject: [windup-dev] GraphContext in CDI? Message-ID: <54DECF81.6090207@redhat.com> Hi, I was playing with CDI, trying to inject GraphContext into ArchiveIdentificationGraphChangedListener. The original way to get it there is through constructor param. So I changed is so it is passed by setter, for the purpose of this experiment. When I added @Inject GraphContext grCtx; it is injected something different than what the setter gets. I.e. different instances. So I conclude that this in GraphContextImpl @Produces @ApplicationScoped public GraphContext produceGraphContext() is not really giving something application scoped. Why? I know there's GraphContextFactory, but still - @Inject'ing GraphContext, in the current setup, should IMO return the same GraphContext - or not? Thanks, Ondra From ozizka at redhat.com Fri Feb 13 23:40:33 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Sat, 14 Feb 2015 05:40:33 +0100 Subject: [windup-dev] Ident data smaller - String to byte[] In-Reply-To: <54DD7FCD.3000000@redhat.com> References: <54DD6DF3.4030106@redhat.com> <54DD7FCD.3000000@redhat.com> Message-ID: <54DED1C1.90208@redhat.com> I get your point - why write it when there's a DB. 1) It's another 1.5 MB jar added to the app, introducing more classes to scan on startup for Providers, Models, etc. 2) The data producing module would have to be rewritten to produce whatever H2DB consumes. Changing this would be just few lines change. Ondra PS: Don't get me wrong, I like all databases - my thesis was implemented in SQL :) And also, this is how I dealt with csv data in linux shell: https://code.google.com/p/csv-cruncher/ Ondra On 13.2.2015 05:38, Jess Sightler wrote: > H2 DB may be a good choice as well, as it supports pluggable filesystems > (including read-only zip format): > http://www.h2database.com/html/advanced.html#file_system > > > On 02/12/2015 10:22 PM, Ondrej Zizka wrote: >> 1) If the data in the file were put as binary, the size would reduce >> another ~ 25 %. >> The same if stored to the database (if we stored it there). >> Is it worth making the file not much readable as plain text? >> >> 2) Doing the same in data structures would reduce memory consumption >> around 45 %. >> But since it looks we will use the the binary, it doesn't matter much now. >> >> Ondra >> _______________________________________________ >> windup-dev mailing list >> windup-dev at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/windup-dev From ozizka at redhat.com Fri Feb 13 23:45:56 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Sat, 14 Feb 2015 05:45:56 +0100 Subject: [windup-dev] Ident data smaller - String to byte[] In-Reply-To: <54DED1C1.90208@redhat.com> References: <54DD6DF3.4030106@redhat.com> <54DD7FCD.3000000@redhat.com> <54DED1C1.90208@redhat.com> Message-ID: <54DED304.2010506@redhat.com> On 14.2.2015 05:40, Ondrej Zizka wrote: > I get your point - why write it when there's a DB. > > 1) It's another 1.5 MB jar added to the app, introducing more classes > to scan on startup for Providers, Models, etc. > 2) The data producing module would have to be rewritten to produce > whatever H2DB consumes. By that, I mean some pre-created DB with index. Without index, the DB would have to a) read the whole file or b) scan it sequentially. > Changing this would be just few lines change. > > Ondra > > PS: Don't get me wrong, I like all databases - my thesis was > implemented in SQL :) > And also, this is how I dealt with csv data in linux shell: > https://code.google.com/p/csv-cruncher/ > > Ondra > > > On 13.2.2015 05:38, Jess Sightler wrote: >> H2 DB may be a good choice as well, as it supports pluggable filesystems >> (including read-only zip format): >> http://www.h2database.com/html/advanced.html#file_system >> >> >> On 02/12/2015 10:22 PM, Ondrej Zizka wrote: >>> 1) If the data in the file were put as binary, the size would reduce >>> another ~ 25 %. >>> The same if stored to the database (if we stored it there). >>> Is it worth making the file not much readable as plain text? >>> >>> 2) Doing the same in data structures would reduce memory consumption >>> around 45 %. >>> But since it looks we will use the the binary, it doesn't matter >>> much now. >>> >>> Ondra >>> _______________________________________________ >>> windup-dev mailing list >>> windup-dev at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/windup-dev > From jsightle at redhat.com Sat Feb 14 22:38:29 2015 From: jsightle at redhat.com (Jess Sightler) Date: Sat, 14 Feb 2015 22:38:29 -0500 Subject: [windup-dev] Ident data smaller - String to byte[] In-Reply-To: <54DED1C1.90208@redhat.com> References: <54DD6DF3.4030106@redhat.com> <54DD7FCD.3000000@redhat.com> <54DED1C1.90208@redhat.com> Message-ID: <54E014B5.4090000@redhat.com> Fortunately we already have three viable choices that are already in windup so nothing would have had to be added new: 1) Lucene 2) Berkeley DB 3) Titan But I don't think it really matters much at this point. On 02/13/2015 11:40 PM, Ondrej Zizka wrote: > I get your point - why write it when there's a DB. > > 1) It's another 1.5 MB jar added to the app, introducing more classes to > scan on startup for Providers, Models, etc. > 2) The data producing module would have to be rewritten to produce > whatever H2DB consumes. > Changing this would be just few lines change. > > Ondra > > PS: Don't get me wrong, I like all databases - my thesis was implemented > in SQL :) > And also, this is how I dealt with csv data in linux shell: > https://code.google.com/p/csv-cruncher/ > > Ondra > > > On 13.2.2015 05:38, Jess Sightler wrote: >> H2 DB may be a good choice as well, as it supports pluggable filesystems >> (including read-only zip format): >> http://www.h2database.com/html/advanced.html#file_system >> >> >> On 02/12/2015 10:22 PM, Ondrej Zizka wrote: >>> 1) If the data in the file were put as binary, the size would reduce >>> another ~ 25 %. >>> The same if stored to the database (if we stored it there). >>> Is it worth making the file not much readable as plain text? >>> >>> 2) Doing the same in data structures would reduce memory consumption >>> around 45 %. >>> But since it looks we will use the the binary, it doesn't matter much now. >>> >>> Ondra >>> _______________________________________________ >>> windup-dev mailing list >>> windup-dev at lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/windup-dev > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev -- Calendar Free/Busy: https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York From jsightle at redhat.com Sat Feb 14 22:39:22 2015 From: jsightle at redhat.com (Jess Sightler) Date: Sat, 14 Feb 2015 22:39:22 -0500 Subject: [windup-dev] GraphContext in CDI? In-Reply-To: <54DECF81.6090207@redhat.com> References: <54DECF81.6090207@redhat.com> Message-ID: <54E014EA.4030202@redhat.com> It is not currently possible to inject the current GraphContext. On 02/13/2015 11:30 PM, Ondrej Zizka wrote: > Hi, > > I was playing with CDI, trying to inject GraphContext into > ArchiveIdentificationGraphChangedListener. > > The original way to get it there is through constructor param. > So I changed is so it is passed by setter, for the purpose of this > experiment. > > When I added @Inject GraphContext grCtx; it is injected something > different than what the setter gets. I.e. different instances. > So I conclude that this in GraphContextImpl > > @Produces > @ApplicationScoped > public GraphContext produceGraphContext() > > is not really giving something application scoped. > > Why? > I know there's GraphContextFactory, but still - @Inject'ing > GraphContext, in the current setup, should IMO return the same > GraphContext - or not? > > Thanks, > Ondra > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev -- Calendar Free/Busy: https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York From lincolnbaxter at gmail.com Sun Feb 15 22:28:11 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Sun, 15 Feb 2015 22:28:11 -0500 Subject: [windup-dev] GraphContext in CDI? In-Reply-To: <54E014EA.4030202@redhat.com> References: <54DECF81.6090207@redhat.com> <54E014EA.4030202@redhat.com> Message-ID: <CAEp_U4EkxUvfM=aKM_5NOpBK_+naNWfZixbTV3Asj4V8K4rngA@mail.gmail.com> Yeah, this is not something that is currently supported. It *used* to be injectable many months ago, but we removed that because there were a number of bugs with the lazy initialization and I remember thinking at the time that it were safer to remove and re-introduce later if necessary/beneficial. Not sure we've really seen a need to inject it again yet at this point. On Sat, Feb 14, 2015 at 10:39 PM, Jess Sightler <jsightle at redhat.com> wrote: > It is not currently possible to inject the current GraphContext. > > On 02/13/2015 11:30 PM, Ondrej Zizka wrote: > > Hi, > > > > I was playing with CDI, trying to inject GraphContext into > > ArchiveIdentificationGraphChangedListener. > > > > The original way to get it there is through constructor param. > > So I changed is so it is passed by setter, for the purpose of this > > experiment. > > > > When I added @Inject GraphContext grCtx; it is injected something > > different than what the setter gets. I.e. different instances. > > So I conclude that this in GraphContextImpl > > > > @Produces > > @ApplicationScoped > > public GraphContext produceGraphContext() > > > > is not really giving something application scoped. > > > > Why? > > I know there's GraphContextFactory, but still - @Inject'ing > > GraphContext, in the current setup, should IMO return the same > > GraphContext - or not? > > > > Thanks, > > Ondra > > > > _______________________________________________ > > windup-dev mailing list > > windup-dev at lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/windup-dev > > -- > Calendar Free/Busy: > https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev > -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150215/ef01382e/attachment.html From ozizka at redhat.com Mon Feb 16 09:41:28 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Mon, 16 Feb 2015 15:41:28 +0100 Subject: [windup-dev] GraphContext in CDI? In-Reply-To: <CAEp_U4EkxUvfM=aKM_5NOpBK_+naNWfZixbTV3Asj4V8K4rngA@mail.gmail.com> References: <54DECF81.6090207@redhat.com> <54E014EA.4030202@redhat.com> <CAEp_U4EkxUvfM=aKM_5NOpBK_+naNWfZixbTV3Asj4V8K4rngA@mail.gmail.com> Message-ID: <54E20198.4070503@redhat.com> It would be useful in aligning the rules API - currently we have a mix of static classes, "event", and some CDI possibilities. So if I need to get something in a CDI-instantiated object, I have to either grab it from somewhere in a constructor, or use a setter in the place it is injected to. Which seems anti-standard, anti-pattern, anti-CDI and bad practice. Not necessary though. (Necessary is a fuzzy, subjective and relative term anyway :) Ondra On 16.2.2015 04:28, Lincoln Baxter, III wrote: > Yeah, this is not something that is currently supported. It *used* to > be injectable many months ago, but we removed that because there were > a number of bugs with the lazy initialization and I remember thinking > at the time that it were safer to remove and re-introduce later if > necessary/beneficial. > > Not sure we've really seen a need to inject it again yet at this point. > > On Sat, Feb 14, 2015 at 10:39 PM, Jess Sightler <jsightle at redhat.com > <mailto:jsightle at redhat.com>> wrote: > > It is not currently possible to inject the current GraphContext. > > On 02/13/2015 11:30 PM, Ondrej Zizka wrote: > > Hi, > > > > I was playing with CDI, trying to inject GraphContext into > > ArchiveIdentificationGraphChangedListener. > > > > The original way to get it there is through constructor param. > > So I changed is so it is passed by setter, for the purpose of this > > experiment. > > > > When I added @Inject GraphContext grCtx; it is injected something > > different than what the setter gets. I.e. different instances. > > So I conclude that this in GraphContextImpl > > > > @Produces > > @ApplicationScoped > > public GraphContext produceGraphContext() > > > > is not really giving something application scoped. > > > > Why? > > I know there's GraphContextFactory, but still - @Inject'ing > > GraphContext, in the current setup, should IMO return the same > > GraphContext - or not? > > > > Thanks, > > Ondra > > > > _______________________________________________ > > windup-dev mailing list > > windup-dev at lists.jboss.org <mailto:windup-dev at lists.jboss.org> > > https://lists.jboss.org/mailman/listinfo/windup-dev > > -- > Calendar Free/Busy: > https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org <mailto:windup-dev at lists.jboss.org> > https://lists.jboss.org/mailman/listinfo/windup-dev > > > > > -- > Lincoln Baxter, III > http://ocpsoft.org > "Simpler is better." > > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150216/12ee101b/attachment.html From itewk at redhat.com Mon Feb 16 10:23:58 2015 From: itewk at redhat.com (Ian Tewksbury) Date: Mon, 16 Feb 2015 10:23:58 -0500 (EST) Subject: [windup-dev] Windup 2.0 Notification Level? In-Reply-To: <CAEp_U4F7NghW8asPoteDijsgzOUC71W+JH4o4fnFFpU4J3EOHg@mail.gmail.com> References: <1866027071.391498.1423324050325.JavaMail.zimbra@redhat.com> <1012911401.391629.1423324137685.JavaMail.zimbra@redhat.com> <CAEp_U4F7NghW8asPoteDijsgzOUC71W+JH4o4fnFFpU4J3EOHg@mail.gmail.com> Message-ID: <139741754.3440717.1424100238506.JavaMail.zimbra@redhat.com> Lincoln, Thanks for the reply. Created ticket. https://issues.jboss.org/browse/WINDUP-515 Blue Skies, ~Ian ----- Original Message ----- From: "Lincoln Baxter, III" <lincolnbaxter at gmail.com> To: "Windup-dev List" <windup-dev at lists.jboss.org> Sent: Wednesday, February 11, 2015 11:15:04 AM Subject: Re: [windup-dev] Windup 2.0 Notification Level? Hey Ian, Sorry for the delay. We don't really have the concept of NotificationLevel, but we could probably add it back in. I assume you'd want the usual: ERROR, WARNING, INFO ? Go ahead and add in a JIRA if you would. We can set a default severity on hints to INFO or WARNING, then just add it as another step in the configuration to customize the value. It will be easy to add something like this. It's an oversight that we did not! <hint message="..." effort="..." severity="ERROR" /> ~Lincoln On Sat, Feb 7, 2015 at 10:48 AM, Ian Tewksbury < itewk at redhat.com > wrote: <blockquote> Windup 1 used to have the idea of a NotificationLevel for hints which I then mapped to Eclipse problems levels. Looking at the InlineHintModel I no longer see an equivalent . Has this idea been removed from Windup 2? If so I'll just make it a user preference to set what level they want Windup Hints reported at. Blue Skies, ~Ian _______________________________________________ windup-dev mailing list windup-dev at lists.jboss.org https://lists.jboss.org/mailman/listinfo/windup-dev </blockquote> -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." _______________________________________________ windup-dev mailing list windup-dev at lists.jboss.org https://lists.jboss.org/mailman/listinfo/windup-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150216/ef687b37/attachment.html From lincolnbaxter at gmail.com Wed Feb 18 11:33:33 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Wed, 18 Feb 2015 11:33:33 -0500 Subject: [windup-dev] Windup meeting minutes - 2015-02-18 Message-ID: <CAEp_U4EPNaYoRgH1DroU62WjSFWCSUEZtQuqWQ93meCYcBqCNA@mail.gmail.com> We did a combined IRC/hangout meeting that seemed to work well. Ondra took minutes down. Minutes (text): http://transcripts.jboss.org/meeting/irc.freenode.org/windup/2015/windup.2015-02-18-15.01.txt Log: http://transcripts.jboss.org/meeting/irc.freenode.org/windup/2015/windup.2015-02-18-15.01.log.html Meeting summary --------------- * Status Reports (lincolnthree, 15:05:19) * I was finishing the archive identification (ozizka, 15:13:33) * Waitning for the PR's review now (ozizka, 15:14:05) * Since monday, I was looking at the metadata and how to implement the rule categories (ozizka, 15:14:44) * (See the topic of this meeting) (ozizka, 15:14:55) * I have also talked with one student working on AST query language as his diploma thesis, could be promising (ozizka, 15:15:16) * Last week I worked on the Windup 2.1.0.Final release, and the 2.1.0.A release for samueltauil (lincolnthree, 15:16:40) * This week I've been working on planning and organization (lincolnthree, 15:18:10) * Also reviewed and merged several PRs (lincolnthree, 15:19:30) * Today I have a bunch of meetings, but I'll be working on reviewing the PR for WINDUP-506 (lincolnthree, 15:20:07) * My next task will be working on design with the team for Rule externalization and categorization features (lincolnthree, 15:20:39) * I worked on reporting fixes last week (WINDUP-502 and WINDUP-503) (jsightler, 15:20:45) * Also, I refactored into a split module set (WINDUP-464) for the modules that did not have this already (jsightler, 15:21:11) * Right now I am working on splitting the rule xml files into a separate repository (jsightler, 15:21:29) * Plans for this week: Like Lincoln, working on design (and impl) with the team for categorization features (ozizka, 15:24:53) * had 1 day off (sickday), besides working on AST (including several issues like nested calls, hardcoded strings etc.) (mbriskar, 15:27:41) * + working with consultants if will be needed (mbriskar, 15:28:39) * Priorities (lincolnthree, 15:36:06) * Priorities are in JIRA, everyone knows what they are doing (see status reports) (lincolnthree, 15:37:11) * Categories (lincolnthree, 15:37:14) * Ondra suggests Java types based categories mixed with strings and 1:1 mapping between those, (ozizka, 15:49:36) * but it might not be too beneficial, so Lincoln suggests using just strings for now. (ozizka, 15:50:33) * Typical use of tags (since source and target platform/framework have special elements in the suggested XML design): (ozizka, 15:52:08) * Freeform text for custom use by customers (ozizka, 15:52:26) * Example apps - where, what, how (lincolnthree, 15:55:14) * All apps we have is in the "known place". We don't have any metadata for them, so we could add into file-level comments if possible (ozizka, 15:59:35) * It could be a base for our future testsuit (ozizka, 16:00:44) * From/To split? (lincolnthree, 16:03:08) * We could investigate facts about source application, store them in graph, (ozizka, 16:07:22) * and then let the target platform ruleset add what to do about that facts. (ozizka, 16:08:48) * Sande wants examples for "how to approach rule creation" (lincolnthree, 16:11:02) * Lincoln: We can revisit this once we have a problem that will need such feature (ozizka, 16:11:05) * (that was for the previous topic, I type slowly :) (ozizka, 16:11:26) -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150218/ca6a1292/attachment-0001.html From ozizka at redhat.com Thu Feb 19 00:10:56 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Thu, 19 Feb 2015 06:10:56 +0100 Subject: [windup-dev] Furnace not auto-including transitional test deps? Message-ID: <54E57060.5060608@redhat.com> Hi, does Furnace auto-load test deps? I recall Lincoln saying it does. However it seems not to be true. I use WindupException in a test class. That test depends on :windup-config, which depends on :utils. But unless I specify :utils as a dependency in getDeployment(), it fails with that class not being found. Am I missing something, or Forge test utils do not load the transitional deps? Thanks, Ondra From ozizka at redhat.com Thu Feb 19 08:55:15 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Thu, 19 Feb 2015 14:55:15 +0100 Subject: [windup-dev] RuleProvider's and Rule's metadata Message-ID: <54E5EB43.8060001@redhat.com> Hi all, I am working on the categories. I think we all agree that this should have a nice API since every rule will work with that, directly or indirectly. We will get more metadata, and "hiding" them into various places, untyped hashmaps of lists of strings, really seems like a bad way to do it. After some work on the subject, I think we should abandon the current unfortunate approach of Rules acting like a map through being a Rule and Context at the same time, needing conditional retyping. And the other way of overriding methods like enhanceMetadata() is not fortunate either as every subclass needs to be aware of what's going on in the superclasses. Instead, we should follow the *conventions*, take the *standard* approach, and let Rules have a normal getMetadata(), which would return an object with all the metadata at one place. This could be subclassed to match the needs of individual addons but provide type-safe and easy-to-use API for shared metadata. getPhase(), getExecute*(), getCategories() etc. could a) still return what they return, being executed by the loader as now, and put to that object, or b) let the rule initialize this object in rule's init() (which we don't have) or a construtor; I would drop get*() but we could tunel them to that object for backwards compatibility. I think this goes beyond the scope of Windup and would need a rewrite of Rewrite (well, not real rewrite, but I liked the pun :). Other option is to keep scattering metadata in various places, untyped hashmaps of lists of strings. Not recommended. WDYT? Ondra From ozizka at redhat.com Thu Feb 19 09:32:34 2015 From: ozizka at redhat.com (Ondrej Zizka) Date: Thu, 19 Feb 2015 15:32:34 +0100 Subject: [windup-dev] Effective Github search? Message-ID: <54E5F402.1050109@redhat.com> Hi, a bit OT question: How do you search code on github when you want to show some particular class? Is there some trick in the UI to find a class of name XY? Thanks, Ondra From jsightle at redhat.com Thu Feb 19 09:33:52 2015 From: jsightle at redhat.com (Jess Sightler) Date: Thu, 19 Feb 2015 09:33:52 -0500 Subject: [windup-dev] Effective Github search? In-Reply-To: <54E5F402.1050109@redhat.com> References: <54E5F402.1050109@redhat.com> Message-ID: <54E5F450.6090200@redhat.com> Press "t"... it will switch into filename search mode and you can search by filename. I think that is the closest thing to a type search. On 02/19/2015 09:32 AM, Ondrej Zizka wrote: > Hi, > > a bit OT question: How do you search code on github when you want to > show some particular class? > Is there some trick in the UI to find a class of name XY? > > Thanks, > Ondra > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev -- Calendar Free/Busy: https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York From lincolnbaxter at gmail.com Thu Feb 19 10:47:13 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Thu, 19 Feb 2015 10:47:13 -0500 Subject: [windup-dev] GraphContext in CDI? In-Reply-To: <54E20198.4070503@redhat.com> References: <54DECF81.6090207@redhat.com> <54E014EA.4030202@redhat.com> <CAEp_U4EkxUvfM=aKM_5NOpBK_+naNWfZixbTV3Asj4V8K4rngA@mail.gmail.com> <54E20198.4070503@redhat.com> Message-ID: <CAEp_U4GPoth2wO++_Y3+OcPYfE99GQocjuSdTnpUH9TCu44mWA@mail.gmail.com> I think as we discussed on IRC, using a @CurrentExecution or @Inject @Current GraphContext would be a possible solution, so that it's clear which context is being injected. On Mon, Feb 16, 2015 at 9:41 AM, Ondrej Zizka <ozizka at redhat.com> wrote: > It would be useful in aligning the rules API - currently we have a mix of > static classes, "event", and some CDI possibilities. So if I need to get > something in a CDI-instantiated object, I have to either grab it from > somewhere in a constructor, or use a setter in the place it is injected to. > Which seems anti-standard, anti-pattern, anti-CDI and bad practice. > Not necessary though. (Necessary is a fuzzy, subjective and relative term > anyway :) > > Ondra > > > > On 16.2.2015 04:28, Lincoln Baxter, III wrote: > > Yeah, this is not something that is currently supported. It *used* to be > injectable many months ago, but we removed that because there were a number > of bugs with the lazy initialization and I remember thinking at the time > that it were safer to remove and re-introduce later if > necessary/beneficial. > > Not sure we've really seen a need to inject it again yet at this point. > > On Sat, Feb 14, 2015 at 10:39 PM, Jess Sightler <jsightle at redhat.com> > wrote: > >> It is not currently possible to inject the current GraphContext. >> >> On 02/13/2015 11:30 PM, Ondrej Zizka wrote: >> > Hi, >> > >> > I was playing with CDI, trying to inject GraphContext into >> > ArchiveIdentificationGraphChangedListener. >> > >> > The original way to get it there is through constructor param. >> > So I changed is so it is passed by setter, for the purpose of this >> > experiment. >> > >> > When I added @Inject GraphContext grCtx; it is injected something >> > different than what the setter gets. I.e. different instances. >> > So I conclude that this in GraphContextImpl >> > >> > @Produces >> > @ApplicationScoped >> > public GraphContext produceGraphContext() >> > >> > is not really giving something application scoped. >> > >> > Why? >> > I know there's GraphContextFactory, but still - @Inject'ing >> > GraphContext, in the current setup, should IMO return the same >> > GraphContext - or not? >> > >> > Thanks, >> > Ondra >> > >> > _______________________________________________ >> > windup-dev mailing list >> > windup-dev at lists.jboss.org >> > https://lists.jboss.org/mailman/listinfo/windup-dev >> >> -- >> Calendar Free/Busy: >> https://www.google.com/calendar/embed?src=jsightle%40redhat.com&ctz=America/New_York >> >> _______________________________________________ >> windup-dev mailing list >> windup-dev at lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/windup-dev >> > > > > -- > Lincoln Baxter, III > http://ocpsoft.org > "Simpler is better." > > > _______________________________________________ > windup-dev mailing listwindup-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/windup-dev > > > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev > -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150219/f4056ba7/attachment.html From lincolnbaxter at gmail.com Thu Feb 19 10:51:23 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Thu, 19 Feb 2015 10:51:23 -0500 Subject: [windup-dev] Furnace not auto-including transitional test deps? In-Reply-To: <54E57060.5060608@redhat.com> References: <54E57060.5060608@redhat.com> Message-ID: <CAEp_U4FCSXW0uZ0jY3QF8MdoVt0vN_W33GS3R0dZd-aeD-WU=g@mail.gmail.com> It depends on whether or not the transitive dependency is exported or not. The addon *is* deployed, but you might not have an automatic imported relationship with it. "provided" == not exported (your addon won't import this transitive dependency) "compile" == exported (your addon will import this transitive dependency) Think of it just like compilation. Based on the scope in the POM, would your addon be able to compile against the types in the transitive dependency? If yes, then it is imported, and it will automatically be linked in the test. If no, then it is not imported into your test, and you will need to add an explicit dependency to it. On Thu, Feb 19, 2015 at 12:10 AM, Ondrej Zizka <ozizka at redhat.com> wrote: > Hi, > > does Furnace auto-load test deps? I recall Lincoln saying it does. > However it seems not to be true. > I use WindupException in a test class. That test depends on > :windup-config, which depends on :utils. > But unless I specify :utils as a dependency in getDeployment(), it fails > with that class not being found. > > Am I missing something, or Forge test utils do not load the transitional > deps? > > Thanks, > Ondra > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev > -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150219/377ba9f6/attachment.html From lincolnbaxter at gmail.com Thu Feb 19 17:12:52 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Thu, 19 Feb 2015 17:12:52 -0500 Subject: [windup-dev] RuleProvider's and Rule's metadata In-Reply-To: <54E5EB43.8060001@redhat.com> References: <54E5EB43.8060001@redhat.com> Message-ID: <CAEp_U4GY8rngd6WQm=8SEPgNCJ3Bq+NHKPuCyCsEX4HyDrssQg@mail.gmail.com> Hey Ondra, For now, let's continue using Rule objects as Contexts. Once the prototype is working and tested, we can look at ways to add a real API onto the Rule objects (or possibly add some indirection or abstraction.) Keep in mind that you shouldn't be focused too much on the individual Rule objects, you probably should be focused on the Rule Providers that they are loaded from (since we do most of our filtering on the RuleProviders themselves, not on the rules.) I would be a lot more willing to change the RuleProvider API to add the getMetadata() method that you are looking for than I would be changing the Rule API in Rewrite. ~Lincoln On Thu, Feb 19, 2015 at 8:55 AM, Ondrej Zizka <ozizka at redhat.com> wrote: > Hi all, > > I am working on the categories. > I think we all agree that this should have a nice API since every rule > will work with that, directly or indirectly. > We will get more metadata, and "hiding" them into various places, > untyped hashmaps of lists of strings, really seems like a bad way to do it. > > After some work on the subject, I think we should abandon the current > unfortunate approach of Rules acting like a map through being a Rule and > Context at the same time, needing conditional retyping. And the other > way of overriding methods like enhanceMetadata() is not fortunate either > as every subclass needs to be aware of what's going on in the superclasses. > > Instead, we should follow the *conventions*, take the *standard* > approach, and let Rules have a normal getMetadata(), which would return > an object with all the metadata at one place. This could be subclassed > to match the needs of individual addons but provide type-safe and > easy-to-use API for shared metadata. > > getPhase(), getExecute*(), getCategories() etc. could > a) still return what they return, being executed by the loader as now, > and put to that object, or > b) let the rule initialize this object in rule's init() (which we don't > have) or a construtor; > I would drop get*() but we could tunel them to that object for > backwards compatibility. > > I think this goes beyond the scope of Windup and would need a rewrite of > Rewrite (well, not real rewrite, but I liked the pun :). > > Other option is to keep scattering metadata in various places, untyped > hashmaps of lists of strings. Not recommended. > > WDYT? > Ondra > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev > -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150219/b1f792e9/attachment-0001.html From mzottner at redhat.com Wed Feb 25 05:59:34 2015 From: mzottner at redhat.com (Marc Zottner) Date: Wed, 25 Feb 2015 11:59:34 +0100 Subject: [windup-dev] Windup 2.1.0.Final - EAP 6.x integration (Windup-as-a-Service) In-Reply-To: <CAEp_U4GY8rngd6WQm=8SEPgNCJ3Bq+NHKPuCyCsEX4HyDrssQg@mail.gmail.com> References: <54E5EB43.8060001@redhat.com> <CAEp_U4GY8rngd6WQm=8SEPgNCJ3Bq+NHKPuCyCsEX4HyDrssQg@mail.gmail.com> Message-ID: <etPan.54edab16.46e87ccd.af2@RedBook.fritz.box> Hi everyone, I hope you are doing great. Yesterday I had a look at the latest version of Windup (2.1.0.Final) and I really like it :) It seem way faster than the previous releases I tested. Yesterday I updated the windup-as-a-service fronted (https://github.com/Maarc/windup-as-a-service), made some cleanup and fixed issues with chrome. It is basically an EAP 6 web application running windup 0.7. During the last weeks, I installed this in combination with custom rules for a customer having hundreds of developers. Do not hesitate to have a look at it and give me some feedback. I started to integrated the?windup-as-a-service fronted?with Windup 2.1.0.Final and would be glad to have your support.? BUILD In order to be able to build Windup 2.1.0.Final, I had to add?<skipTests>true</skipTests> to the grand-father-pom import manually ?indexer-core-6.0.WINDUP.jar? in my local repository from the standalone/offline build (https://repository.jboss.org/nexus/content/repositories/releases/org/jboss/windup/windup-distribution/2.1.0.A/) add the "https://repository.jboss.org/nexus/content/repositories/releases? maven repository to my dependencies It would be great to document it. However my built client in the ?dist? directory has less jars than in the "windup-distribution-2.1.0.A-offline.zip? and I was not able to run it. INTEGRATION in EAP 6.x In order to integrate Windup 2.1.0.Final in EAP, I tried to follow the same way that worked for windup 0.7: - define a custom jboss-module containing most of the windup and add ons libraries (expected the weld ones) - control the loaded dependencies with a custom jboss-deployment-structure.xml So far it does not work and I am not sure this approach is really a good idea. Forge has not been designed to be executed in EAP 6 directly. Do you have some hints for doing this? Maybe using a java wrapper and calling the standalone windup installation would be a better idea ... best regards, Marc ? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150225/8590561f/attachment.html From lincolnbaxter at gmail.com Wed Feb 25 10:38:39 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Wed, 25 Feb 2015 10:38:39 -0500 Subject: [windup-dev] Windup meeting minutes - 2015-02-25 Message-ID: <CAEp_U4H86vey_TUFhPrGc6fJ0Eqr6T3CEM-8E4o_d0vtqjqOXg@mail.gmail.com> Minutes: http://transcripts.jboss.org/meeting/irc.freenode.org/windup/2015/windup.2015-02-25-15.00.html Minutes (text): http://transcripts.jboss.org/meeting/irc.freenode.org/windup/2015/windup.2015-02-25-15.00.txt Log: http://transcripts.jboss.org/meeting/irc.freenode.org/windup/2015/windup.2015-02-25-15.00.log.html Meeting summary --------------- * Agenda (lincolnthree, 15:00:51) * Status Reports (lincolnthree, 15:01:16) * I have completed WINDUP-508 (origin field for WindupRuleProvider to make debugging easier) (jsightler, 15:02:38) * Also, as part of WINDUP-465, I moved the rules to the windup-rulesets repository and created a little test suite for rules in there. The test suite makes it easy to build tests with only a .windup.test.xml file (that itself looks very similar to a Windup ruleset). (jsightler, 15:03:39) * And finally, I have been working on WINDUP-515. This is almost done, it's just waiting on the tests to run again. (jsightler, 15:04:10) * I'll be looking at JIRA for next tasks after this is done. (jsightler, 15:04:48) * Last week I worked on doing some political stuff. I've drafted our Product Integration Plan and have put it out for review. It's in our admin folder on gdrive if you want to check it out. (https://docs.google.com/document/d/1p7A08CI7BuhdlXbkIdQzs-zn5bnLu7ThW-ToqWW8DxQ/edit#) (lincolnthree, 15:05:37) * I also reviewed several PRs (lincolnthree, 15:05:37) * I'm working on the Furnace test-harness improvements to simplify dependencies in test cases (removing duplication) (lincolnthree, 15:05:37) * Next I plan on finally merging the archive identification improvements or from ozizka (lincolnthree, 15:05:37) * I was facing the problem that happened to jmorales, it consist of 2 issues, one of which is WINDUP-516 that is already merged (mbriskar, 15:09:49) * I was working with sgilda to explain rules so their creation may be documented in the future (mbriskar, 15:11:10) * I am working on AST, still.. In some cases we are much better (7 matches went to 13 correct ones), but in some other cases there are gaps in which the new AST parsing is worse (mbriskar, 15:12:14) * Priorities (lincolnthree, 15:14:25) * We are almost done with our feature work for 2.2.0.Final (plus some added bonuses) (lincolnthree, 15:15:12) * Once we are pretty sure we are done, I think we should do some work on our code debt. We'll have a few weeks left before the release, and if new feature requests come in, or if we have ideas to work on (like perhaps taking jsightler's test harness and making it more robust,) then I think we should do those as well. (lincolnthree, 15:15:59) * Release Status (lincolnthree, 15:17:14) * As I just said, we are nearly feature-done for the Release, so we'll be working on code-debt. (lincolnthree, 15:17:35) * EAP team partnership (lincolnthree, 15:20:05) -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150225/9cd069c1/attachment.html From lincolnbaxter at gmail.com Wed Feb 25 11:35:08 2015 From: lincolnbaxter at gmail.com (Lincoln Baxter, III) Date: Wed, 25 Feb 2015 11:35:08 -0500 Subject: [windup-dev] Windup 2.1.0.Final - EAP 6.x integration (Windup-as-a-Service) In-Reply-To: <etPan.54edab16.46e87ccd.af2@RedBook.fritz.box> References: <54E5EB43.8060001@redhat.com> <CAEp_U4GY8rngd6WQm=8SEPgNCJ3Bq+NHKPuCyCsEX4HyDrssQg@mail.gmail.com> <etPan.54edab16.46e87ccd.af2@RedBook.fritz.box> Message-ID: <CAEp_U4E8dge5uDT4KJZ1xZzgJ55zJx25+Krfsbprk_SbfeRftQ@mail.gmail.com> Hey Marc, Furnace absolutely can be used inside WildFly :) You just need to do something like this: In fact, the application in the link below is the perfect prototype for what you are trying to do, embed Furnace in an WildFly app: https://github.com/gastaldi/forge-rest-service/tree/master/src/main/java/org/jboss/forge/rest Check that out and see what George has done. This is what you'll need to do. ~Lincoln On Wed, Feb 25, 2015 at 5:59 AM, Marc Zottner <mzottner at redhat.com> wrote: > Hi everyone, > > I hope you are doing great. Yesterday I had a look at the latest version > of Windup (2.1.0.Final) and I really like it :) It seem way faster than the > previous releases I tested. > > > Yesterday I updated the windup-as-a-service fronted ( > https://github.com/Maarc/windup-as-a-service), made some cleanup and > fixed issues with chrome. It is basically an EAP 6 web application running > windup 0.7. During the last weeks, I installed this in combination with > custom rules for a customer having hundreds of developers. Do not hesitate > to have a look at it and give me some feedback. > > > I started to integrated the windup-as-a-service fronted with Windup > 2.1.0.Final and would be glad to have your support. > > > *BUILD* > > In order to be able to build Windup 2.1.0.Final, I had to > > - add <skipTests>true</skipTests> to the grand-father-pom > - import manually ?indexer-core-6.0.WINDUP.jar? in my local repository > from the standalone/offline build ( > https://repository.jboss.org/nexus/content/repositories/releases/org/jboss/windup/windup-distribution/2.1.0.A/ > ) > - add the " > https://repository.jboss.org/nexus/content/repositories/releases? > maven repository to my dependencies > > It would be great to document it. > > However my built client in the ?dist? directory has less jars than in the > "windup-distribution-2.1.0.A-offline.zip? and I was not able to run it. > > > *INTEGRATION in EAP 6.x* > > In order to integrate Windup 2.1.0.Final in EAP, I tried to follow the > same way that worked for windup 0.7: > - define a custom jboss-module containing most of the windup and add ons > libraries (expected the weld ones) > - control the loaded dependencies with a custom > jboss-deployment-structure.xml > > So far it does not work and I am not sure this approach is really a good > idea. Forge has not been designed to be executed in EAP 6 directly. Do you > have some hints for doing this? > > > Maybe using a java wrapper and calling the standalone windup installation > would be a better idea ... > > > best regards, > > Marc > > > > > > > > > > > > > > _______________________________________________ > windup-dev mailing list > windup-dev at lists.jboss.org > https://lists.jboss.org/mailman/listinfo/windup-dev > -- Lincoln Baxter, III http://ocpsoft.org "Simpler is better." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150225/148dbbbf/attachment.html