It looks like scm in the pom is only used to upload artifacts to Maven Central 
and isn't needed for building. Explained here:
http://books.sonatype.com/nexus-book/reference/_introduction_7.html

If you run into a transitive dependency problem, there is a nice way to exclude 
them. Explained here:
http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-project-dependencies.html#pom-relationships-sect-conflict

By far the best Maven documentation is in Sonatype's free books. They're 
accurate and up to date, unlike the Apache Maven docs or StackOverflow.
http://www.sonatype.com/resources/books

Gary Struthers

On Sep 11, 2013, at 11:21 PM, Mark Hamstra <m...@clearstorydata.com> wrote:

> Ah hah!  Patrick figured it out:
> https://github.com/apache/incubator-spark/commit/905edf59db662868f55525118131cf102d366587.
> The buildnumber plugin and Debian packaging works correctly again.
> Thanks!  I'll go through the poms tomorrow and see if there are any other
> such incompletely overriden elements that could be causing us troubles.
> 
> Right now I am seeing two problems with the maven build: 1) I just had a
> build fail from exhausted PermGen, so we probably need to increase
> MaxPermGen in spark/pom.xml; 2) Not all of the modules got picked up in the
> recent invocations of the maven-release-plugin -- did your prepare &
> release use -Phadoop2-yar,repl-bin , Patrick?
> 
> 
> 
> On Wed, Sep 11, 2013 at 10:31 PM, Mark Hamstra <m...@clearstorydata.com>wrote:
> 
>> Yes, exactly.  If I comment out the reference to the parent Apache pom,
>> then the buildnumber plugin works correctly.  Similarly if I leave the
>> parent Apache pom reference in place but go into my local .m2 cache and
>> comment out just the <scm> in the org.apache:apache pom.  In other words,
>> if both <scm>s are present, the buildnumber plugin only sees the SVN one
>> from the Apache pom, which makes things go wrong.
>> 
>> 
>> On Wed, Sep 11, 2013 at 9:18 PM, Henry Saputra 
>> <henry.sapu...@gmail.com>wrote:
>> 
>>> Hi Mark,
>>> 
>>> But the spark main pom.xml contains <scm> element that should override
>>> <scm> from the parent pom.xml.
>>> 
>>> Are you saying the pom.xml from parent Apache pom.xml overrides the
>>> Spark <scm> definition instead?
>>> 
>>> 
>>> 
>>> 
>>> On Wed, Sep 11, 2013 at 3:04 PM, Mark Hamstra <m...@clearstorydata.com>
>>> wrote:
>>>> I'm in the process of trying to build Apache-fied Spark into our stack
>>> at
>>>> ClearStory.  We've been using Maven to do Debian packaging as found in
>>> the
>>>> repl-bin module for quite a while, but that doesn't work now.  To see
>>> the
>>>> failure, you need to build repl-bin with the `deb` profile -- e.g. "mvn
>>>> -Prepl-bin,deb install" from the project directory.  The problem is with
>>>> the buildnumber-maven-plugin, which is used to attach the 8-digit short
>>> SHA
>>>> of the current git commit to the Debian package -- so, e.g.,
>>>> spark_0.8.0-SNAPSHOT-b993b2a3_all.deb.  The buildnumber plugin relies
>>> upon
>>>> the <scm> tag to determine which source code management system should be
>>>> used to lookup the version number.
>>>> 
>>>> That all worked great until the following was added to spark/pom.xml:
>>>> 
>>>>  <parent>
>>>>    <groupId>org.apache</groupId>
>>>>    <artifactId>apache</artifactId>
>>>>    <version>11</version>
>>>>  </parent>
>>>> 
>>>> The problem is that the parent pom that the above includes has this
>>> within
>>>> it:
>>>> 
>>>>  <scm>
>>>>    <connection>scm:svn:
>>>> http://svn.apache.org/repos/asf/maven/pom/tags/apache-11</connection
>>>>    <developerConnection>scm:svn:
>>>> https://svn.apache.org/repos/asf/maven/pom/tags/apache-11
>>>> </developerConnection>
>>>>    <url>http://svn.apache.org/viewvc/maven/pom/tags/apache-11</url>
>>>>  </scm>
>>>> 
>>>> And that essentially overrides the <scm> section of spark/pom.xml, which
>>>> means that the buildnumber plugin thinks that we are using SVN instead
>>> of
>>>> git, and the SHA lookup fails.
>>>> 
>>>> So, that is one known problem in the Maven build.  I'm not at all
>>> certain
>>>> that there aren't others or lurking problems because of different
>>> versions
>>>> of dependencies, plugins, etc. being included by that org.apache:apache
>>>> artifact and also specified within the Spark pom files.
>>>> 
>>>> I'm pretty sure that we can't not include the equivalent of
>>>> org.apache:apache:11, since there is a lot of important stuff in there
>>> to
>>>> do Apache release management, etc.  So, is there another, equivalent
>>>> artifact that we can use that doesn't confuse the <scm> issue, or some
>>>> other way around this problem?  It looks like there are some other
>>>> git-specific plugins out there that we may be able to use instead of
>>>> buildnumber-maven-plugin, so that may be a valid and necessary solution
>>> to
>>>> the Debian packaging problem.
>>>> 
>>>> Can someone who knows Maven better than I take a look at the overlap
>>>> between org.apache:apache and the Spark pom files to see if there are
>>>> problems lurking there?  Even if there aren't problems other than with
>>> the
>>>> buildnumber plugin, we may be able to trim a lot out of the Spark poms
>>> that
>>>> is already present in the apache parent pom.
>>> 
>> 
>> 

Reply via email to