PS the contrib is managed by us, not by any company.

On Thu, Apr 16, 2020 at 10:42 Andrew Musselman <a...@apache.org> wrote:

> Chris, thank you for your help..
>
> Yeah if you fork what's in master you can see what state it's in; we are
> in the #mahout channel in tge-asf slack and this is also a fine way to keep
> track of discussion.
>
> We could file a JIRA ticket as well, however you prefer to work.
>
> Best
> Andrew
>
> On Thu, Apr 16, 2020 at 06:59 Christofer Dutz <christofer.d...@c-ware.de>
> wrote:
>
>> Hi Trevor,
>>
>> ok ... first of all ... the Mahout PMC is defining a "community
>> maintained" library which is not maintained by the mahout PMC?!?!
>> I thought at Apache everything is about Community over code. So is a
>> company driving the non-community stuff?
>>
>> But back to your build issues:
>> I had a look and I too encountered these comments and remarks and
>> sometimes patterns I recognized and could imagine why they were created.
>> Yes quite a bit of the build could be cleaned up and simplified a lot.
>>
>> So how about I create a fork and try to do a cleanup of the build.
>> Usually I also leave comments about what I do as I hope I'll not be the
>> only one maintaining a build and documenting things helps people feel more
>> confident.
>>
>> However in some cases I will have questions ... so would someone be
>> available on Slack for quick questions?
>>
>> Usually switching to another build system does solve some problems ...
>> mostly the reason to switch is that it solved the main problem that you are
>> having with the old.
>> However you usually notice too late that you get yourself a lot of new
>> problems. I remember doing some contract work for an insurance company and
>> they were totally down Maven-road but then had to build something with SBT
>> ... in the end I compiled the thing on my laptop, copied it to a USB stick
>> and told the people what was on the stick and that I'll be having a coffee
>> and will be back in 30 minutes. When I came back the sick wasn't at the
>> same place and the build problem was "solved" ;-)
>>
>> So I think it's quite good to stick to maven ... that is very mature, you
>> can do almost everything you want with it and it integrates perfectly into
>> the Apache infrastructure.
>>
>> But that's just my opinion.
>>
>> So if you want me to help, I'll be happy to be of assistance.
>>
>>
>> Chris
>>
>>
>>
>> Am 16.04.20, 15:28 schrieb "Trevor Grant" <trevor.d.gr...@gmail.com>:
>>
>>     Hey Christopher,
>>
>>     I would agree with what Stevo outlined but add some more context and a
>>     couple related JIRA issues.
>>
>>     For 0.14.0 We did a big refactor and finally moved the MapReduce based
>>     Mahout all into what we called "community/" that is community
>> maintained,
>>     which is to say, we're not maintaining it anymore (sunset began I
>> think in
>>     2015).
>>
>>     But all of our POMs were so huge and fat because they'd been layered
>> up
>>     over the years by people coming and going and dropping in code. I
>> wouldn't
>>     call these drive- bys, its just been over 10 years and people come
>> and go.
>>     Such is the life of Apache Projects. So we had a situation where a
>> lot of
>>     the old Map Reduce stuff and the POMs were considered "old-magic" no
>> one
>>     really knew how it was all tied together, but we didn't want to mess
>> with
>>     it for fear of breaking something in the "new" Mahout (aka Samsar)
>> which is
>>     the Scala/Spark based library that it is now* (to others in the
>> community:
>>     I know it runs on other engines, but for simplicity, I'm just calling
>> it
>>     "runs-on-spark").
>>
>>     For 0.14.0 We decided to trim out as much of that which was possible.
>> We
>>     did some major liposuction on POMs, re organized things, etc. This
>> was done
>>     by commenting out a section, then seeing if it would still build. So
>> the
>>     current release
>>     _does_ build. And aside for some CLI driver issues which are outlined
>> in
>>     [1], the project runs fairly smooth. (An SBT would probably solve
>> [1], I
>>     believe Pat Ferrel has made his own SBT script to compile Mahout,
>> which
>>     solved that problem for them).
>>
>>     The issue we ran into with the releases (and the reason I think you're
>>     here), is that we also somewhere along the line commented out
>> something
>>     that was important to the release process. Hence why 0.14.0 released
>> source
>>     only.
>>
>>     Since 2008, there has been a lot of great work on generating plugins
>> for
>>     doing Apache releases. Instead of the awkward hacks that made up the
>> old
>>     poms (literally comments that said, "this is a hack, there's
>> supposedly
>>     something better coming from ..." dated like 2012), we would like to
>> do it
>>     the "right way" and incorporate the appropriate plugins.
>>
>>     Refactoring to SBT was _one_ proposed solution. We're also OK
>> continuing to
>>     use Maven, and I agree with what you said about the cross compiling.
>> We
>>     actually have a script that just changes the scala version. We tried
>> using
>>     the classifiers but there were issues in SBT, but the way you're
>> proposing
>>     sounds a lot more pro than the route we were trying for.
>>
>>     That said- we'd be OK just releasing one scala/spark version at a
>> time.
>>     But getting the convenience binaries to release/publish would be a
>> major
>>     first step.
>>
>>     Also, we really appreciate the help,
>>
>>     tg
>>
>>
>>     [1]
>>
>> https://issues.apache.org/jira/projects/MAHOUT/issues/MAHOUT-2093?filter=allopenissues
>>
>>
>>
>>     On Thu, Apr 16, 2020 at 4:50 AM Christofer Dutz <
>> christofer.d...@c-ware.de>
>>     wrote:
>>
>>     > Hi Stevo,
>>     >
>>     > so let me summarize what I understood:
>>     >
>>     > - There are some modules in mahout that are built with Scala, some
>> with
>>     > java and some with both (At least that's what I see when checking
>> out the
>>     > project)
>>     > - The current build uses Scala 2.11 to build the Scala code.
>>     > - The resulting libraries are only compatible with Scala 2.11
>>     >
>>     > Now you want to also publish versions compatible with Scala 2.12?
>>     >
>>     > If that's the case I think Maven could easily add multiple
>> executions
>>     > where each compile compiles to different output directories:
>>     > - Java --> target/classes
>>     > - Scala 2.11 --> target/classes-2.11
>>     > - Scala 2.12 --> target/classes-2.12
>>     >
>>     > Then the packaging would also need a second execution ... each of
>> the
>>     > executions bundling the classes and the corresponding scala output.
>>     > Ideally I would probably use maven classifiers to distinguish the
>>     > artifacts.
>>     >
>>     > <dependency>
>>     >     <groupId>org.apache.mahout</groupId>
>>     >     <artifactId>mahout-spark</artifactId>
>>     >     <version>14.1-SNAPSHOT</version>
>>     >     <classifier>2.11</classifier>
>>     > </dependency>
>>     >
>>     > Then it should all work in a normal maven build. In the
>> distributions you
>>     > could also filter the versions according to their classifiers.
>>     >
>>     > So if this is the case, I could help you with this.
>>     >
>>     > Chris
>>     >
>>     >
>>     > Am 16.04.20, 09:39 schrieb "Stevo Slavić" <ssla...@gmail.com>:
>>     >
>>     >     Disclaimer: I'm not active Mahout maintainer for quite a while,
>> have
>>     > some
>>     >     historical perspective, take it with a grain of salt, could be
>> I'm
>>     > missing
>>     >     the whole point you were approached for by a wide margin of
>> error.
>>     >
>>     >     At a point Mahout, some of its modules, have turned into a scala
>>     >     library, and there was need to cross publish those modules,
>> across
>>     >     different scala versions. Back than Maven scala plugin didn't
>> support
>>     > cross
>>     >     publishing, it doesn't fit well with Maven's build lifecycle
>> concept
>>     >     (multiple compile phases - one for each scala version, and what
>> not
>>     > would
>>     >     be needed). Switching to sbt could have solved the problem.
>> Switch was
>>     >     deemed to be too big task, even though ages have been spent on
>> trying
>>     > to
>>     >     apply Maven (profiles) + bash scripts and what not to solve the
>>     > problem.
>>     >     Trying to apply same approach over and over again and expecting
>>     > different
>>     >     results is not smart, no expert can help there. Mahout
>> maintainers and
>>     >     contributors, should consider alternative approach, one of them
>> being
>>     >     switching to sbt - it's scala native, supports scala cross
>> publishing,
>>     >     supports publishing Maven compatible release metadata and
>> binaries.
>>     >
>>     >     Kind regards,
>>     >     Stevo Slavic.
>>     >
>>     >     On Thu, Apr 16, 2020 at 9:15 AM Christofer Dutz <
>>     > christofer.d...@c-ware.de>
>>     >     wrote:
>>     >
>>     >     > Hi folks,
>>     >     >
>>     >     > my name is Chris and I’m involved in quite a lot of Apache
>> projects.
>>     >     > Justin approached me this morning, asking me if I could
>> perhaps help
>>     > you.
>>     >     > He told me you were having trouble with doing Maven releases.
>>     >     >
>>     >     > As Maven releases are my specialty, could you please
>> summarize the
>>     > issues
>>     >     > you are having?
>>     >     >
>>     >     > Chris
>>     >     >
>>     >
>>     >
>>
>>

Reply via email to