On Fri, May 15, 2015 at 5:48 PM, John Blum <[email protected]> wrote: > I have a verdict... the Apache Geode "generated" Maven POM files need a lot > of work yet.
Sure. And thanks for looking into this. My question, however, is this: it seems to me that the current patch proposed on GEODE-23 makes a tiny step in the right direction. Sure it doesn't address some of the issues you're referring to, but it makes life just a tiny little bit better. So why not commit it while still working on a more complete solution? Thanks, Roman. > First off, trying to review the geode_dependencies.txt file Mark attached > was, well, cumbersome and tedious, prone to error. I'd rather us generate > appropriate looking POM files and use Mavens tools to inspect the dependency > tree (i.e. mvn dependency:tree) for each of Geode's POM files based on the > modules, similar to what Andy Wilkinson did in his Spring Boot PR review > (https://github.com/spring-projects/spring-boot/issues/2884). > > Second, it is confusing after running a complete build of Apache Geode, that > I seem to have duplicate POM files.... > > $ find . -name "*.pom" > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-core/1.0.0-incubating-SNAPSHOT/gemfire-core-1.0.0-incubating-20150513.224636-1.pom > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-core/1.0.0-incubating-SNAPSHOT/gemfire-core-1.0.0-incubating-20150513.224913-2.pom > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-jgroups/1.0.0-incubating-SNAPSHOT/gemfire-jgroups-1.0.0-incubating-20150513.224637-1.pom > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-jgroups/1.0.0-incubating-SNAPSHOT/gemfire-jgroups-1.0.0-incubating-20150513.224914-2.pom > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-joptsimple/1.0.0-incubating-SNAPSHOT/gemfire-joptsimple-1.0.0-incubating-20150513.224637-1.pom > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-joptsimple/1.0.0-incubating-SNAPSHOT/gemfire-joptsimple-1.0.0-incubating-20150513.224914-2.pom > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-json/1.0.0-incubating-SNAPSHOT/gemfire-json-1.0.0-incubating-20150513.224637-1.pom > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-json/1.0.0-incubating-SNAPSHOT/gemfire-json-1.0.0-incubating-20150513.224914-2.pom > ... > .. > . > > With seemingly no difference between them, e.g. ... > > $ diff > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-core/1.0.0-incubating-SNAPSHOT/gemfire-core-1.0.0-incubating-20150513.224636-1.pom > ./gemfire-assembly/build/repo/org/apache/geode/gemfire-core/1.0.0-incubating-SNAPSHOT/gemfire-core-1.0.0-incubating-20150513.224913-2.pom > $ > > Anyway, we have several "chores" to align the Geode and GemFire POMs more > closely, including, but not limited to the following... > > 1. The <repositories> declarations need to be cleaned up (reduced). > > 2. Add proper "scopes", "optional" settings and "exclusions" to the > dependencies declared in the POM. > > 3. Many of the "explicitly" declared dependencies (e.g. spring-beans) need > to be removed; Maven will resolve dependencies transitively. > > There may be additional tasks we need to look at here; this is on first > glance. > > I have attached *new* GemFire 8.2 Maven POM file as a reference for what the > Geode POM files should emulate, specifically at the "intersection" of their > dependencies. Note, I realize there are going to be (expected) differences > between GemFire and Geode, such as, but not limited to, removing XOM, while > adding others. > > Again, the GemFire 8.2 POM should serve as a model template on which to > basis the new Geode "generated" POM file. > > Mark and I will need to work together to make this happen. This is not only > important, but crucial for projects like Spring Data GemFire, Spring Boot, > and (potentially) many others that will develop applications for Apache > Geode. > > So let's get it right! > > Thanks, > John > > > > On Fri, May 15, 2015 at 3:23 PM, Anthony Baker <[email protected]> wrote: >> >> I believe John is pointing out that the Geode POM may have similar issues >> as were discovered by GemFire users (after all, Geode was recently born from >> GemFire). >> >> However I believe those issues are limited to certain use cases (e.g. >> spring boot). In GEODE-23 the POM is unusable without adding exclude >> clauses. IMHO, we should fix this now and have a separate discussion around >> making library versions consistent. >> >> Anthony >> >> >> > On May 15, 2015, at 11:24 AM, Roman Shaposhnik <[email protected]> >> > wrote: >> > >> > Part of the urgency is that we now have nightly artifacts >> > that are not easily consumable. >> > >> > On top of that, I see no reason to hold up anything in >> > the Apache project because of a commercial product >> > requirements. The way you explained your refactoring >> > sounds like it benefits a commercial product. Am I getting >> > this wrong? >> > >> > Thanks, >> > Roman. >> > >> > On Fri, May 15, 2015 at 11:08 AM, John Blum <[email protected]> wrote: >> >> I am in the process of refactoring GemFire's (8.0, 8.1 and 8.2) Maven >> >> POM >> >> files now (along with juggling 5 other things). >> >> >> >> What is this exactly holding up (what's the urgency)? I don't see an >> >> issue >> >> with delaying this PR until it is properly reviewed. An improper POM >> >> file >> >> does cause issues for "consumers". >> >> >> >> I should be able to get to this by EOD. >> >> >> >> Thanks! >> >> John >> >> >> >> >> >> On Fri, May 15, 2015 at 10:30 AM, Roman Shaposhnik >> >> <[email protected]> >> >> wrote: >> >> >> >>> Big +1 to that. Commit early commit often. We can always >> >>> change it later if needed too. >> >>> >> >>> Thanks, >> >>> Roman. >> >>> >> >>> On Fri, May 15, 2015 at 8:01 AM, Anthony Baker <[email protected]> >> >>> wrote: >> >>>> John, have you had a chance to review Mark’s change and the generated >> >>> POM? I think that we could address updates to library versions >> >>> through a >> >>> follow up issue. >> >>>> >> >>>> Anthony >> >>>> >> >>>>> On May 13, 2015, at 10:22 AM, John Blum <[email protected]> wrote: >> >>>>> >> >>>>> Mark, >> >>>>> >> >>>>> I plan on working on cleaning up the GemFire Maven POM today for >> >>>>> 8.0.0, >> >>>>> 8.1.0 and 8.2.0, and we need to make sure that Apache Geode's Maven >> >>>>> POM >> >>>>> matches or is similar to clean up the other issues that *Andy >> >>>>> Wilkinson* >> >>>>> <https://github.com/spring-projects/spring-boot/issues/2884> [0] >> >>>>> sited. >> >>>>> >> >>>>> Please hold off on the commit until I get the chance to review. >> >>>>> >> >>>>> Thanks, >> >>>>> John >> >>>>> >> >>>>> >> >>>>> On Wed, May 13, 2015 at 10:17 AM, Mark Bretl <[email protected]> >> >>>>> wrote: >> >>>>> >> >>>>>> Hi All, >> >>>>>> >> >>>>>> I have tried to follow the email threads on the review process, not >> >>> exactly >> >>>>>> sure what to do in this case. I am requesting review of GEODE-23 >> >>>>>> and my >> >>>>>> patch is attached to the JIRA. It is a one line change which >> >>>>>> removes >> >>> Spring >> >>>>>> Data GemFire from the Maven POM. >> >>>>>> >> >>>>>> I would like to use a 72 hour lazy consensus. >> >>>>>> >> >>>>>> Best Regards, >> >>>>>> >> >>>>>> -- >> >>>>>> Mark Bretl >> >>>>>> Software Build Engineer >> >>>>>> Pivotal >> >>>>>> 503-533-3869 >> >>>>>> www.pivotal.io >> >>>>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>> -- >> >>>>> -John >> >>>>> 503-504-8657 >> >>>>> john.blum10101 (skype) >> >>>> >> >>> >> >> >> >> >> >> >> >> -- >> >> -John >> >> 503-504-8657 >> >> john.blum10101 (skype) >> > > > > -- > -John > 503-504-8657 > john.blum10101 (skype)
