You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by pw...@apache.org on 2013/09/16 01:58:13 UTC

git commit: Hard code scala version in pom files.

Updated Branches:
  refs/heads/branch-0.8 7f71f49ad -> a1e7e5196


Hard code scala version in pom files.

Unfortunately, having an expression inside of an artifactId causes warnings from Maven.


Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519

Branch: refs/heads/branch-0.8
Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
Parents: 7f71f49
Author: Patrick Wendell <pw...@gmail.com>
Authored: Sun Sep 15 16:56:30 2013 -0700
Committer: Patrick Wendell <pw...@gmail.com>
Committed: Sun Sep 15 16:56:30 2013 -0700

----------------------------------------------------------------------
 assembly/pom.xml  | 14 +++++++-------
 bagel/pom.xml     |  8 ++++----
 core/pom.xml      |  8 ++++----
 examples/pom.xml  | 14 +++++++-------
 mllib/pom.xml     |  8 ++++----
 pom.xml           |  6 +++---
 repl-bin/pom.xml  |  8 ++++----
 repl/pom.xml      | 12 ++++++------
 streaming/pom.xml |  8 ++++----
 tools/pom.xml     |  8 ++++----
 yarn/pom.xml      |  4 ++--
 11 files changed, 49 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
----------------------------------------------------------------------
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 778f7b1..397f79d 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -26,7 +26,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-assembly_${scala.version}</artifactId>
+  <artifactId>spark-assembly_2.9.3</artifactId>
   <name>Spark Project Assembly</name>
   <url>http://spark.incubator.apache.org/</url>
 
@@ -41,27 +41,27 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-core_${scala.version}</artifactId>
+      <artifactId>spark-core_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-bagel_${scala.version}</artifactId>
+      <artifactId>spark-bagel_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-mllib_${scala.version}</artifactId>
+      <artifactId>spark-mllib_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-repl_${scala.version}</artifactId>
+      <artifactId>spark-repl_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-streaming_${scala.version}</artifactId>
+      <artifactId>spark-streaming_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
@@ -128,7 +128,7 @@
       <dependencies>
         <dependency>
           <groupId>org.apache.spark</groupId>
-          <artifactId>spark-yarn_${scala.version}</artifactId>
+          <artifactId>spark-yarn_2.9.3</artifactId>
           <version>${project.version}</version>
         </dependency>
       </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
----------------------------------------------------------------------
diff --git a/bagel/pom.xml b/bagel/pom.xml
index 1248b04..9839aa5 100644
--- a/bagel/pom.xml
+++ b/bagel/pom.xml
@@ -26,7 +26,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-bagel_${scala.version}</artifactId>
+  <artifactId>spark-bagel_2.9.3</artifactId>
   <packaging>jar</packaging>
   <name>Spark Project Bagel</name>
   <url>http://spark.incubator.apache.org/</url>
@@ -34,7 +34,7 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-core_${scala.version}</artifactId>
+      <artifactId>spark-core_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
@@ -43,12 +43,12 @@
     </dependency>
     <dependency>
       <groupId>org.scalatest</groupId>
-      <artifactId>scalatest_${scala.version}</artifactId>
+      <artifactId>scalatest_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.scalacheck</groupId>
-      <artifactId>scalacheck_${scala.version}</artifactId>
+      <artifactId>scalacheck_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 53756e9..b20ace9 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -26,7 +26,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-core_${scala.version}</artifactId>
+  <artifactId>spark-core_2.9.3</artifactId>
   <packaging>jar</packaging>
   <name>Spark Project Core</name>
   <url>http://spark.incubator.apache.org/</url>
@@ -82,7 +82,7 @@
     </dependency>
     <dependency>
       <groupId>com.twitter</groupId>
-      <artifactId>chill_${scala.version}</artifactId>
+      <artifactId>chill_2.9.3</artifactId>
       <version>0.3.1</version>
     </dependency>
     <dependency>
@@ -161,12 +161,12 @@
     </dependency>
     <dependency>
       <groupId>org.scalatest</groupId>
-      <artifactId>scalatest_${scala.version}</artifactId>
+      <artifactId>scalatest_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.scalacheck</groupId>
-      <artifactId>scalacheck_${scala.version}</artifactId>
+      <artifactId>scalacheck_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index aaa2f04..99ff67a 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -26,7 +26,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-examples_${scala.version}</artifactId>
+  <artifactId>spark-examples_2.9.3</artifactId>
   <packaging>jar</packaging>
   <name>Spark Project Examples</name>
   <url>http://spark.incubator.apache.org/</url>
@@ -34,25 +34,25 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-core_${scala.version}</artifactId>
+      <artifactId>spark-core_2.9.3</artifactId>
       <version>${project.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-streaming_${scala.version}</artifactId>
+      <artifactId>spark-streaming_2.9.3</artifactId>
       <version>${project.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-mllib_${scala.version}</artifactId>
+      <artifactId>spark-mllib_2.9.3</artifactId>
       <version>${project.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-bagel_${scala.version}</artifactId>
+      <artifactId>spark-bagel_2.9.3</artifactId>
       <version>${project.version}</version>
       <scope>provided</scope>
     </dependency>
@@ -82,12 +82,12 @@
     </dependency>
     <dependency>
       <groupId>org.scalatest</groupId>
-      <artifactId>scalatest_${scala.version}</artifactId>
+      <artifactId>scalatest_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.scalacheck</groupId>
-      <artifactId>scalacheck_${scala.version}</artifactId>
+      <artifactId>scalacheck_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
----------------------------------------------------------------------
diff --git a/mllib/pom.xml b/mllib/pom.xml
index ceddb78..11c0334 100644
--- a/mllib/pom.xml
+++ b/mllib/pom.xml
@@ -26,7 +26,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-mllib_${scala.version}</artifactId>
+  <artifactId>spark-mllib_2.9.3</artifactId>
   <packaging>jar</packaging>
   <name>Spark Project ML Library</name>
   <url>http://spark.incubator.apache.org/</url>
@@ -34,7 +34,7 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-core_${scala.version}</artifactId>
+      <artifactId>spark-core_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
@@ -48,12 +48,12 @@
     </dependency>
     <dependency>
       <groupId>org.scalatest</groupId>
-      <artifactId>scalatest_${scala.version}</artifactId>
+      <artifactId>scalatest_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.scalacheck</groupId>
-      <artifactId>scalacheck_${scala.version}</artifactId>
+      <artifactId>scalacheck_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index eb21dd9..0bd01f5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -215,7 +215,7 @@
       </dependency>
       <dependency>
         <groupId>com.twitter</groupId>
-        <artifactId>chill_${scala.version}</artifactId>
+        <artifactId>chill_2.9.3</artifactId>
         <version>0.3.1</version>
       </dependency>
       <dependency>
@@ -323,7 +323,7 @@
 
       <dependency>
         <groupId>org.scalatest</groupId>
-        <artifactId>scalatest_${scala.version}</artifactId>
+        <artifactId>scalatest_2.9.3</artifactId>
         <version>1.9.1</version>
         <scope>test</scope>
       </dependency>
@@ -335,7 +335,7 @@
       </dependency>
       <dependency>
         <groupId>org.scalacheck</groupId>
-        <artifactId>scalacheck_${scala.version}</artifactId>
+        <artifactId>scalacheck_2.9.3</artifactId>
         <version>1.10.0</version>
         <scope>test</scope>
       </dependency>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
----------------------------------------------------------------------
diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
index bb77987..e2e1d8e 100644
--- a/repl-bin/pom.xml
+++ b/repl-bin/pom.xml
@@ -26,7 +26,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-repl-bin_${scala.version}</artifactId>
+  <artifactId>spark-repl-bin_2.9.3</artifactId>
   <packaging>pom</packaging>
   <name>Spark Project REPL binary packaging</name>
   <url>http://spark.incubator.apache.org/</url>
@@ -40,18 +40,18 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-core_${scala.version}</artifactId>
+      <artifactId>spark-core_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-bagel_${scala.version}</artifactId>
+      <artifactId>spark-bagel_2.9.3</artifactId>
       <version>${project.version}</version>
       <scope>runtime</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-repl_${scala.version}</artifactId>
+      <artifactId>spark-repl_2.9.3</artifactId>
       <version>${project.version}</version>
       <scope>runtime</scope>
     </dependency>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
----------------------------------------------------------------------
diff --git a/repl/pom.xml b/repl/pom.xml
index 07d3d67..d2c71f6 100644
--- a/repl/pom.xml
+++ b/repl/pom.xml
@@ -26,7 +26,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-repl_${scala.version}</artifactId>
+  <artifactId>spark-repl_2.9.3</artifactId>
   <packaging>jar</packaging>
   <name>Spark Project REPL</name>
   <url>http://spark.incubator.apache.org/</url>
@@ -39,18 +39,18 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-core_${scala.version}</artifactId>
+      <artifactId>spark-core_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-bagel_${scala.version}</artifactId>
+      <artifactId>spark-bagel_2.9.3</artifactId>
       <version>${project.version}</version>
       <scope>runtime</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-mllib_${scala.version}</artifactId>
+      <artifactId>spark-mllib_2.9.3</artifactId>
       <version>${project.version}</version>
       <scope>runtime</scope>
     </dependency>
@@ -76,12 +76,12 @@
     </dependency>
     <dependency>
       <groupId>org.scalatest</groupId>
-      <artifactId>scalatest_${scala.version}</artifactId>
+      <artifactId>scalatest_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.scalacheck</groupId>
-      <artifactId>scalacheck_${scala.version}</artifactId>
+      <artifactId>scalacheck_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
----------------------------------------------------------------------
diff --git a/streaming/pom.xml b/streaming/pom.xml
index ffe0c6e..f94e7e0 100644
--- a/streaming/pom.xml
+++ b/streaming/pom.xml
@@ -26,7 +26,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-streaming_${scala.version}</artifactId>
+  <artifactId>spark-streaming_2.9.3</artifactId>
   <packaging>jar</packaging>
   <name>Spark Project Streaming</name>
   <url>http://spark.incubator.apache.org/</url>
@@ -42,7 +42,7 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-core_${scala.version}</artifactId>
+      <artifactId>spark-core_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
@@ -91,12 +91,12 @@
     </dependency>
     <dependency>
       <groupId>org.scalatest</groupId>
-      <artifactId>scalatest_${scala.version}</artifactId>
+      <artifactId>scalatest_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.scalacheck</groupId>
-      <artifactId>scalacheck_${scala.version}</artifactId>
+      <artifactId>scalacheck_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
----------------------------------------------------------------------
diff --git a/tools/pom.xml b/tools/pom.xml
index e5080b3..40288da 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -25,7 +25,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-tools_${scala.version}</artifactId>
+  <artifactId>spark-tools_2.9.3</artifactId>
   <packaging>jar</packaging>
   <name>Spark Project Tools</name>
   <url>http://spark.incubator.apache.org/</url>
@@ -33,17 +33,17 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-core_${scala.version}</artifactId>
+      <artifactId>spark-core_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-streaming_${scala.version}</artifactId>
+      <artifactId>spark-streaming_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.scalatest</groupId>
-      <artifactId>scalatest_${scala.version}</artifactId>
+      <artifactId>scalatest_2.9.3</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
----------------------------------------------------------------------
diff --git a/yarn/pom.xml b/yarn/pom.xml
index 94d3025..b1674d2 100644
--- a/yarn/pom.xml
+++ b/yarn/pom.xml
@@ -25,7 +25,7 @@
   </parent>
 
   <groupId>org.apache.spark</groupId>
-  <artifactId>spark-yarn_${scala.version}</artifactId>
+  <artifactId>spark-yarn_2.9.3</artifactId>
   <packaging>jar</packaging>
   <name>Spark Project YARN Support</name>
   <url>http://spark.incubator.apache.org/</url>
@@ -33,7 +33,7 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.spark</groupId>
-      <artifactId>spark-core_${scala.version}</artifactId>
+      <artifactId>spark-core_2.9.3</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>


Re: git commit: Hard code scala version in pom files.

Posted by Konstantin Boudnik <co...@apache.org>.
The warning from Maven coming because you have to have a constant version for
a deployed artifact to work/be resolvable.

On Sun, Sep 15, 2013 at 05:41PM, Mark Hamstra wrote:
> Whoa there, cowboy!
> 
> It's just a warning, and removing parameterized artifactIds (or versions)
> is a significant change in functionality that necessitates changes in user
> behavior.  At a minimum, this needs to be discussed before we go this
> route.  If we really want to get rid of the warnings right away, then we
> should try not to lose functionality and to require as little user behavior
> change as possible.  The Maven Archetype
> Plugin<http://maven.apache.org/guides/introduction/introduction-to-archetypes.html>
> may
> be the right way to do that.
> 
> Do we have some set-in-stone requirement to quash all maven warnings before
> release?  If not, I'd recommend leaving the parameterized pom files in
> place for now and change over to something like archetypes for 0.8.1 -- the
> change to use archetypes is bigger than I am comfortable with making
> hastily as we try to get 0.8.0 released.
> 
> 
> 
> On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
> 
> > Updated Branches:
> >   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
> >
> >
> > Hard code scala version in pom files.
> >
> > Unfortunately, having an expression inside of an artifactId causes
> > warnings from Maven.
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
> > Commit:
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
> > Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
> > Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
> >
> > Branch: refs/heads/branch-0.8
> > Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
> > Parents: 7f71f49
> > Author: Patrick Wendell <pw...@gmail.com>
> > Authored: Sun Sep 15 16:56:30 2013 -0700
> > Committer: Patrick Wendell <pw...@gmail.com>
> > Committed: Sun Sep 15 16:56:30 2013 -0700
> >
> > ----------------------------------------------------------------------
> >  assembly/pom.xml  | 14 +++++++-------
> >  bagel/pom.xml     |  8 ++++----
> >  core/pom.xml      |  8 ++++----
> >  examples/pom.xml  | 14 +++++++-------
> >  mllib/pom.xml     |  8 ++++----
> >  pom.xml           |  6 +++---
> >  repl-bin/pom.xml  |  8 ++++----
> >  repl/pom.xml      | 12 ++++++------
> >  streaming/pom.xml |  8 ++++----
> >  tools/pom.xml     |  8 ++++----
> >  yarn/pom.xml      |  4 ++--
> >  11 files changed, 49 insertions(+), 49 deletions(-)
> > ----------------------------------------------------------------------
> >
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/assembly/pom.xml b/assembly/pom.xml
> > index 778f7b1..397f79d 100644
> > --- a/assembly/pom.xml
> > +++ b/assembly/pom.xml
> > @@ -26,7 +26,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-assembly_${scala.version}</artifactId>
> > +  <artifactId>spark-assembly_2.9.3</artifactId>
> >    <name>Spark Project Assembly</name>
> >    <url>http://spark.incubator.apache.org/</url>
> >
> > @@ -41,27 +41,27 @@
> >    <dependencies>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-core_${scala.version}</artifactId>
> > +      <artifactId>spark-core_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-bagel_${scala.version}</artifactId>
> > +      <artifactId>spark-bagel_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-mllib_${scala.version}</artifactId>
> > +      <artifactId>spark-mllib_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-repl_${scala.version}</artifactId>
> > +      <artifactId>spark-repl_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-streaming_${scala.version}</artifactId>
> > +      <artifactId>spark-streaming_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> > @@ -128,7 +128,7 @@
> >        <dependencies>
> >          <dependency>
> >            <groupId>org.apache.spark</groupId>
> > -          <artifactId>spark-yarn_${scala.version}</artifactId>
> > +          <artifactId>spark-yarn_2.9.3</artifactId>
> >            <version>${project.version}</version>
> >          </dependency>
> >        </dependencies>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/bagel/pom.xml b/bagel/pom.xml
> > index 1248b04..9839aa5 100644
> > --- a/bagel/pom.xml
> > +++ b/bagel/pom.xml
> > @@ -26,7 +26,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-bagel_${scala.version}</artifactId>
> > +  <artifactId>spark-bagel_2.9.3</artifactId>
> >    <packaging>jar</packaging>
> >    <name>Spark Project Bagel</name>
> >    <url>http://spark.incubator.apache.org/</url>
> > @@ -34,7 +34,7 @@
> >    <dependencies>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-core_${scala.version}</artifactId>
> > +      <artifactId>spark-core_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> > @@ -43,12 +43,12 @@
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalatest</groupId>
> > -      <artifactId>scalatest_${scala.version}</artifactId>
> > +      <artifactId>scalatest_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalacheck</groupId>
> > -      <artifactId>scalacheck_${scala.version}</artifactId>
> > +      <artifactId>scalacheck_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >    </dependencies>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/core/pom.xml b/core/pom.xml
> > index 53756e9..b20ace9 100644
> > --- a/core/pom.xml
> > +++ b/core/pom.xml
> > @@ -26,7 +26,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-core_${scala.version}</artifactId>
> > +  <artifactId>spark-core_2.9.3</artifactId>
> >    <packaging>jar</packaging>
> >    <name>Spark Project Core</name>
> >    <url>http://spark.incubator.apache.org/</url>
> > @@ -82,7 +82,7 @@
> >      </dependency>
> >      <dependency>
> >        <groupId>com.twitter</groupId>
> > -      <artifactId>chill_${scala.version}</artifactId>
> > +      <artifactId>chill_2.9.3</artifactId>
> >        <version>0.3.1</version>
> >      </dependency>
> >      <dependency>
> > @@ -161,12 +161,12 @@
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalatest</groupId>
> > -      <artifactId>scalatest_${scala.version}</artifactId>
> > +      <artifactId>scalatest_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalacheck</groupId>
> > -      <artifactId>scalacheck_${scala.version}</artifactId>
> > +      <artifactId>scalacheck_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/examples/pom.xml b/examples/pom.xml
> > index aaa2f04..99ff67a 100644
> > --- a/examples/pom.xml
> > +++ b/examples/pom.xml
> > @@ -26,7 +26,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-examples_${scala.version}</artifactId>
> > +  <artifactId>spark-examples_2.9.3</artifactId>
> >    <packaging>jar</packaging>
> >    <name>Spark Project Examples</name>
> >    <url>http://spark.incubator.apache.org/</url>
> > @@ -34,25 +34,25 @@
> >    <dependencies>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-core_${scala.version}</artifactId>
> > +      <artifactId>spark-core_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >        <scope>provided</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-streaming_${scala.version}</artifactId>
> > +      <artifactId>spark-streaming_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >        <scope>provided</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-mllib_${scala.version}</artifactId>
> > +      <artifactId>spark-mllib_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >        <scope>provided</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-bagel_${scala.version}</artifactId>
> > +      <artifactId>spark-bagel_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >        <scope>provided</scope>
> >      </dependency>
> > @@ -82,12 +82,12 @@
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalatest</groupId>
> > -      <artifactId>scalatest_${scala.version}</artifactId>
> > +      <artifactId>scalatest_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalacheck</groupId>
> > -      <artifactId>scalacheck_${scala.version}</artifactId>
> > +      <artifactId>scalacheck_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/mllib/pom.xml b/mllib/pom.xml
> > index ceddb78..11c0334 100644
> > --- a/mllib/pom.xml
> > +++ b/mllib/pom.xml
> > @@ -26,7 +26,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-mllib_${scala.version}</artifactId>
> > +  <artifactId>spark-mllib_2.9.3</artifactId>
> >    <packaging>jar</packaging>
> >    <name>Spark Project ML Library</name>
> >    <url>http://spark.incubator.apache.org/</url>
> > @@ -34,7 +34,7 @@
> >    <dependencies>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-core_${scala.version}</artifactId>
> > +      <artifactId>spark-core_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> > @@ -48,12 +48,12 @@
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalatest</groupId>
> > -      <artifactId>scalatest_${scala.version}</artifactId>
> > +      <artifactId>scalatest_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalacheck</groupId>
> > -      <artifactId>scalacheck_${scala.version}</artifactId>
> > +      <artifactId>scalacheck_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/pom.xml b/pom.xml
> > index eb21dd9..0bd01f5 100644
> > --- a/pom.xml
> > +++ b/pom.xml
> > @@ -215,7 +215,7 @@
> >        </dependency>
> >        <dependency>
> >          <groupId>com.twitter</groupId>
> > -        <artifactId>chill_${scala.version}</artifactId>
> > +        <artifactId>chill_2.9.3</artifactId>
> >          <version>0.3.1</version>
> >        </dependency>
> >        <dependency>
> > @@ -323,7 +323,7 @@
> >
> >        <dependency>
> >          <groupId>org.scalatest</groupId>
> > -        <artifactId>scalatest_${scala.version}</artifactId>
> > +        <artifactId>scalatest_2.9.3</artifactId>
> >          <version>1.9.1</version>
> >          <scope>test</scope>
> >        </dependency>
> > @@ -335,7 +335,7 @@
> >        </dependency>
> >        <dependency>
> >          <groupId>org.scalacheck</groupId>
> > -        <artifactId>scalacheck_${scala.version}</artifactId>
> > +        <artifactId>scalacheck_2.9.3</artifactId>
> >          <version>1.10.0</version>
> >          <scope>test</scope>
> >        </dependency>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
> > index bb77987..e2e1d8e 100644
> > --- a/repl-bin/pom.xml
> > +++ b/repl-bin/pom.xml
> > @@ -26,7 +26,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
> > +  <artifactId>spark-repl-bin_2.9.3</artifactId>
> >    <packaging>pom</packaging>
> >    <name>Spark Project REPL binary packaging</name>
> >    <url>http://spark.incubator.apache.org/</url>
> > @@ -40,18 +40,18 @@
> >    <dependencies>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-core_${scala.version}</artifactId>
> > +      <artifactId>spark-core_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-bagel_${scala.version}</artifactId>
> > +      <artifactId>spark-bagel_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >        <scope>runtime</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-repl_${scala.version}</artifactId>
> > +      <artifactId>spark-repl_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >        <scope>runtime</scope>
> >      </dependency>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/repl/pom.xml b/repl/pom.xml
> > index 07d3d67..d2c71f6 100644
> > --- a/repl/pom.xml
> > +++ b/repl/pom.xml
> > @@ -26,7 +26,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-repl_${scala.version}</artifactId>
> > +  <artifactId>spark-repl_2.9.3</artifactId>
> >    <packaging>jar</packaging>
> >    <name>Spark Project REPL</name>
> >    <url>http://spark.incubator.apache.org/</url>
> > @@ -39,18 +39,18 @@
> >    <dependencies>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-core_${scala.version}</artifactId>
> > +      <artifactId>spark-core_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-bagel_${scala.version}</artifactId>
> > +      <artifactId>spark-bagel_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >        <scope>runtime</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-mllib_${scala.version}</artifactId>
> > +      <artifactId>spark-mllib_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >        <scope>runtime</scope>
> >      </dependency>
> > @@ -76,12 +76,12 @@
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalatest</groupId>
> > -      <artifactId>scalatest_${scala.version}</artifactId>
> > +      <artifactId>scalatest_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalacheck</groupId>
> > -      <artifactId>scalacheck_${scala.version}</artifactId>
> > +      <artifactId>scalacheck_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >    </dependencies>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/streaming/pom.xml b/streaming/pom.xml
> > index ffe0c6e..f94e7e0 100644
> > --- a/streaming/pom.xml
> > +++ b/streaming/pom.xml
> > @@ -26,7 +26,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-streaming_${scala.version}</artifactId>
> > +  <artifactId>spark-streaming_2.9.3</artifactId>
> >    <packaging>jar</packaging>
> >    <name>Spark Project Streaming</name>
> >    <url>http://spark.incubator.apache.org/</url>
> > @@ -42,7 +42,7 @@
> >    <dependencies>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-core_${scala.version}</artifactId>
> > +      <artifactId>spark-core_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> > @@ -91,12 +91,12 @@
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalatest</groupId>
> > -      <artifactId>scalatest_${scala.version}</artifactId>
> > +      <artifactId>scalatest_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalacheck</groupId>
> > -      <artifactId>scalacheck_${scala.version}</artifactId>
> > +      <artifactId>scalacheck_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >      <dependency>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/tools/pom.xml b/tools/pom.xml
> > index e5080b3..40288da 100644
> > --- a/tools/pom.xml
> > +++ b/tools/pom.xml
> > @@ -25,7 +25,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-tools_${scala.version}</artifactId>
> > +  <artifactId>spark-tools_2.9.3</artifactId>
> >    <packaging>jar</packaging>
> >    <name>Spark Project Tools</name>
> >    <url>http://spark.incubator.apache.org/</url>
> > @@ -33,17 +33,17 @@
> >    <dependencies>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-core_${scala.version}</artifactId>
> > +      <artifactId>spark-core_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-streaming_${scala.version}</artifactId>
> > +      <artifactId>spark-streaming_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> >        <groupId>org.scalatest</groupId>
> > -      <artifactId>scalatest_${scala.version}</artifactId>
> > +      <artifactId>scalatest_2.9.3</artifactId>
> >        <scope>test</scope>
> >      </dependency>
> >    </dependencies>
> >
> >
> > http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/yarn/pom.xml b/yarn/pom.xml
> > index 94d3025..b1674d2 100644
> > --- a/yarn/pom.xml
> > +++ b/yarn/pom.xml
> > @@ -25,7 +25,7 @@
> >    </parent>
> >
> >    <groupId>org.apache.spark</groupId>
> > -  <artifactId>spark-yarn_${scala.version}</artifactId>
> > +  <artifactId>spark-yarn_2.9.3</artifactId>
> >    <packaging>jar</packaging>
> >    <name>Spark Project YARN Support</name>
> >    <url>http://spark.incubator.apache.org/</url>
> > @@ -33,7 +33,7 @@
> >    <dependencies>
> >      <dependency>
> >        <groupId>org.apache.spark</groupId>
> > -      <artifactId>spark-core_${scala.version}</artifactId>
> > +      <artifactId>spark-core_2.9.3</artifactId>
> >        <version>${project.version}</version>
> >      </dependency>
> >      <dependency>
> >
> >

Re: git commit: Hard code scala version in pom files.

Posted by Gary Struthers <li...@earthlink.net>.
You're right Cos, it isn't relevant.

As long as Scala has fragile versions this will affect all Scala on Maven projects ( a Typesafe developer said fixing this must wait until Java 8). 

I think Spark should join Typesafe and some other Scala projects and ask Jason van Zyl and Stuart Mccullough at Sonatype to add the most needed SBT features to Maven. I think they would if it wasn't too hard and there is enough demand to justify the work. Sonatype wanted to fully support Ruby but Rubyists weren't that interested in Maven. Also, they're a fellow Apache project now.

Gary Struthers
 
On Sep 17, 2013, at 11:04 AM, Konstantin Boudnik <co...@apache.org> wrote:

> Gary,
> 
> I believe resource filtering isn't relevant in the case of using variables in
> stead of constant artifact versions.
> 
> Cos
> 
> On Sun, Sep 15, 2013 at 09:03PM, Gary Struthers wrote:
>> Maven provides 2 ways for users to customize properties in pom files. There
>> is a Resource Filtering option which is disabled by default, when it's
>> turned on Maven searches src/main/resources for overriding properties in
>> .properties and xml files. There is also a Production Profile option that
>> also overrides default properties in the pom. Typically, the pom has the
>> developer default properties and the profile reads production deployment
>> properties from .properties and xml files in src/main/resources.
>> 
>> http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-description.html
>> 
>> If you post the warnings, I'll look into them.
>> 
>> Gary Struthers
>> 
>> 
>> On Sep 15, 2013, at 7:19 PM, Jey Kottalam <je...@cs.berkeley.edu> wrote:
>> 
>>> I'm overall in favor of treating POM files as some kind of disgusting
>>> object code that our build process just has to generate in some way,
>>> instead of treating POM files as source code itself. An analogue would
>>> be that we don't write machine code by hand, but instead use a
>>> high-level language that is comparatively sane combined with a
>>> compiler that accounts for all the bizarre quirks and details specific
>>> to getting a working x86/ELF executable.
>>> 
>>> Maybe we should write our POM files in a macro language, and have a
>>> Makefile that configures and generates the actual POM files seen by
>>> Maven? This would allow us to both be in full compliance with Maven's
>>> demands yet wrest back control of the build system.
>>> 
>>> However: for the 0.8.0 release, I support just hardcoding the scala
>>> version in the POM files that we ship to the Maven repositories, and
>>> revisiting this later. I think Patrick is right that Maven is warning
>>> about these issues for some legitimate reason that may only be
>>> encountered by downstream users, so we should proactively address the
>>> warnings unless we're certain they can be ignored. We could revert
>>> commit a1e7e519 on master as soon as the final 0.8.0 build is shipped.
>>> 
>>> -Jey
>>> 
>>> On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
>>>> Ah sorry, I've gotten so used to using ClearStory's poms (where we make
>>>> quite a lot of use of such parameterization) that I lost track of exactly
>>>> when Spark's maven build was changed to work in a similar way.
>>>> 
>>>> This all revolves around a basic difference of opinion as to whether the
>>>> thing that specifies how a project is built should be a fixed, static
>>>> document or is more of a program itself or a parameterized function that
>>>> drives the build and results in an artifact.  SBT is of the latter opinion,
>>>> while Maven (at least with Maven 3) is going the other way.  That means
>>>> that building idiomatic Scala artifacts (which expect things like
>>>> cross-versioning support and artifactIds that include the Scala binary
>>>> version that was used to create them) is somewhat at odds with the Maven
>>>> philosophy.  Hard-coding artifactIds, versions, and whatever else Maven now
>>>> requires to guarantee that a pom file be a fixed, repeatable build
>>>> description works okay for a single build of an artifact; and a user of
>>>> just that built artifact won't have to change behavior if the pom is no
>>>> longer parameterized.  However, users who are not just interested in using
>>>> pre-built artifacts but also in modifying, adding to or reusing the code do
>>>> have to change their behavior if parameterized Maven builds disappear (yes,
>>>> you have pointed out the state of affairs with the 0.6 and 0.7 releases;
>>>> I'll point out that some of those making further use of the code have been
>>>> using the current, not-yet-released poms for a good while.)
>>>> 
>>>> Without some form of parameterized Maven builds, developers who now rely
>>>> upon such parameterized builds will have to choose to fork the Apache poms
>>>> and maintain their own parameterized build, or to repeatedly and manually
>>>> edit static Apache pom files in order to change artifactIds and dependency
>>>> versions (which is a frequent need when integrating Spark into a much
>>>> larger and more complicated technology stack), or to switch over to using
>>>> SBT in order to get parameterized builds (which, of course, would
>>>> necessitate a lot of other changes, not all of them welcome.)  Archetypes
>>>> or something similar seems like a way to satisfy Maven's new requirement
>>>> for static build configurations while at the same time providing a
>>>> parameterized way to generate that configuration or a modified version of
>>>> it -- solving the problem by adding a layer of abstraction.
>>>> 
>>>> 
>>>> On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com> wrote:
>>>> 
>>>>> Hey Mark,
>>>>> 
>>>>> Could you describe a user whose behavior is changed by this, and how
>>>>> it is changed? This commit actually brings 0.8 in line with the 0.7
>>>>> and 0.6 branches, where the scala version is hard coded in the
>>>>> released artifacts:
>>>>> 
>>>>> 
>>>>> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
>>>>> 
>>>>> That seems to me to minimize the changes in user behavior as much as
>>>>> possible. It would be bad if during the 0.8 release the format of our
>>>>> released artifacts changed in a way that caused things to break for
>>>>> users. One example of something that could break is an IDE or some
>>>>> other tool that consumes these builds downstream and isn't aware of
>>>>> scala versioning.
>>>>> 
>>>>> We can have a more intricate solution on the master branch if you'd
>>>>> like. This is just a fix to bring the 0.8 branch into line with our
>>>>> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
>>>>> I'm still not sure how this could affect any users adversely).
>>>>> 
>>>>> - Patrick
>>>>> 
>>>>> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
>>>>> wrote:
>>>>>> Whoa there, cowboy!
>>>>>> 
>>>>>> It's just a warning, and removing parameterized artifactIds (or versions)
>>>>>> is a significant change in functionality that necessitates changes in
>>>>> user
>>>>>> behavior.  At a minimum, this needs to be discussed before we go this
>>>>>> route.  If we really want to get rid of the warnings right away, then we
>>>>>> should try not to lose functionality and to require as little user
>>>>> behavior
>>>>>> change as possible.  The Maven Archetype
>>>>>> Plugin<
>>>>> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
>>>>>> 
>>>>>> may
>>>>>> be the right way to do that.
>>>>>> 
>>>>>> Do we have some set-in-stone requirement to quash all maven warnings
>>>>> before
>>>>>> release?  If not, I'd recommend leaving the parameterized pom files in
>>>>>> place for now and change over to something like archetypes for 0.8.1 --
>>>>> the
>>>>>> change to use archetypes is bigger than I am comfortable with making
>>>>>> hastily as we try to get 0.8.0 released.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
>>>>>> 
>>>>>>> Updated Branches:
>>>>>>> refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
>>>>>>> 
>>>>>>> 
>>>>>>> Hard code scala version in pom files.
>>>>>>> 
>>>>>>> Unfortunately, having an expression inside of an artifactId causes
>>>>>>> warnings from Maven.
>>>>>>> 
>>>>>>> 
>>>>>>> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
>>>>>>> Commit:
>>>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
>>>>>>> Tree:
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
>>>>>>> Diff:
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
>>>>>>> 
>>>>>>> Branch: refs/heads/branch-0.8
>>>>>>> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
>>>>>>> Parents: 7f71f49
>>>>>>> Author: Patrick Wendell <pw...@gmail.com>
>>>>>>> Authored: Sun Sep 15 16:56:30 2013 -0700
>>>>>>> Committer: Patrick Wendell <pw...@gmail.com>
>>>>>>> Committed: Sun Sep 15 16:56:30 2013 -0700
>>>>>>> 
>>>>>>> ----------------------------------------------------------------------
>>>>>>> assembly/pom.xml  | 14 +++++++-------
>>>>>>> bagel/pom.xml     |  8 ++++----
>>>>>>> core/pom.xml      |  8 ++++----
>>>>>>> examples/pom.xml  | 14 +++++++-------
>>>>>>> mllib/pom.xml     |  8 ++++----
>>>>>>> pom.xml           |  6 +++---
>>>>>>> repl-bin/pom.xml  |  8 ++++----
>>>>>>> repl/pom.xml      | 12 ++++++------
>>>>>>> streaming/pom.xml |  8 ++++----
>>>>>>> tools/pom.xml     |  8 ++++----
>>>>>>> yarn/pom.xml      |  4 ++--
>>>>>>> 11 files changed, 49 insertions(+), 49 deletions(-)
>>>>>>> ----------------------------------------------------------------------
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/assembly/pom.xml b/assembly/pom.xml
>>>>>>> index 778f7b1..397f79d 100644
>>>>>>> --- a/assembly/pom.xml
>>>>>>> +++ b/assembly/pom.xml
>>>>>>> @@ -26,7 +26,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-assembly_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-assembly_2.9.3</artifactId>
>>>>>>>  <name>Spark Project Assembly</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> 
>>>>>>> @@ -41,27 +41,27 @@
>>>>>>>  <dependencies>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-mllib_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-repl_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-repl_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-streaming_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> @@ -128,7 +128,7 @@
>>>>>>>      <dependencies>
>>>>>>>        <dependency>
>>>>>>>          <groupId>org.apache.spark</groupId>
>>>>>>> -          <artifactId>spark-yarn_${scala.version}</artifactId>
>>>>>>> +          <artifactId>spark-yarn_2.9.3</artifactId>
>>>>>>>          <version>${project.version}</version>
>>>>>>>        </dependency>
>>>>>>>      </dependencies>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/bagel/pom.xml b/bagel/pom.xml
>>>>>>> index 1248b04..9839aa5 100644
>>>>>>> --- a/bagel/pom.xml
>>>>>>> +++ b/bagel/pom.xml
>>>>>>> @@ -26,7 +26,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>>>  <packaging>jar</packaging>
>>>>>>>  <name>Spark Project Bagel</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> @@ -34,7 +34,7 @@
>>>>>>>  <dependencies>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> @@ -43,12 +43,12 @@
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalatest</groupId>
>>>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalacheck</groupId>
>>>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>  </dependencies>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/core/pom.xml b/core/pom.xml
>>>>>>> index 53756e9..b20ace9 100644
>>>>>>> --- a/core/pom.xml
>>>>>>> +++ b/core/pom.xml
>>>>>>> @@ -26,7 +26,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>  <packaging>jar</packaging>
>>>>>>>  <name>Spark Project Core</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> @@ -82,7 +82,7 @@
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>com.twitter</groupId>
>>>>>>> -      <artifactId>chill_${scala.version}</artifactId>
>>>>>>> +      <artifactId>chill_2.9.3</artifactId>
>>>>>>>      <version>0.3.1</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> @@ -161,12 +161,12 @@
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalatest</groupId>
>>>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalacheck</groupId>
>>>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/examples/pom.xml b/examples/pom.xml
>>>>>>> index aaa2f04..99ff67a 100644
>>>>>>> --- a/examples/pom.xml
>>>>>>> +++ b/examples/pom.xml
>>>>>>> @@ -26,7 +26,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-examples_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-examples_2.9.3</artifactId>
>>>>>>>  <packaging>jar</packaging>
>>>>>>>  <name>Spark Project Examples</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> @@ -34,25 +34,25 @@
>>>>>>>  <dependencies>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>      <scope>provided</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-streaming_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>      <scope>provided</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-mllib_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>      <scope>provided</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>      <scope>provided</scope>
>>>>>>>    </dependency>
>>>>>>> @@ -82,12 +82,12 @@
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalatest</groupId>
>>>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalacheck</groupId>
>>>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/mllib/pom.xml b/mllib/pom.xml
>>>>>>> index ceddb78..11c0334 100644
>>>>>>> --- a/mllib/pom.xml
>>>>>>> +++ b/mllib/pom.xml
>>>>>>> @@ -26,7 +26,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-mllib_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-mllib_2.9.3</artifactId>
>>>>>>>  <packaging>jar</packaging>
>>>>>>>  <name>Spark Project ML Library</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> @@ -34,7 +34,7 @@
>>>>>>>  <dependencies>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> @@ -48,12 +48,12 @@
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalatest</groupId>
>>>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalacheck</groupId>
>>>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/pom.xml b/pom.xml
>>>>>>> index eb21dd9..0bd01f5 100644
>>>>>>> --- a/pom.xml
>>>>>>> +++ b/pom.xml
>>>>>>> @@ -215,7 +215,7 @@
>>>>>>>      </dependency>
>>>>>>>      <dependency>
>>>>>>>        <groupId>com.twitter</groupId>
>>>>>>> -        <artifactId>chill_${scala.version}</artifactId>
>>>>>>> +        <artifactId>chill_2.9.3</artifactId>
>>>>>>>        <version>0.3.1</version>
>>>>>>>      </dependency>
>>>>>>>      <dependency>
>>>>>>> @@ -323,7 +323,7 @@
>>>>>>> 
>>>>>>>      <dependency>
>>>>>>>        <groupId>org.scalatest</groupId>
>>>>>>> -        <artifactId>scalatest_${scala.version}</artifactId>
>>>>>>> +        <artifactId>scalatest_2.9.3</artifactId>
>>>>>>>        <version>1.9.1</version>
>>>>>>>        <scope>test</scope>
>>>>>>>      </dependency>
>>>>>>> @@ -335,7 +335,7 @@
>>>>>>>      </dependency>
>>>>>>>      <dependency>
>>>>>>>        <groupId>org.scalacheck</groupId>
>>>>>>> -        <artifactId>scalacheck_${scala.version}</artifactId>
>>>>>>> +        <artifactId>scalacheck_2.9.3</artifactId>
>>>>>>>        <version>1.10.0</version>
>>>>>>>        <scope>test</scope>
>>>>>>>      </dependency>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
>>>>>>> index bb77987..e2e1d8e 100644
>>>>>>> --- a/repl-bin/pom.xml
>>>>>>> +++ b/repl-bin/pom.xml
>>>>>>> @@ -26,7 +26,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
>>>>>>>  <packaging>pom</packaging>
>>>>>>>  <name>Spark Project REPL binary packaging</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> @@ -40,18 +40,18 @@
>>>>>>>  <dependencies>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>      <scope>runtime</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-repl_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-repl_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>      <scope>runtime</scope>
>>>>>>>    </dependency>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/repl/pom.xml b/repl/pom.xml
>>>>>>> index 07d3d67..d2c71f6 100644
>>>>>>> --- a/repl/pom.xml
>>>>>>> +++ b/repl/pom.xml
>>>>>>> @@ -26,7 +26,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-repl_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-repl_2.9.3</artifactId>
>>>>>>>  <packaging>jar</packaging>
>>>>>>>  <name>Spark Project REPL</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> @@ -39,18 +39,18 @@
>>>>>>>  <dependencies>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>      <scope>runtime</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-mllib_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>      <scope>runtime</scope>
>>>>>>>    </dependency>
>>>>>>> @@ -76,12 +76,12 @@
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalatest</groupId>
>>>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalacheck</groupId>
>>>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>  </dependencies>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/streaming/pom.xml b/streaming/pom.xml
>>>>>>> index ffe0c6e..f94e7e0 100644
>>>>>>> --- a/streaming/pom.xml
>>>>>>> +++ b/streaming/pom.xml
>>>>>>> @@ -26,7 +26,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-streaming_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-streaming_2.9.3</artifactId>
>>>>>>>  <packaging>jar</packaging>
>>>>>>>  <name>Spark Project Streaming</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> @@ -42,7 +42,7 @@
>>>>>>>  <dependencies>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> @@ -91,12 +91,12 @@
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalatest</groupId>
>>>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalacheck</groupId>
>>>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/tools/pom.xml b/tools/pom.xml
>>>>>>> index e5080b3..40288da 100644
>>>>>>> --- a/tools/pom.xml
>>>>>>> +++ b/tools/pom.xml
>>>>>>> @@ -25,7 +25,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-tools_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-tools_2.9.3</artifactId>
>>>>>>>  <packaging>jar</packaging>
>>>>>>>  <name>Spark Project Tools</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> @@ -33,17 +33,17 @@
>>>>>>>  <dependencies>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-streaming_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.scalatest</groupId>
>>>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>>>      <scope>test</scope>
>>>>>>>    </dependency>
>>>>>>>  </dependencies>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
>>>>>>> ----------------------------------------------------------------------
>>>>>>> diff --git a/yarn/pom.xml b/yarn/pom.xml
>>>>>>> index 94d3025..b1674d2 100644
>>>>>>> --- a/yarn/pom.xml
>>>>>>> +++ b/yarn/pom.xml
>>>>>>> @@ -25,7 +25,7 @@
>>>>>>>  </parent>
>>>>>>> 
>>>>>>>  <groupId>org.apache.spark</groupId>
>>>>>>> -  <artifactId>spark-yarn_${scala.version}</artifactId>
>>>>>>> +  <artifactId>spark-yarn_2.9.3</artifactId>
>>>>>>>  <packaging>jar</packaging>
>>>>>>>  <name>Spark Project YARN Support</name>
>>>>>>>  <url>http://spark.incubator.apache.org/</url>
>>>>>>> @@ -33,7 +33,7 @@
>>>>>>>  <dependencies>
>>>>>>>    <dependency>
>>>>>>>      <groupId>org.apache.spark</groupId>
>>>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>>>      <version>${project.version}</version>
>>>>>>>    </dependency>
>>>>>>>    <dependency>
>>>>>>> 
>>>>>>> 
>>>>> 
>> 


Re: git commit: Hard code scala version in pom files.

Posted by Konstantin Boudnik <co...@apache.org>.
Gary,

I believe resource filtering isn't relevant in the case of using variables in
stead of constant artifact versions.

Cos

On Sun, Sep 15, 2013 at 09:03PM, Gary Struthers wrote:
> Maven provides 2 ways for users to customize properties in pom files. There
> is a Resource Filtering option which is disabled by default, when it's
> turned on Maven searches src/main/resources for overriding properties in
> .properties and xml files. There is also a Production Profile option that
> also overrides default properties in the pom. Typically, the pom has the
> developer default properties and the profile reads production deployment
> properties from .properties and xml files in src/main/resources.
> 
> http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-description.html
> 
> If you post the warnings, I'll look into them.
> 
> Gary Struthers
> 
> 
> On Sep 15, 2013, at 7:19 PM, Jey Kottalam <je...@cs.berkeley.edu> wrote:
> 
> > I'm overall in favor of treating POM files as some kind of disgusting
> > object code that our build process just has to generate in some way,
> > instead of treating POM files as source code itself. An analogue would
> > be that we don't write machine code by hand, but instead use a
> > high-level language that is comparatively sane combined with a
> > compiler that accounts for all the bizarre quirks and details specific
> > to getting a working x86/ELF executable.
> > 
> > Maybe we should write our POM files in a macro language, and have a
> > Makefile that configures and generates the actual POM files seen by
> > Maven? This would allow us to both be in full compliance with Maven's
> > demands yet wrest back control of the build system.
> > 
> > However: for the 0.8.0 release, I support just hardcoding the scala
> > version in the POM files that we ship to the Maven repositories, and
> > revisiting this later. I think Patrick is right that Maven is warning
> > about these issues for some legitimate reason that may only be
> > encountered by downstream users, so we should proactively address the
> > warnings unless we're certain they can be ignored. We could revert
> > commit a1e7e519 on master as soon as the final 0.8.0 build is shipped.
> > 
> > -Jey
> > 
> > On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
> >> Ah sorry, I've gotten so used to using ClearStory's poms (where we make
> >> quite a lot of use of such parameterization) that I lost track of exactly
> >> when Spark's maven build was changed to work in a similar way.
> >> 
> >> This all revolves around a basic difference of opinion as to whether the
> >> thing that specifies how a project is built should be a fixed, static
> >> document or is more of a program itself or a parameterized function that
> >> drives the build and results in an artifact.  SBT is of the latter opinion,
> >> while Maven (at least with Maven 3) is going the other way.  That means
> >> that building idiomatic Scala artifacts (which expect things like
> >> cross-versioning support and artifactIds that include the Scala binary
> >> version that was used to create them) is somewhat at odds with the Maven
> >> philosophy.  Hard-coding artifactIds, versions, and whatever else Maven now
> >> requires to guarantee that a pom file be a fixed, repeatable build
> >> description works okay for a single build of an artifact; and a user of
> >> just that built artifact won't have to change behavior if the pom is no
> >> longer parameterized.  However, users who are not just interested in using
> >> pre-built artifacts but also in modifying, adding to or reusing the code do
> >> have to change their behavior if parameterized Maven builds disappear (yes,
> >> you have pointed out the state of affairs with the 0.6 and 0.7 releases;
> >> I'll point out that some of those making further use of the code have been
> >> using the current, not-yet-released poms for a good while.)
> >> 
> >> Without some form of parameterized Maven builds, developers who now rely
> >> upon such parameterized builds will have to choose to fork the Apache poms
> >> and maintain their own parameterized build, or to repeatedly and manually
> >> edit static Apache pom files in order to change artifactIds and dependency
> >> versions (which is a frequent need when integrating Spark into a much
> >> larger and more complicated technology stack), or to switch over to using
> >> SBT in order to get parameterized builds (which, of course, would
> >> necessitate a lot of other changes, not all of them welcome.)  Archetypes
> >> or something similar seems like a way to satisfy Maven's new requirement
> >> for static build configurations while at the same time providing a
> >> parameterized way to generate that configuration or a modified version of
> >> it -- solving the problem by adding a layer of abstraction.
> >> 
> >> 
> >> On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com> wrote:
> >> 
> >>> Hey Mark,
> >>> 
> >>> Could you describe a user whose behavior is changed by this, and how
> >>> it is changed? This commit actually brings 0.8 in line with the 0.7
> >>> and 0.6 branches, where the scala version is hard coded in the
> >>> released artifacts:
> >>> 
> >>> 
> >>> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
> >>> 
> >>> That seems to me to minimize the changes in user behavior as much as
> >>> possible. It would be bad if during the 0.8 release the format of our
> >>> released artifacts changed in a way that caused things to break for
> >>> users. One example of something that could break is an IDE or some
> >>> other tool that consumes these builds downstream and isn't aware of
> >>> scala versioning.
> >>> 
> >>> We can have a more intricate solution on the master branch if you'd
> >>> like. This is just a fix to bring the 0.8 branch into line with our
> >>> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
> >>> I'm still not sure how this could affect any users adversely).
> >>> 
> >>> - Patrick
> >>> 
> >>> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
> >>> wrote:
> >>>> Whoa there, cowboy!
> >>>> 
> >>>> It's just a warning, and removing parameterized artifactIds (or versions)
> >>>> is a significant change in functionality that necessitates changes in
> >>> user
> >>>> behavior.  At a minimum, this needs to be discussed before we go this
> >>>> route.  If we really want to get rid of the warnings right away, then we
> >>>> should try not to lose functionality and to require as little user
> >>> behavior
> >>>> change as possible.  The Maven Archetype
> >>>> Plugin<
> >>> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
> >>>> 
> >>>> may
> >>>> be the right way to do that.
> >>>> 
> >>>> Do we have some set-in-stone requirement to quash all maven warnings
> >>> before
> >>>> release?  If not, I'd recommend leaving the parameterized pom files in
> >>>> place for now and change over to something like archetypes for 0.8.1 --
> >>> the
> >>>> change to use archetypes is bigger than I am comfortable with making
> >>>> hastily as we try to get 0.8.0 released.
> >>>> 
> >>>> 
> >>>> 
> >>>> On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
> >>>> 
> >>>>> Updated Branches:
> >>>>>  refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
> >>>>> 
> >>>>> 
> >>>>> Hard code scala version in pom files.
> >>>>> 
> >>>>> Unfortunately, having an expression inside of an artifactId causes
> >>>>> warnings from Maven.
> >>>>> 
> >>>>> 
> >>>>> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
> >>>>> Commit:
> >>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
> >>>>> Tree:
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
> >>>>> Diff:
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
> >>>>> 
> >>>>> Branch: refs/heads/branch-0.8
> >>>>> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
> >>>>> Parents: 7f71f49
> >>>>> Author: Patrick Wendell <pw...@gmail.com>
> >>>>> Authored: Sun Sep 15 16:56:30 2013 -0700
> >>>>> Committer: Patrick Wendell <pw...@gmail.com>
> >>>>> Committed: Sun Sep 15 16:56:30 2013 -0700
> >>>>> 
> >>>>> ----------------------------------------------------------------------
> >>>>> assembly/pom.xml  | 14 +++++++-------
> >>>>> bagel/pom.xml     |  8 ++++----
> >>>>> core/pom.xml      |  8 ++++----
> >>>>> examples/pom.xml  | 14 +++++++-------
> >>>>> mllib/pom.xml     |  8 ++++----
> >>>>> pom.xml           |  6 +++---
> >>>>> repl-bin/pom.xml  |  8 ++++----
> >>>>> repl/pom.xml      | 12 ++++++------
> >>>>> streaming/pom.xml |  8 ++++----
> >>>>> tools/pom.xml     |  8 ++++----
> >>>>> yarn/pom.xml      |  4 ++--
> >>>>> 11 files changed, 49 insertions(+), 49 deletions(-)
> >>>>> ----------------------------------------------------------------------
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/assembly/pom.xml b/assembly/pom.xml
> >>>>> index 778f7b1..397f79d 100644
> >>>>> --- a/assembly/pom.xml
> >>>>> +++ b/assembly/pom.xml
> >>>>> @@ -26,7 +26,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-assembly_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-assembly_2.9.3</artifactId>
> >>>>>   <name>Spark Project Assembly</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> 
> >>>>> @@ -41,27 +41,27 @@
> >>>>>   <dependencies>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-core_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-repl_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> @@ -128,7 +128,7 @@
> >>>>>       <dependencies>
> >>>>>         <dependency>
> >>>>>           <groupId>org.apache.spark</groupId>
> >>>>> -          <artifactId>spark-yarn_${scala.version}</artifactId>
> >>>>> +          <artifactId>spark-yarn_2.9.3</artifactId>
> >>>>>           <version>${project.version}</version>
> >>>>>         </dependency>
> >>>>>       </dependencies>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/bagel/pom.xml b/bagel/pom.xml
> >>>>> index 1248b04..9839aa5 100644
> >>>>> --- a/bagel/pom.xml
> >>>>> +++ b/bagel/pom.xml
> >>>>> @@ -26,7 +26,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-bagel_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-bagel_2.9.3</artifactId>
> >>>>>   <packaging>jar</packaging>
> >>>>>   <name>Spark Project Bagel</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> @@ -34,7 +34,7 @@
> >>>>>   <dependencies>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-core_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> @@ -43,12 +43,12 @@
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalatest</groupId>
> >>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalatest_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalacheck</groupId>
> >>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>   </dependencies>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/core/pom.xml b/core/pom.xml
> >>>>> index 53756e9..b20ace9 100644
> >>>>> --- a/core/pom.xml
> >>>>> +++ b/core/pom.xml
> >>>>> @@ -26,7 +26,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-core_2.9.3</artifactId>
> >>>>>   <packaging>jar</packaging>
> >>>>>   <name>Spark Project Core</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> @@ -82,7 +82,7 @@
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>com.twitter</groupId>
> >>>>> -      <artifactId>chill_${scala.version}</artifactId>
> >>>>> +      <artifactId>chill_2.9.3</artifactId>
> >>>>>       <version>0.3.1</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> @@ -161,12 +161,12 @@
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalatest</groupId>
> >>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalatest_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalacheck</groupId>
> >>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/examples/pom.xml b/examples/pom.xml
> >>>>> index aaa2f04..99ff67a 100644
> >>>>> --- a/examples/pom.xml
> >>>>> +++ b/examples/pom.xml
> >>>>> @@ -26,7 +26,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-examples_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-examples_2.9.3</artifactId>
> >>>>>   <packaging>jar</packaging>
> >>>>>   <name>Spark Project Examples</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> @@ -34,25 +34,25 @@
> >>>>>   <dependencies>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-core_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>       <scope>provided</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>       <scope>provided</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>       <scope>provided</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>       <scope>provided</scope>
> >>>>>     </dependency>
> >>>>> @@ -82,12 +82,12 @@
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalatest</groupId>
> >>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalatest_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalacheck</groupId>
> >>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/mllib/pom.xml b/mllib/pom.xml
> >>>>> index ceddb78..11c0334 100644
> >>>>> --- a/mllib/pom.xml
> >>>>> +++ b/mllib/pom.xml
> >>>>> @@ -26,7 +26,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-mllib_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-mllib_2.9.3</artifactId>
> >>>>>   <packaging>jar</packaging>
> >>>>>   <name>Spark Project ML Library</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> @@ -34,7 +34,7 @@
> >>>>>   <dependencies>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-core_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> @@ -48,12 +48,12 @@
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalatest</groupId>
> >>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalatest_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalacheck</groupId>
> >>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/pom.xml b/pom.xml
> >>>>> index eb21dd9..0bd01f5 100644
> >>>>> --- a/pom.xml
> >>>>> +++ b/pom.xml
> >>>>> @@ -215,7 +215,7 @@
> >>>>>       </dependency>
> >>>>>       <dependency>
> >>>>>         <groupId>com.twitter</groupId>
> >>>>> -        <artifactId>chill_${scala.version}</artifactId>
> >>>>> +        <artifactId>chill_2.9.3</artifactId>
> >>>>>         <version>0.3.1</version>
> >>>>>       </dependency>
> >>>>>       <dependency>
> >>>>> @@ -323,7 +323,7 @@
> >>>>> 
> >>>>>       <dependency>
> >>>>>         <groupId>org.scalatest</groupId>
> >>>>> -        <artifactId>scalatest_${scala.version}</artifactId>
> >>>>> +        <artifactId>scalatest_2.9.3</artifactId>
> >>>>>         <version>1.9.1</version>
> >>>>>         <scope>test</scope>
> >>>>>       </dependency>
> >>>>> @@ -335,7 +335,7 @@
> >>>>>       </dependency>
> >>>>>       <dependency>
> >>>>>         <groupId>org.scalacheck</groupId>
> >>>>> -        <artifactId>scalacheck_${scala.version}</artifactId>
> >>>>> +        <artifactId>scalacheck_2.9.3</artifactId>
> >>>>>         <version>1.10.0</version>
> >>>>>         <scope>test</scope>
> >>>>>       </dependency>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
> >>>>> index bb77987..e2e1d8e 100644
> >>>>> --- a/repl-bin/pom.xml
> >>>>> +++ b/repl-bin/pom.xml
> >>>>> @@ -26,7 +26,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
> >>>>>   <packaging>pom</packaging>
> >>>>>   <name>Spark Project REPL binary packaging</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> @@ -40,18 +40,18 @@
> >>>>>   <dependencies>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-core_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>       <scope>runtime</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-repl_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>       <scope>runtime</scope>
> >>>>>     </dependency>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/repl/pom.xml b/repl/pom.xml
> >>>>> index 07d3d67..d2c71f6 100644
> >>>>> --- a/repl/pom.xml
> >>>>> +++ b/repl/pom.xml
> >>>>> @@ -26,7 +26,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-repl_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-repl_2.9.3</artifactId>
> >>>>>   <packaging>jar</packaging>
> >>>>>   <name>Spark Project REPL</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> @@ -39,18 +39,18 @@
> >>>>>   <dependencies>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-core_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>       <scope>runtime</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>       <scope>runtime</scope>
> >>>>>     </dependency>
> >>>>> @@ -76,12 +76,12 @@
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalatest</groupId>
> >>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalatest_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalacheck</groupId>
> >>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>   </dependencies>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/streaming/pom.xml b/streaming/pom.xml
> >>>>> index ffe0c6e..f94e7e0 100644
> >>>>> --- a/streaming/pom.xml
> >>>>> +++ b/streaming/pom.xml
> >>>>> @@ -26,7 +26,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-streaming_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-streaming_2.9.3</artifactId>
> >>>>>   <packaging>jar</packaging>
> >>>>>   <name>Spark Project Streaming</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> @@ -42,7 +42,7 @@
> >>>>>   <dependencies>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-core_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> @@ -91,12 +91,12 @@
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalatest</groupId>
> >>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalatest_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalacheck</groupId>
> >>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/tools/pom.xml b/tools/pom.xml
> >>>>> index e5080b3..40288da 100644
> >>>>> --- a/tools/pom.xml
> >>>>> +++ b/tools/pom.xml
> >>>>> @@ -25,7 +25,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-tools_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-tools_2.9.3</artifactId>
> >>>>>   <packaging>jar</packaging>
> >>>>>   <name>Spark Project Tools</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> @@ -33,17 +33,17 @@
> >>>>>   <dependencies>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-core_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>>       <groupId>org.scalatest</groupId>
> >>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
> >>>>> +      <artifactId>scalatest_2.9.3</artifactId>
> >>>>>       <scope>test</scope>
> >>>>>     </dependency>
> >>>>>   </dependencies>
> >>>>> 
> >>>>> 
> >>>>> 
> >>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
> >>>>> ----------------------------------------------------------------------
> >>>>> diff --git a/yarn/pom.xml b/yarn/pom.xml
> >>>>> index 94d3025..b1674d2 100644
> >>>>> --- a/yarn/pom.xml
> >>>>> +++ b/yarn/pom.xml
> >>>>> @@ -25,7 +25,7 @@
> >>>>>   </parent>
> >>>>> 
> >>>>>   <groupId>org.apache.spark</groupId>
> >>>>> -  <artifactId>spark-yarn_${scala.version}</artifactId>
> >>>>> +  <artifactId>spark-yarn_2.9.3</artifactId>
> >>>>>   <packaging>jar</packaging>
> >>>>>   <name>Spark Project YARN Support</name>
> >>>>>   <url>http://spark.incubator.apache.org/</url>
> >>>>> @@ -33,7 +33,7 @@
> >>>>>   <dependencies>
> >>>>>     <dependency>
> >>>>>       <groupId>org.apache.spark</groupId>
> >>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
> >>>>> +      <artifactId>spark-core_2.9.3</artifactId>
> >>>>>       <version>${project.version}</version>
> >>>>>     </dependency>
> >>>>>     <dependency>
> >>>>> 
> >>>>> 
> >>> 
> 

Re: git commit: Hard code scala version in pom files.

Posted by Gary Struthers <li...@earthlink.net>.
Maven provides 2 ways for users to customize properties in pom files. There is a Resource Filtering option which is disabled by default, when it's turned on Maven searches src/main/resources for overriding properties in .properties and xml files. There is also a Production Profile option that also overrides default properties in the pom. Typically, the pom has the developer default properties and the profile reads production deployment properties from .properties and xml files in src/main/resources.

http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-description.html

If you post the warnings, I'll look into them.

Gary Struthers


On Sep 15, 2013, at 7:19 PM, Jey Kottalam <je...@cs.berkeley.edu> wrote:

> I'm overall in favor of treating POM files as some kind of disgusting
> object code that our build process just has to generate in some way,
> instead of treating POM files as source code itself. An analogue would
> be that we don't write machine code by hand, but instead use a
> high-level language that is comparatively sane combined with a
> compiler that accounts for all the bizarre quirks and details specific
> to getting a working x86/ELF executable.
> 
> Maybe we should write our POM files in a macro language, and have a
> Makefile that configures and generates the actual POM files seen by
> Maven? This would allow us to both be in full compliance with Maven's
> demands yet wrest back control of the build system.
> 
> However: for the 0.8.0 release, I support just hardcoding the scala
> version in the POM files that we ship to the Maven repositories, and
> revisiting this later. I think Patrick is right that Maven is warning
> about these issues for some legitimate reason that may only be
> encountered by downstream users, so we should proactively address the
> warnings unless we're certain they can be ignored. We could revert
> commit a1e7e519 on master as soon as the final 0.8.0 build is shipped.
> 
> -Jey
> 
> On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
>> Ah sorry, I've gotten so used to using ClearStory's poms (where we make
>> quite a lot of use of such parameterization) that I lost track of exactly
>> when Spark's maven build was changed to work in a similar way.
>> 
>> This all revolves around a basic difference of opinion as to whether the
>> thing that specifies how a project is built should be a fixed, static
>> document or is more of a program itself or a parameterized function that
>> drives the build and results in an artifact.  SBT is of the latter opinion,
>> while Maven (at least with Maven 3) is going the other way.  That means
>> that building idiomatic Scala artifacts (which expect things like
>> cross-versioning support and artifactIds that include the Scala binary
>> version that was used to create them) is somewhat at odds with the Maven
>> philosophy.  Hard-coding artifactIds, versions, and whatever else Maven now
>> requires to guarantee that a pom file be a fixed, repeatable build
>> description works okay for a single build of an artifact; and a user of
>> just that built artifact won't have to change behavior if the pom is no
>> longer parameterized.  However, users who are not just interested in using
>> pre-built artifacts but also in modifying, adding to or reusing the code do
>> have to change their behavior if parameterized Maven builds disappear (yes,
>> you have pointed out the state of affairs with the 0.6 and 0.7 releases;
>> I'll point out that some of those making further use of the code have been
>> using the current, not-yet-released poms for a good while.)
>> 
>> Without some form of parameterized Maven builds, developers who now rely
>> upon such parameterized builds will have to choose to fork the Apache poms
>> and maintain their own parameterized build, or to repeatedly and manually
>> edit static Apache pom files in order to change artifactIds and dependency
>> versions (which is a frequent need when integrating Spark into a much
>> larger and more complicated technology stack), or to switch over to using
>> SBT in order to get parameterized builds (which, of course, would
>> necessitate a lot of other changes, not all of them welcome.)  Archetypes
>> or something similar seems like a way to satisfy Maven's new requirement
>> for static build configurations while at the same time providing a
>> parameterized way to generate that configuration or a modified version of
>> it -- solving the problem by adding a layer of abstraction.
>> 
>> 
>> On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com> wrote:
>> 
>>> Hey Mark,
>>> 
>>> Could you describe a user whose behavior is changed by this, and how
>>> it is changed? This commit actually brings 0.8 in line with the 0.7
>>> and 0.6 branches, where the scala version is hard coded in the
>>> released artifacts:
>>> 
>>> 
>>> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
>>> 
>>> That seems to me to minimize the changes in user behavior as much as
>>> possible. It would be bad if during the 0.8 release the format of our
>>> released artifacts changed in a way that caused things to break for
>>> users. One example of something that could break is an IDE or some
>>> other tool that consumes these builds downstream and isn't aware of
>>> scala versioning.
>>> 
>>> We can have a more intricate solution on the master branch if you'd
>>> like. This is just a fix to bring the 0.8 branch into line with our
>>> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
>>> I'm still not sure how this could affect any users adversely).
>>> 
>>> - Patrick
>>> 
>>> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
>>> wrote:
>>>> Whoa there, cowboy!
>>>> 
>>>> It's just a warning, and removing parameterized artifactIds (or versions)
>>>> is a significant change in functionality that necessitates changes in
>>> user
>>>> behavior.  At a minimum, this needs to be discussed before we go this
>>>> route.  If we really want to get rid of the warnings right away, then we
>>>> should try not to lose functionality and to require as little user
>>> behavior
>>>> change as possible.  The Maven Archetype
>>>> Plugin<
>>> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
>>>> 
>>>> may
>>>> be the right way to do that.
>>>> 
>>>> Do we have some set-in-stone requirement to quash all maven warnings
>>> before
>>>> release?  If not, I'd recommend leaving the parameterized pom files in
>>>> place for now and change over to something like archetypes for 0.8.1 --
>>> the
>>>> change to use archetypes is bigger than I am comfortable with making
>>>> hastily as we try to get 0.8.0 released.
>>>> 
>>>> 
>>>> 
>>>> On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
>>>> 
>>>>> Updated Branches:
>>>>>  refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
>>>>> 
>>>>> 
>>>>> Hard code scala version in pom files.
>>>>> 
>>>>> Unfortunately, having an expression inside of an artifactId causes
>>>>> warnings from Maven.
>>>>> 
>>>>> 
>>>>> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
>>>>> Commit:
>>>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
>>>>> Tree:
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
>>>>> Diff:
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
>>>>> 
>>>>> Branch: refs/heads/branch-0.8
>>>>> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
>>>>> Parents: 7f71f49
>>>>> Author: Patrick Wendell <pw...@gmail.com>
>>>>> Authored: Sun Sep 15 16:56:30 2013 -0700
>>>>> Committer: Patrick Wendell <pw...@gmail.com>
>>>>> Committed: Sun Sep 15 16:56:30 2013 -0700
>>>>> 
>>>>> ----------------------------------------------------------------------
>>>>> assembly/pom.xml  | 14 +++++++-------
>>>>> bagel/pom.xml     |  8 ++++----
>>>>> core/pom.xml      |  8 ++++----
>>>>> examples/pom.xml  | 14 +++++++-------
>>>>> mllib/pom.xml     |  8 ++++----
>>>>> pom.xml           |  6 +++---
>>>>> repl-bin/pom.xml  |  8 ++++----
>>>>> repl/pom.xml      | 12 ++++++------
>>>>> streaming/pom.xml |  8 ++++----
>>>>> tools/pom.xml     |  8 ++++----
>>>>> yarn/pom.xml      |  4 ++--
>>>>> 11 files changed, 49 insertions(+), 49 deletions(-)
>>>>> ----------------------------------------------------------------------
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/assembly/pom.xml b/assembly/pom.xml
>>>>> index 778f7b1..397f79d 100644
>>>>> --- a/assembly/pom.xml
>>>>> +++ b/assembly/pom.xml
>>>>> @@ -26,7 +26,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-assembly_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-assembly_2.9.3</artifactId>
>>>>>   <name>Spark Project Assembly</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> 
>>>>> @@ -41,27 +41,27 @@
>>>>>   <dependencies>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-mllib_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-repl_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-repl_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-streaming_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> @@ -128,7 +128,7 @@
>>>>>       <dependencies>
>>>>>         <dependency>
>>>>>           <groupId>org.apache.spark</groupId>
>>>>> -          <artifactId>spark-yarn_${scala.version}</artifactId>
>>>>> +          <artifactId>spark-yarn_2.9.3</artifactId>
>>>>>           <version>${project.version}</version>
>>>>>         </dependency>
>>>>>       </dependencies>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/bagel/pom.xml b/bagel/pom.xml
>>>>> index 1248b04..9839aa5 100644
>>>>> --- a/bagel/pom.xml
>>>>> +++ b/bagel/pom.xml
>>>>> @@ -26,7 +26,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>   <packaging>jar</packaging>
>>>>>   <name>Spark Project Bagel</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> @@ -34,7 +34,7 @@
>>>>>   <dependencies>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> @@ -43,12 +43,12 @@
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalatest</groupId>
>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalacheck</groupId>
>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>   </dependencies>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/core/pom.xml b/core/pom.xml
>>>>> index 53756e9..b20ace9 100644
>>>>> --- a/core/pom.xml
>>>>> +++ b/core/pom.xml
>>>>> @@ -26,7 +26,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-core_2.9.3</artifactId>
>>>>>   <packaging>jar</packaging>
>>>>>   <name>Spark Project Core</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> @@ -82,7 +82,7 @@
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>com.twitter</groupId>
>>>>> -      <artifactId>chill_${scala.version}</artifactId>
>>>>> +      <artifactId>chill_2.9.3</artifactId>
>>>>>       <version>0.3.1</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> @@ -161,12 +161,12 @@
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalatest</groupId>
>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalacheck</groupId>
>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/examples/pom.xml b/examples/pom.xml
>>>>> index aaa2f04..99ff67a 100644
>>>>> --- a/examples/pom.xml
>>>>> +++ b/examples/pom.xml
>>>>> @@ -26,7 +26,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-examples_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-examples_2.9.3</artifactId>
>>>>>   <packaging>jar</packaging>
>>>>>   <name>Spark Project Examples</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> @@ -34,25 +34,25 @@
>>>>>   <dependencies>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>       <scope>provided</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-streaming_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>       <scope>provided</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-mllib_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>       <scope>provided</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>       <scope>provided</scope>
>>>>>     </dependency>
>>>>> @@ -82,12 +82,12 @@
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalatest</groupId>
>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalacheck</groupId>
>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/mllib/pom.xml b/mllib/pom.xml
>>>>> index ceddb78..11c0334 100644
>>>>> --- a/mllib/pom.xml
>>>>> +++ b/mllib/pom.xml
>>>>> @@ -26,7 +26,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-mllib_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-mllib_2.9.3</artifactId>
>>>>>   <packaging>jar</packaging>
>>>>>   <name>Spark Project ML Library</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> @@ -34,7 +34,7 @@
>>>>>   <dependencies>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> @@ -48,12 +48,12 @@
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalatest</groupId>
>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalacheck</groupId>
>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/pom.xml b/pom.xml
>>>>> index eb21dd9..0bd01f5 100644
>>>>> --- a/pom.xml
>>>>> +++ b/pom.xml
>>>>> @@ -215,7 +215,7 @@
>>>>>       </dependency>
>>>>>       <dependency>
>>>>>         <groupId>com.twitter</groupId>
>>>>> -        <artifactId>chill_${scala.version}</artifactId>
>>>>> +        <artifactId>chill_2.9.3</artifactId>
>>>>>         <version>0.3.1</version>
>>>>>       </dependency>
>>>>>       <dependency>
>>>>> @@ -323,7 +323,7 @@
>>>>> 
>>>>>       <dependency>
>>>>>         <groupId>org.scalatest</groupId>
>>>>> -        <artifactId>scalatest_${scala.version}</artifactId>
>>>>> +        <artifactId>scalatest_2.9.3</artifactId>
>>>>>         <version>1.9.1</version>
>>>>>         <scope>test</scope>
>>>>>       </dependency>
>>>>> @@ -335,7 +335,7 @@
>>>>>       </dependency>
>>>>>       <dependency>
>>>>>         <groupId>org.scalacheck</groupId>
>>>>> -        <artifactId>scalacheck_${scala.version}</artifactId>
>>>>> +        <artifactId>scalacheck_2.9.3</artifactId>
>>>>>         <version>1.10.0</version>
>>>>>         <scope>test</scope>
>>>>>       </dependency>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
>>>>> index bb77987..e2e1d8e 100644
>>>>> --- a/repl-bin/pom.xml
>>>>> +++ b/repl-bin/pom.xml
>>>>> @@ -26,7 +26,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
>>>>>   <packaging>pom</packaging>
>>>>>   <name>Spark Project REPL binary packaging</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> @@ -40,18 +40,18 @@
>>>>>   <dependencies>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>       <scope>runtime</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-repl_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-repl_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>       <scope>runtime</scope>
>>>>>     </dependency>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/repl/pom.xml b/repl/pom.xml
>>>>> index 07d3d67..d2c71f6 100644
>>>>> --- a/repl/pom.xml
>>>>> +++ b/repl/pom.xml
>>>>> @@ -26,7 +26,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-repl_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-repl_2.9.3</artifactId>
>>>>>   <packaging>jar</packaging>
>>>>>   <name>Spark Project REPL</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> @@ -39,18 +39,18 @@
>>>>>   <dependencies>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>       <scope>runtime</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-mllib_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>       <scope>runtime</scope>
>>>>>     </dependency>
>>>>> @@ -76,12 +76,12 @@
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalatest</groupId>
>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalacheck</groupId>
>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>   </dependencies>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/streaming/pom.xml b/streaming/pom.xml
>>>>> index ffe0c6e..f94e7e0 100644
>>>>> --- a/streaming/pom.xml
>>>>> +++ b/streaming/pom.xml
>>>>> @@ -26,7 +26,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-streaming_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-streaming_2.9.3</artifactId>
>>>>>   <packaging>jar</packaging>
>>>>>   <name>Spark Project Streaming</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> @@ -42,7 +42,7 @@
>>>>>   <dependencies>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> @@ -91,12 +91,12 @@
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalatest</groupId>
>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalacheck</groupId>
>>>>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>>>>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/tools/pom.xml b/tools/pom.xml
>>>>> index e5080b3..40288da 100644
>>>>> --- a/tools/pom.xml
>>>>> +++ b/tools/pom.xml
>>>>> @@ -25,7 +25,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-tools_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-tools_2.9.3</artifactId>
>>>>>   <packaging>jar</packaging>
>>>>>   <name>Spark Project Tools</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> @@ -33,17 +33,17 @@
>>>>>   <dependencies>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-streaming_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>>       <groupId>org.scalatest</groupId>
>>>>> -      <artifactId>scalatest_${scala.version}</artifactId>
>>>>> +      <artifactId>scalatest_2.9.3</artifactId>
>>>>>       <scope>test</scope>
>>>>>     </dependency>
>>>>>   </dependencies>
>>>>> 
>>>>> 
>>>>> 
>>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
>>>>> ----------------------------------------------------------------------
>>>>> diff --git a/yarn/pom.xml b/yarn/pom.xml
>>>>> index 94d3025..b1674d2 100644
>>>>> --- a/yarn/pom.xml
>>>>> +++ b/yarn/pom.xml
>>>>> @@ -25,7 +25,7 @@
>>>>>   </parent>
>>>>> 
>>>>>   <groupId>org.apache.spark</groupId>
>>>>> -  <artifactId>spark-yarn_${scala.version}</artifactId>
>>>>> +  <artifactId>spark-yarn_2.9.3</artifactId>
>>>>>   <packaging>jar</packaging>
>>>>>   <name>Spark Project YARN Support</name>
>>>>>   <url>http://spark.incubator.apache.org/</url>
>>>>> @@ -33,7 +33,7 @@
>>>>>   <dependencies>
>>>>>     <dependency>
>>>>>       <groupId>org.apache.spark</groupId>
>>>>> -      <artifactId>spark-core_${scala.version}</artifactId>
>>>>> +      <artifactId>spark-core_2.9.3</artifactId>
>>>>>       <version>${project.version}</version>
>>>>>     </dependency>
>>>>>     <dependency>
>>>>> 
>>>>> 
>>> 


Re: git commit: Hard code scala version in pom files.

Posted by Henry Saputra <he...@gmail.com>.
Agree with this. POM file reflects the state of the project at a
particular moment so it is metadata of the project but should be
treated as part of source code.


- Henry

On Sun, Sep 15, 2013 at 9:30 PM, Konstantin Boudnik <co...@apache.org> wrote:
> Guys,
>
> actually, POM files are artifacts metadata. Hence, IMO it should be treated as
> a part of the source code. Simply because POM file should be a reflection on
> what is going into the source code at the moment.
>
> Makefiles are fun ;), but it would be an interesting experiment to say the
> least.
>
> Cos
>
> On Sun, Sep 15, 2013 at 07:19PM, Jey Kottalam wrote:
>> I'm overall in favor of treating POM files as some kind of disgusting
>> object code that our build process just has to generate in some way,
>> instead of treating POM files as source code itself. An analogue would
>> be that we don't write machine code by hand, but instead use a
>> high-level language that is comparatively sane combined with a
>> compiler that accounts for all the bizarre quirks and details specific
>> to getting a working x86/ELF executable.
>>
>> Maybe we should write our POM files in a macro language, and have a
>> Makefile that configures and generates the actual POM files seen by
>> Maven? This would allow us to both be in full compliance with Maven's
>> demands yet wrest back control of the build system.
>>
>> However: for the 0.8.0 release, I support just hardcoding the scala
>> version in the POM files that we ship to the Maven repositories, and
>> revisiting this later. I think Patrick is right that Maven is warning
>> about these issues for some legitimate reason that may only be
>> encountered by downstream users, so we should proactively address the
>> warnings unless we're certain they can be ignored. We could revert
>> commit a1e7e519 on master as soon as the final 0.8.0 build is shipped.
>>
>> -Jey
>>
>> On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
>> > Ah sorry, I've gotten so used to using ClearStory's poms (where we make
>> > quite a lot of use of such parameterization) that I lost track of exactly
>> > when Spark's maven build was changed to work in a similar way.
>> >
>> > This all revolves around a basic difference of opinion as to whether the
>> > thing that specifies how a project is built should be a fixed, static
>> > document or is more of a program itself or a parameterized function that
>> > drives the build and results in an artifact.  SBT is of the latter opinion,
>> > while Maven (at least with Maven 3) is going the other way.  That means
>> > that building idiomatic Scala artifacts (which expect things like
>> > cross-versioning support and artifactIds that include the Scala binary
>> > version that was used to create them) is somewhat at odds with the Maven
>> > philosophy.  Hard-coding artifactIds, versions, and whatever else Maven now
>> > requires to guarantee that a pom file be a fixed, repeatable build
>> > description works okay for a single build of an artifact; and a user of
>> > just that built artifact won't have to change behavior if the pom is no
>> > longer parameterized.  However, users who are not just interested in using
>> > pre-built artifacts but also in modifying, adding to or reusing the code do
>> > have to change their behavior if parameterized Maven builds disappear (yes,
>> > you have pointed out the state of affairs with the 0.6 and 0.7 releases;
>> > I'll point out that some of those making further use of the code have been
>> > using the current, not-yet-released poms for a good while.)
>> >
>> > Without some form of parameterized Maven builds, developers who now rely
>> > upon such parameterized builds will have to choose to fork the Apache poms
>> > and maintain their own parameterized build, or to repeatedly and manually
>> > edit static Apache pom files in order to change artifactIds and dependency
>> > versions (which is a frequent need when integrating Spark into a much
>> > larger and more complicated technology stack), or to switch over to using
>> > SBT in order to get parameterized builds (which, of course, would
>> > necessitate a lot of other changes, not all of them welcome.)  Archetypes
>> > or something similar seems like a way to satisfy Maven's new requirement
>> > for static build configurations while at the same time providing a
>> > parameterized way to generate that configuration or a modified version of
>> > it -- solving the problem by adding a layer of abstraction.
>> >
>> >
>> > On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com> wrote:
>> >
>> >> Hey Mark,
>> >>
>> >> Could you describe a user whose behavior is changed by this, and how
>> >> it is changed? This commit actually brings 0.8 in line with the 0.7
>> >> and 0.6 branches, where the scala version is hard coded in the
>> >> released artifacts:
>> >>
>> >>
>> >> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
>> >>
>> >> That seems to me to minimize the changes in user behavior as much as
>> >> possible. It would be bad if during the 0.8 release the format of our
>> >> released artifacts changed in a way that caused things to break for
>> >> users. One example of something that could break is an IDE or some
>> >> other tool that consumes these builds downstream and isn't aware of
>> >> scala versioning.
>> >>
>> >> We can have a more intricate solution on the master branch if you'd
>> >> like. This is just a fix to bring the 0.8 branch into line with our
>> >> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
>> >> I'm still not sure how this could affect any users adversely).
>> >>
>> >> - Patrick
>> >>
>> >> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
>> >> wrote:
>> >> > Whoa there, cowboy!
>> >> >
>> >> > It's just a warning, and removing parameterized artifactIds (or versions)
>> >> > is a significant change in functionality that necessitates changes in
>> >> user
>> >> > behavior.  At a minimum, this needs to be discussed before we go this
>> >> > route.  If we really want to get rid of the warnings right away, then we
>> >> > should try not to lose functionality and to require as little user
>> >> behavior
>> >> > change as possible.  The Maven Archetype
>> >> > Plugin<
>> >> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
>> >> >
>> >> > may
>> >> > be the right way to do that.
>> >> >
>> >> > Do we have some set-in-stone requirement to quash all maven warnings
>> >> before
>> >> > release?  If not, I'd recommend leaving the parameterized pom files in
>> >> > place for now and change over to something like archetypes for 0.8.1 --
>> >> the
>> >> > change to use archetypes is bigger than I am comfortable with making
>> >> > hastily as we try to get 0.8.0 released.
>> >> >
>> >> >
>> >> >
>> >> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
>> >> >
>> >> >> Updated Branches:
>> >> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
>> >> >>
>> >> >>
>> >> >> Hard code scala version in pom files.
>> >> >>
>> >> >> Unfortunately, having an expression inside of an artifactId causes
>> >> >> warnings from Maven.
>> >> >>
>> >> >>
>> >> >> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
>> >> >> Commit:
>> >> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
>> >> >> Tree:
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
>> >> >> Diff:
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
>> >> >>
>> >> >> Branch: refs/heads/branch-0.8
>> >> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
>> >> >> Parents: 7f71f49
>> >> >> Author: Patrick Wendell <pw...@gmail.com>
>> >> >> Authored: Sun Sep 15 16:56:30 2013 -0700
>> >> >> Committer: Patrick Wendell <pw...@gmail.com>
>> >> >> Committed: Sun Sep 15 16:56:30 2013 -0700
>> >> >>
>> >> >> ----------------------------------------------------------------------
>> >> >>  assembly/pom.xml  | 14 +++++++-------
>> >> >>  bagel/pom.xml     |  8 ++++----
>> >> >>  core/pom.xml      |  8 ++++----
>> >> >>  examples/pom.xml  | 14 +++++++-------
>> >> >>  mllib/pom.xml     |  8 ++++----
>> >> >>  pom.xml           |  6 +++---
>> >> >>  repl-bin/pom.xml  |  8 ++++----
>> >> >>  repl/pom.xml      | 12 ++++++------
>> >> >>  streaming/pom.xml |  8 ++++----
>> >> >>  tools/pom.xml     |  8 ++++----
>> >> >>  yarn/pom.xml      |  4 ++--
>> >> >>  11 files changed, 49 insertions(+), 49 deletions(-)
>> >> >> ----------------------------------------------------------------------
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
>> >> >> index 778f7b1..397f79d 100644
>> >> >> --- a/assembly/pom.xml
>> >> >> +++ b/assembly/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
>> >> >>    <name>Spark Project Assembly</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >>
>> >> >> @@ -41,27 +41,27 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -128,7 +128,7 @@
>> >> >>        <dependencies>
>> >> >>          <dependency>
>> >> >>            <groupId>org.apache.spark</groupId>
>> >> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
>> >> >>            <version>${project.version}</version>
>> >> >>          </dependency>
>> >> >>        </dependencies>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
>> >> >> index 1248b04..9839aa5 100644
>> >> >> --- a/bagel/pom.xml
>> >> >> +++ b/bagel/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Bagel</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -34,7 +34,7 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -43,12 +43,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>    </dependencies>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/core/pom.xml b/core/pom.xml
>> >> >> index 53756e9..b20ace9 100644
>> >> >> --- a/core/pom.xml
>> >> >> +++ b/core/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-core_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Core</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -82,7 +82,7 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>com.twitter</groupId>
>> >> >> -      <artifactId>chill_${scala.version}</artifactId>
>> >> >> +      <artifactId>chill_2.9.3</artifactId>
>> >> >>        <version>0.3.1</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -161,12 +161,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/examples/pom.xml b/examples/pom.xml
>> >> >> index aaa2f04..99ff67a 100644
>> >> >> --- a/examples/pom.xml
>> >> >> +++ b/examples/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-examples_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Examples</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -34,25 +34,25 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>provided</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>provided</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>provided</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>provided</scope>
>> >> >>      </dependency>
>> >> >> @@ -82,12 +82,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
>> >> >> index ceddb78..11c0334 100644
>> >> >> --- a/mllib/pom.xml
>> >> >> +++ b/mllib/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project ML Library</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -34,7 +34,7 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -48,12 +48,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/pom.xml b/pom.xml
>> >> >> index eb21dd9..0bd01f5 100644
>> >> >> --- a/pom.xml
>> >> >> +++ b/pom.xml
>> >> >> @@ -215,7 +215,7 @@
>> >> >>        </dependency>
>> >> >>        <dependency>
>> >> >>          <groupId>com.twitter</groupId>
>> >> >> -        <artifactId>chill_${scala.version}</artifactId>
>> >> >> +        <artifactId>chill_2.9.3</artifactId>
>> >> >>          <version>0.3.1</version>
>> >> >>        </dependency>
>> >> >>        <dependency>
>> >> >> @@ -323,7 +323,7 @@
>> >> >>
>> >> >>        <dependency>
>> >> >>          <groupId>org.scalatest</groupId>
>> >> >> -        <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +        <artifactId>scalatest_2.9.3</artifactId>
>> >> >>          <version>1.9.1</version>
>> >> >>          <scope>test</scope>
>> >> >>        </dependency>
>> >> >> @@ -335,7 +335,7 @@
>> >> >>        </dependency>
>> >> >>        <dependency>
>> >> >>          <groupId>org.scalacheck</groupId>
>> >> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +        <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>          <version>1.10.0</version>
>> >> >>          <scope>test</scope>
>> >> >>        </dependency>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
>> >> >> index bb77987..e2e1d8e 100644
>> >> >> --- a/repl-bin/pom.xml
>> >> >> +++ b/repl-bin/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
>> >> >>    <packaging>pom</packaging>
>> >> >>    <name>Spark Project REPL binary packaging</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -40,18 +40,18 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>runtime</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>runtime</scope>
>> >> >>      </dependency>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/repl/pom.xml b/repl/pom.xml
>> >> >> index 07d3d67..d2c71f6 100644
>> >> >> --- a/repl/pom.xml
>> >> >> +++ b/repl/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-repl_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project REPL</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -39,18 +39,18 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>runtime</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>runtime</scope>
>> >> >>      </dependency>
>> >> >> @@ -76,12 +76,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>    </dependencies>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
>> >> >> index ffe0c6e..f94e7e0 100644
>> >> >> --- a/streaming/pom.xml
>> >> >> +++ b/streaming/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Streaming</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -42,7 +42,7 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -91,12 +91,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/tools/pom.xml b/tools/pom.xml
>> >> >> index e5080b3..40288da 100644
>> >> >> --- a/tools/pom.xml
>> >> >> +++ b/tools/pom.xml
>> >> >> @@ -25,7 +25,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-tools_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Tools</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -33,17 +33,17 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>    </dependencies>
>> >> >>
>> >> >>
>> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
>> >> >> ----------------------------------------------------------------------
>> >> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
>> >> >> index 94d3025..b1674d2 100644
>> >> >> --- a/yarn/pom.xml
>> >> >> +++ b/yarn/pom.xml
>> >> >> @@ -25,7 +25,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project YARN Support</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -33,7 +33,7 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >>

Re: git commit: Hard code scala version in pom files.

Posted by Konstantin Boudnik <co...@apache.org>.
Guys, 

actually, POM files are artifacts metadata. Hence, IMO it should be treated as
a part of the source code. Simply because POM file should be a reflection on
what is going into the source code at the moment.

Makefiles are fun ;), but it would be an interesting experiment to say the
least.

Cos

On Sun, Sep 15, 2013 at 07:19PM, Jey Kottalam wrote:
> I'm overall in favor of treating POM files as some kind of disgusting
> object code that our build process just has to generate in some way,
> instead of treating POM files as source code itself. An analogue would
> be that we don't write machine code by hand, but instead use a
> high-level language that is comparatively sane combined with a
> compiler that accounts for all the bizarre quirks and details specific
> to getting a working x86/ELF executable.
> 
> Maybe we should write our POM files in a macro language, and have a
> Makefile that configures and generates the actual POM files seen by
> Maven? This would allow us to both be in full compliance with Maven's
> demands yet wrest back control of the build system.
> 
> However: for the 0.8.0 release, I support just hardcoding the scala
> version in the POM files that we ship to the Maven repositories, and
> revisiting this later. I think Patrick is right that Maven is warning
> about these issues for some legitimate reason that may only be
> encountered by downstream users, so we should proactively address the
> warnings unless we're certain they can be ignored. We could revert
> commit a1e7e519 on master as soon as the final 0.8.0 build is shipped.
> 
> -Jey
> 
> On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
> > Ah sorry, I've gotten so used to using ClearStory's poms (where we make
> > quite a lot of use of such parameterization) that I lost track of exactly
> > when Spark's maven build was changed to work in a similar way.
> >
> > This all revolves around a basic difference of opinion as to whether the
> > thing that specifies how a project is built should be a fixed, static
> > document or is more of a program itself or a parameterized function that
> > drives the build and results in an artifact.  SBT is of the latter opinion,
> > while Maven (at least with Maven 3) is going the other way.  That means
> > that building idiomatic Scala artifacts (which expect things like
> > cross-versioning support and artifactIds that include the Scala binary
> > version that was used to create them) is somewhat at odds with the Maven
> > philosophy.  Hard-coding artifactIds, versions, and whatever else Maven now
> > requires to guarantee that a pom file be a fixed, repeatable build
> > description works okay for a single build of an artifact; and a user of
> > just that built artifact won't have to change behavior if the pom is no
> > longer parameterized.  However, users who are not just interested in using
> > pre-built artifacts but also in modifying, adding to or reusing the code do
> > have to change their behavior if parameterized Maven builds disappear (yes,
> > you have pointed out the state of affairs with the 0.6 and 0.7 releases;
> > I'll point out that some of those making further use of the code have been
> > using the current, not-yet-released poms for a good while.)
> >
> > Without some form of parameterized Maven builds, developers who now rely
> > upon such parameterized builds will have to choose to fork the Apache poms
> > and maintain their own parameterized build, or to repeatedly and manually
> > edit static Apache pom files in order to change artifactIds and dependency
> > versions (which is a frequent need when integrating Spark into a much
> > larger and more complicated technology stack), or to switch over to using
> > SBT in order to get parameterized builds (which, of course, would
> > necessitate a lot of other changes, not all of them welcome.)  Archetypes
> > or something similar seems like a way to satisfy Maven's new requirement
> > for static build configurations while at the same time providing a
> > parameterized way to generate that configuration or a modified version of
> > it -- solving the problem by adding a layer of abstraction.
> >
> >
> > On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com> wrote:
> >
> >> Hey Mark,
> >>
> >> Could you describe a user whose behavior is changed by this, and how
> >> it is changed? This commit actually brings 0.8 in line with the 0.7
> >> and 0.6 branches, where the scala version is hard coded in the
> >> released artifacts:
> >>
> >>
> >> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
> >>
> >> That seems to me to minimize the changes in user behavior as much as
> >> possible. It would be bad if during the 0.8 release the format of our
> >> released artifacts changed in a way that caused things to break for
> >> users. One example of something that could break is an IDE or some
> >> other tool that consumes these builds downstream and isn't aware of
> >> scala versioning.
> >>
> >> We can have a more intricate solution on the master branch if you'd
> >> like. This is just a fix to bring the 0.8 branch into line with our
> >> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
> >> I'm still not sure how this could affect any users adversely).
> >>
> >> - Patrick
> >>
> >> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
> >> wrote:
> >> > Whoa there, cowboy!
> >> >
> >> > It's just a warning, and removing parameterized artifactIds (or versions)
> >> > is a significant change in functionality that necessitates changes in
> >> user
> >> > behavior.  At a minimum, this needs to be discussed before we go this
> >> > route.  If we really want to get rid of the warnings right away, then we
> >> > should try not to lose functionality and to require as little user
> >> behavior
> >> > change as possible.  The Maven Archetype
> >> > Plugin<
> >> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
> >> >
> >> > may
> >> > be the right way to do that.
> >> >
> >> > Do we have some set-in-stone requirement to quash all maven warnings
> >> before
> >> > release?  If not, I'd recommend leaving the parameterized pom files in
> >> > place for now and change over to something like archetypes for 0.8.1 --
> >> the
> >> > change to use archetypes is bigger than I am comfortable with making
> >> > hastily as we try to get 0.8.0 released.
> >> >
> >> >
> >> >
> >> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
> >> >
> >> >> Updated Branches:
> >> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
> >> >>
> >> >>
> >> >> Hard code scala version in pom files.
> >> >>
> >> >> Unfortunately, having an expression inside of an artifactId causes
> >> >> warnings from Maven.
> >> >>
> >> >>
> >> >> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
> >> >> Commit:
> >> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
> >> >> Tree:
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
> >> >> Diff:
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
> >> >>
> >> >> Branch: refs/heads/branch-0.8
> >> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
> >> >> Parents: 7f71f49
> >> >> Author: Patrick Wendell <pw...@gmail.com>
> >> >> Authored: Sun Sep 15 16:56:30 2013 -0700
> >> >> Committer: Patrick Wendell <pw...@gmail.com>
> >> >> Committed: Sun Sep 15 16:56:30 2013 -0700
> >> >>
> >> >> ----------------------------------------------------------------------
> >> >>  assembly/pom.xml  | 14 +++++++-------
> >> >>  bagel/pom.xml     |  8 ++++----
> >> >>  core/pom.xml      |  8 ++++----
> >> >>  examples/pom.xml  | 14 +++++++-------
> >> >>  mllib/pom.xml     |  8 ++++----
> >> >>  pom.xml           |  6 +++---
> >> >>  repl-bin/pom.xml  |  8 ++++----
> >> >>  repl/pom.xml      | 12 ++++++------
> >> >>  streaming/pom.xml |  8 ++++----
> >> >>  tools/pom.xml     |  8 ++++----
> >> >>  yarn/pom.xml      |  4 ++--
> >> >>  11 files changed, 49 insertions(+), 49 deletions(-)
> >> >> ----------------------------------------------------------------------
> >> >>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
> >> >> index 778f7b1..397f79d 100644
> >> >> --- a/assembly/pom.xml
> >> >> +++ b/assembly/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
> >> >>    <name>Spark Project Assembly</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >>
> >> >> @@ -41,27 +41,27 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -128,7 +128,7 @@
> >> >>        <dependencies>
> >> >>          <dependency>
> >> >>            <groupId>org.apache.spark</groupId>
> >> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
> >> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
> >> >>            <version>${project.version}</version>
> >> >>          </dependency>
> >> >>        </dependencies>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
> >> >> index 1248b04..9839aa5 100644
> >> >> --- a/bagel/pom.xml
> >> >> +++ b/bagel/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Bagel</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -34,7 +34,7 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -43,12 +43,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>    </dependencies>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/core/pom.xml b/core/pom.xml
> >> >> index 53756e9..b20ace9 100644
> >> >> --- a/core/pom.xml
> >> >> +++ b/core/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-core_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Core</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -82,7 +82,7 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>com.twitter</groupId>
> >> >> -      <artifactId>chill_${scala.version}</artifactId>
> >> >> +      <artifactId>chill_2.9.3</artifactId>
> >> >>        <version>0.3.1</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -161,12 +161,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/examples/pom.xml b/examples/pom.xml
> >> >> index aaa2f04..99ff67a 100644
> >> >> --- a/examples/pom.xml
> >> >> +++ b/examples/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-examples_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Examples</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -34,25 +34,25 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>provided</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>provided</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>provided</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>provided</scope>
> >> >>      </dependency>
> >> >> @@ -82,12 +82,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
> >> >> index ceddb78..11c0334 100644
> >> >> --- a/mllib/pom.xml
> >> >> +++ b/mllib/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project ML Library</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -34,7 +34,7 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -48,12 +48,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/pom.xml b/pom.xml
> >> >> index eb21dd9..0bd01f5 100644
> >> >> --- a/pom.xml
> >> >> +++ b/pom.xml
> >> >> @@ -215,7 +215,7 @@
> >> >>        </dependency>
> >> >>        <dependency>
> >> >>          <groupId>com.twitter</groupId>
> >> >> -        <artifactId>chill_${scala.version}</artifactId>
> >> >> +        <artifactId>chill_2.9.3</artifactId>
> >> >>          <version>0.3.1</version>
> >> >>        </dependency>
> >> >>        <dependency>
> >> >> @@ -323,7 +323,7 @@
> >> >>
> >> >>        <dependency>
> >> >>          <groupId>org.scalatest</groupId>
> >> >> -        <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +        <artifactId>scalatest_2.9.3</artifactId>
> >> >>          <version>1.9.1</version>
> >> >>          <scope>test</scope>
> >> >>        </dependency>
> >> >> @@ -335,7 +335,7 @@
> >> >>        </dependency>
> >> >>        <dependency>
> >> >>          <groupId>org.scalacheck</groupId>
> >> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +        <artifactId>scalacheck_2.9.3</artifactId>
> >> >>          <version>1.10.0</version>
> >> >>          <scope>test</scope>
> >> >>        </dependency>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
> >> >> index bb77987..e2e1d8e 100644
> >> >> --- a/repl-bin/pom.xml
> >> >> +++ b/repl-bin/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
> >> >>    <packaging>pom</packaging>
> >> >>    <name>Spark Project REPL binary packaging</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -40,18 +40,18 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>runtime</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>runtime</scope>
> >> >>      </dependency>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/repl/pom.xml b/repl/pom.xml
> >> >> index 07d3d67..d2c71f6 100644
> >> >> --- a/repl/pom.xml
> >> >> +++ b/repl/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-repl_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project REPL</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -39,18 +39,18 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>runtime</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>runtime</scope>
> >> >>      </dependency>
> >> >> @@ -76,12 +76,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>    </dependencies>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
> >> >> index ffe0c6e..f94e7e0 100644
> >> >> --- a/streaming/pom.xml
> >> >> +++ b/streaming/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Streaming</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -42,7 +42,7 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -91,12 +91,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/tools/pom.xml b/tools/pom.xml
> >> >> index e5080b3..40288da 100644
> >> >> --- a/tools/pom.xml
> >> >> +++ b/tools/pom.xml
> >> >> @@ -25,7 +25,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-tools_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Tools</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -33,17 +33,17 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>    </dependencies>
> >> >>
> >> >>
> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
> >> >> ----------------------------------------------------------------------
> >> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
> >> >> index 94d3025..b1674d2 100644
> >> >> --- a/yarn/pom.xml
> >> >> +++ b/yarn/pom.xml
> >> >> @@ -25,7 +25,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project YARN Support</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -33,7 +33,7 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >>

Re: git commit: Hard code scala version in pom files.

Posted by Jey Kottalam <je...@cs.berkeley.edu>.
I'm overall in favor of treating POM files as some kind of disgusting
object code that our build process just has to generate in some way,
instead of treating POM files as source code itself. An analogue would
be that we don't write machine code by hand, but instead use a
high-level language that is comparatively sane combined with a
compiler that accounts for all the bizarre quirks and details specific
to getting a working x86/ELF executable.

Maybe we should write our POM files in a macro language, and have a
Makefile that configures and generates the actual POM files seen by
Maven? This would allow us to both be in full compliance with Maven's
demands yet wrest back control of the build system.

However: for the 0.8.0 release, I support just hardcoding the scala
version in the POM files that we ship to the Maven repositories, and
revisiting this later. I think Patrick is right that Maven is warning
about these issues for some legitimate reason that may only be
encountered by downstream users, so we should proactively address the
warnings unless we're certain they can be ignored. We could revert
commit a1e7e519 on master as soon as the final 0.8.0 build is shipped.

-Jey

On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
> Ah sorry, I've gotten so used to using ClearStory's poms (where we make
> quite a lot of use of such parameterization) that I lost track of exactly
> when Spark's maven build was changed to work in a similar way.
>
> This all revolves around a basic difference of opinion as to whether the
> thing that specifies how a project is built should be a fixed, static
> document or is more of a program itself or a parameterized function that
> drives the build and results in an artifact.  SBT is of the latter opinion,
> while Maven (at least with Maven 3) is going the other way.  That means
> that building idiomatic Scala artifacts (which expect things like
> cross-versioning support and artifactIds that include the Scala binary
> version that was used to create them) is somewhat at odds with the Maven
> philosophy.  Hard-coding artifactIds, versions, and whatever else Maven now
> requires to guarantee that a pom file be a fixed, repeatable build
> description works okay for a single build of an artifact; and a user of
> just that built artifact won't have to change behavior if the pom is no
> longer parameterized.  However, users who are not just interested in using
> pre-built artifacts but also in modifying, adding to or reusing the code do
> have to change their behavior if parameterized Maven builds disappear (yes,
> you have pointed out the state of affairs with the 0.6 and 0.7 releases;
> I'll point out that some of those making further use of the code have been
> using the current, not-yet-released poms for a good while.)
>
> Without some form of parameterized Maven builds, developers who now rely
> upon such parameterized builds will have to choose to fork the Apache poms
> and maintain their own parameterized build, or to repeatedly and manually
> edit static Apache pom files in order to change artifactIds and dependency
> versions (which is a frequent need when integrating Spark into a much
> larger and more complicated technology stack), or to switch over to using
> SBT in order to get parameterized builds (which, of course, would
> necessitate a lot of other changes, not all of them welcome.)  Archetypes
> or something similar seems like a way to satisfy Maven's new requirement
> for static build configurations while at the same time providing a
> parameterized way to generate that configuration or a modified version of
> it -- solving the problem by adding a layer of abstraction.
>
>
> On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com> wrote:
>
>> Hey Mark,
>>
>> Could you describe a user whose behavior is changed by this, and how
>> it is changed? This commit actually brings 0.8 in line with the 0.7
>> and 0.6 branches, where the scala version is hard coded in the
>> released artifacts:
>>
>>
>> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
>>
>> That seems to me to minimize the changes in user behavior as much as
>> possible. It would be bad if during the 0.8 release the format of our
>> released artifacts changed in a way that caused things to break for
>> users. One example of something that could break is an IDE or some
>> other tool that consumes these builds downstream and isn't aware of
>> scala versioning.
>>
>> We can have a more intricate solution on the master branch if you'd
>> like. This is just a fix to bring the 0.8 branch into line with our
>> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
>> I'm still not sure how this could affect any users adversely).
>>
>> - Patrick
>>
>> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
>> wrote:
>> > Whoa there, cowboy!
>> >
>> > It's just a warning, and removing parameterized artifactIds (or versions)
>> > is a significant change in functionality that necessitates changes in
>> user
>> > behavior.  At a minimum, this needs to be discussed before we go this
>> > route.  If we really want to get rid of the warnings right away, then we
>> > should try not to lose functionality and to require as little user
>> behavior
>> > change as possible.  The Maven Archetype
>> > Plugin<
>> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
>> >
>> > may
>> > be the right way to do that.
>> >
>> > Do we have some set-in-stone requirement to quash all maven warnings
>> before
>> > release?  If not, I'd recommend leaving the parameterized pom files in
>> > place for now and change over to something like archetypes for 0.8.1 --
>> the
>> > change to use archetypes is bigger than I am comfortable with making
>> > hastily as we try to get 0.8.0 released.
>> >
>> >
>> >
>> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
>> >
>> >> Updated Branches:
>> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
>> >>
>> >>
>> >> Hard code scala version in pom files.
>> >>
>> >> Unfortunately, having an expression inside of an artifactId causes
>> >> warnings from Maven.
>> >>
>> >>
>> >> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
>> >> Commit:
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
>> >> Tree:
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
>> >> Diff:
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
>> >>
>> >> Branch: refs/heads/branch-0.8
>> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
>> >> Parents: 7f71f49
>> >> Author: Patrick Wendell <pw...@gmail.com>
>> >> Authored: Sun Sep 15 16:56:30 2013 -0700
>> >> Committer: Patrick Wendell <pw...@gmail.com>
>> >> Committed: Sun Sep 15 16:56:30 2013 -0700
>> >>
>> >> ----------------------------------------------------------------------
>> >>  assembly/pom.xml  | 14 +++++++-------
>> >>  bagel/pom.xml     |  8 ++++----
>> >>  core/pom.xml      |  8 ++++----
>> >>  examples/pom.xml  | 14 +++++++-------
>> >>  mllib/pom.xml     |  8 ++++----
>> >>  pom.xml           |  6 +++---
>> >>  repl-bin/pom.xml  |  8 ++++----
>> >>  repl/pom.xml      | 12 ++++++------
>> >>  streaming/pom.xml |  8 ++++----
>> >>  tools/pom.xml     |  8 ++++----
>> >>  yarn/pom.xml      |  4 ++--
>> >>  11 files changed, 49 insertions(+), 49 deletions(-)
>> >> ----------------------------------------------------------------------
>> >>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
>> >> index 778f7b1..397f79d 100644
>> >> --- a/assembly/pom.xml
>> >> +++ b/assembly/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
>> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
>> >>    <name>Spark Project Assembly</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >>
>> >> @@ -41,27 +41,27 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -128,7 +128,7 @@
>> >>        <dependencies>
>> >>          <dependency>
>> >>            <groupId>org.apache.spark</groupId>
>> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
>> >>            <version>${project.version}</version>
>> >>          </dependency>
>> >>        </dependencies>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
>> >> index 1248b04..9839aa5 100644
>> >> --- a/bagel/pom.xml
>> >> +++ b/bagel/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Bagel</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -34,7 +34,7 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -43,12 +43,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>    </dependencies>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/core/pom.xml b/core/pom.xml
>> >> index 53756e9..b20ace9 100644
>> >> --- a/core/pom.xml
>> >> +++ b/core/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-core_${scala.version}</artifactId>
>> >> +  <artifactId>spark-core_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Core</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -82,7 +82,7 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>com.twitter</groupId>
>> >> -      <artifactId>chill_${scala.version}</artifactId>
>> >> +      <artifactId>chill_2.9.3</artifactId>
>> >>        <version>0.3.1</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -161,12 +161,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/examples/pom.xml b/examples/pom.xml
>> >> index aaa2f04..99ff67a 100644
>> >> --- a/examples/pom.xml
>> >> +++ b/examples/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
>> >> +  <artifactId>spark-examples_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Examples</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -34,25 +34,25 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>provided</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>provided</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>provided</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>provided</scope>
>> >>      </dependency>
>> >> @@ -82,12 +82,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
>> >> index ceddb78..11c0334 100644
>> >> --- a/mllib/pom.xml
>> >> +++ b/mllib/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project ML Library</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -34,7 +34,7 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -48,12 +48,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/pom.xml b/pom.xml
>> >> index eb21dd9..0bd01f5 100644
>> >> --- a/pom.xml
>> >> +++ b/pom.xml
>> >> @@ -215,7 +215,7 @@
>> >>        </dependency>
>> >>        <dependency>
>> >>          <groupId>com.twitter</groupId>
>> >> -        <artifactId>chill_${scala.version}</artifactId>
>> >> +        <artifactId>chill_2.9.3</artifactId>
>> >>          <version>0.3.1</version>
>> >>        </dependency>
>> >>        <dependency>
>> >> @@ -323,7 +323,7 @@
>> >>
>> >>        <dependency>
>> >>          <groupId>org.scalatest</groupId>
>> >> -        <artifactId>scalatest_${scala.version}</artifactId>
>> >> +        <artifactId>scalatest_2.9.3</artifactId>
>> >>          <version>1.9.1</version>
>> >>          <scope>test</scope>
>> >>        </dependency>
>> >> @@ -335,7 +335,7 @@
>> >>        </dependency>
>> >>        <dependency>
>> >>          <groupId>org.scalacheck</groupId>
>> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +        <artifactId>scalacheck_2.9.3</artifactId>
>> >>          <version>1.10.0</version>
>> >>          <scope>test</scope>
>> >>        </dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
>> >> index bb77987..e2e1d8e 100644
>> >> --- a/repl-bin/pom.xml
>> >> +++ b/repl-bin/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
>> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
>> >>    <packaging>pom</packaging>
>> >>    <name>Spark Project REPL binary packaging</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -40,18 +40,18 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>runtime</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>runtime</scope>
>> >>      </dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/repl/pom.xml b/repl/pom.xml
>> >> index 07d3d67..d2c71f6 100644
>> >> --- a/repl/pom.xml
>> >> +++ b/repl/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
>> >> +  <artifactId>spark-repl_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project REPL</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -39,18 +39,18 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>runtime</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>runtime</scope>
>> >>      </dependency>
>> >> @@ -76,12 +76,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>    </dependencies>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
>> >> index ffe0c6e..f94e7e0 100644
>> >> --- a/streaming/pom.xml
>> >> +++ b/streaming/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Streaming</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -42,7 +42,7 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -91,12 +91,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/tools/pom.xml b/tools/pom.xml
>> >> index e5080b3..40288da 100644
>> >> --- a/tools/pom.xml
>> >> +++ b/tools/pom.xml
>> >> @@ -25,7 +25,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
>> >> +  <artifactId>spark-tools_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Tools</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -33,17 +33,17 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>    </dependencies>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
>> >> index 94d3025..b1674d2 100644
>> >> --- a/yarn/pom.xml
>> >> +++ b/yarn/pom.xml
>> >> @@ -25,7 +25,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project YARN Support</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -33,7 +33,7 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>>

Re: git commit: Hard code scala version in pom files.

Posted by Mark Hamstra <ma...@clearstorydata.com>.
+1


On Sun, Sep 15, 2013 at 7:56 PM, Patrick Wendell <pw...@gmail.com> wrote:

> Hey Mark,
>
> OK - I will cut an RC then with the hard-coded versions. I am 100% in
> support of a better solution to this which we can discuss and add to
> the master branch. We could also port that solution to the 0.8 branch
> for the next branch 0.8 release.
>
> I do feel that for this particular release it's just less risky to
> hard code the versions. As Jey mentioned, there could be some
> unintended consequences of this downstream and I'd prefer to fully
> explore those before we change the release format.
>
> - Patrick
>
> On Sun, Sep 15, 2013 at 7:49 PM, Mark Hamstra <ma...@clearstorydata.com>
> wrote:
> > As long as its just a simple replacement of parameters, it's not too hard
> > to live with in the short term.  It's only if we let things fester and I
> > have to start dealing with more complicated divergence between our poms
> and
> > the Apache poms that things get more annoying.  If we can come up with a
> > common, satisfactory solution for the longer term, then all is good.
> >  Tomorrow, I'll try to get some sense of what CSD will be able to
> > contribute to such a solution.
> >
> >
> > On Sun, Sep 15, 2013 at 7:37 PM, Patrick Wendell <pw...@gmail.com>
> wrote:
> >
> >> So Mark does that mean you'd be OK with us hard coding the scala
> >> version in branch 0.8.0 build? It just seems like the overall simplest
> >> solution for now. Or would this cause a large problem for you guys?
> >>
> >> We can solve this on master for 0.9, I didn't touch master at all wrt
> >> the maven build.
> >>
> >> - Patrick
> >>
> >> On Sun, Sep 15, 2013 at 7:32 PM, Mark Hamstra <ma...@clearstorydata.com>
> >> wrote:
> >> > Yes, it looks like we need to do something to get 0.8.0 shipped and
> >> > something to fix the problem longer term.  I agree that those
> somethings
> >> > don't have to be the same thing, and that we can take this up again
> once
> >> > the 0.8.0 dust has settled.
> >> >
> >> > Give me a day and I'll probably have more to say about how I'd like
> >> things
> >> > to look in the future.
> >> >
> >> >
> >> >
> >> > On Sun, Sep 15, 2013 at 7:06 PM, Patrick Wendell <pw...@gmail.com>
> >> wrote:
> >> >
> >> >> Hey Mark,
> >> >>
> >> >> Thanks for providing the detailed explanation.
> >> >>
> >> >> My primary concern was just that this changes the published artifacts
> >> >> in a way that could break downstream consumers of these poms which
> may
> >> >> assume that artifact id's are immutable within a pom.xml file. For
> >> >> now, let me revert my change and test that a few important things
> >> >> still work (e.g. IDE's, etc). At a minimum I just want to make sure
> >> >> things we are advising people to do don't break under this release.
> If
> >> >> this doesn't break those things we can  move forward with the
> >> >> parameterized artifacts for 0.8.0.
> >> >>
> >> >> Just a word of caution though, there may be other downstream
> consumers
> >> >> of the pom files for whom this will cause a problem in the future. If
> >> >> someone presents a compelling reason, we'll have to think about
> >> >> whether we can keep publishing them like this, since this is not
> >> >> technically a valid maven format.
> >> >>
> >> >> - Patrick
> >> >>
> >> >> On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <
> mark@clearstorydata.com>
> >> >> wrote:
> >> >> > Ah sorry, I've gotten so used to using ClearStory's poms (where we
> >> make
> >> >> > quite a lot of use of such parameterization) that I lost track of
> >> exactly
> >> >> > when Spark's maven build was changed to work in a similar way.
> >> >> >
> >> >> > This all revolves around a basic difference of opinion as to
> whether
> >> the
> >> >> > thing that specifies how a project is built should be a fixed,
> static
> >> >> > document or is more of a program itself or a parameterized function
> >> that
> >> >> > drives the build and results in an artifact.  SBT is of the latter
> >> >> opinion,
> >> >> > while Maven (at least with Maven 3) is going the other way.  That
> >> means
> >> >> > that building idiomatic Scala artifacts (which expect things like
> >> >> > cross-versioning support and artifactIds that include the Scala
> binary
> >> >> > version that was used to create them) is somewhat at odds with the
> >> Maven
> >> >> > philosophy.  Hard-coding artifactIds, versions, and whatever else
> >> Maven
> >> >> now
> >> >> > requires to guarantee that a pom file be a fixed, repeatable build
> >> >> > description works okay for a single build of an artifact; and a
> user
> >> of
> >> >> > just that built artifact won't have to change behavior if the pom
> is
> >> no
> >> >> > longer parameterized.  However, users who are not just interested
> in
> >> >> using
> >> >> > pre-built artifacts but also in modifying, adding to or reusing the
> >> code
> >> >> do
> >> >> > have to change their behavior if parameterized Maven builds
> disappear
> >> >> (yes,
> >> >> > you have pointed out the state of affairs with the 0.6 and 0.7
> >> releases;
> >> >> > I'll point out that some of those making further use of the code
> have
> >> >> been
> >> >> > using the current, not-yet-released poms for a good while.)
> >> >> >
> >> >> > Without some form of parameterized Maven builds, developers who now
> >> rely
> >> >> > upon such parameterized builds will have to choose to fork the
> Apache
> >> >> poms
> >> >> > and maintain their own parameterized build, or to repeatedly and
> >> manually
> >> >> > edit static Apache pom files in order to change artifactIds and
> >> >> dependency
> >> >> > versions (which is a frequent need when integrating Spark into a
> much
> >> >> > larger and more complicated technology stack), or to switch over to
> >> using
> >> >> > SBT in order to get parameterized builds (which, of course, would
> >> >> > necessitate a lot of other changes, not all of them welcome.)
> >>  Archetypes
> >> >> > or something similar seems like a way to satisfy Maven's new
> >> requirement
> >> >> > for static build configurations while at the same time providing a
> >> >> > parameterized way to generate that configuration or a modified
> >> version of
> >> >> > it -- solving the problem by adding a layer of abstraction.
> >> >> >
> >> >> >
> >> >> > On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <
> pwendell@gmail.com>
> >> >> wrote:
> >> >> >
> >> >> >> Hey Mark,
> >> >> >>
> >> >> >> Could you describe a user whose behavior is changed by this, and
> how
> >> >> >> it is changed? This commit actually brings 0.8 in line with the
> 0.7
> >> >> >> and 0.6 branches, where the scala version is hard coded in the
> >> >> >> released artifacts:
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
> >> >> >>
> >> >> >> That seems to me to minimize the changes in user behavior as much
> as
> >> >> >> possible. It would be bad if during the 0.8 release the format of
> our
> >> >> >> released artifacts changed in a way that caused things to break
> for
> >> >> >> users. One example of something that could break is an IDE or some
> >> >> >> other tool that consumes these builds downstream and isn't aware
> of
> >> >> >> scala versioning.
> >> >> >>
> >> >> >> We can have a more intricate solution on the master branch if
> you'd
> >> >> >> like. This is just a fix to bring the 0.8 branch into line with
> our
> >> >> >> existing releases (and since 0.8 only supports scala 2.9.3
> anyways,
> >> >> >> I'm still not sure how this could affect any users adversely).
> >> >> >>
> >> >> >> - Patrick
> >> >> >>
> >> >> >> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <
> >> mark@clearstorydata.com>
> >> >> >> wrote:
> >> >> >> > Whoa there, cowboy!
> >> >> >> >
> >> >> >> > It's just a warning, and removing parameterized artifactIds (or
> >> >> versions)
> >> >> >> > is a significant change in functionality that necessitates
> changes
> >> in
> >> >> >> user
> >> >> >> > behavior.  At a minimum, this needs to be discussed before we go
> >> this
> >> >> >> > route.  If we really want to get rid of the warnings right away,
> >> then
> >> >> we
> >> >> >> > should try not to lose functionality and to require as little
> user
> >> >> >> behavior
> >> >> >> > change as possible.  The Maven Archetype
> >> >> >> > Plugin<
> >> >> >>
> >> >>
> >>
> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
> >> >> >> >
> >> >> >> > may
> >> >> >> > be the right way to do that.
> >> >> >> >
> >> >> >> > Do we have some set-in-stone requirement to quash all maven
> >> warnings
> >> >> >> before
> >> >> >> > release?  If not, I'd recommend leaving the parameterized pom
> >> files in
> >> >> >> > place for now and change over to something like archetypes for
> >> 0.8.1
> >> >> --
> >> >> >> the
> >> >> >> > change to use archetypes is bigger than I am comfortable with
> >> making
> >> >> >> > hastily as we try to get 0.8.0 released.
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
> >> >> >> >
> >> >> >> >> Updated Branches:
> >> >> >> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> Hard code scala version in pom files.
> >> >> >> >>
> >> >> >> >> Unfortunately, having an expression inside of an artifactId
> causes
> >> >> >> >> warnings from Maven.
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> Project:
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
> >> >> >> >> Commit:
> >> >> >> >>
> >> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
> >> >> >> >> Tree:
> >> >> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
> >> >> >> >> Diff:
> >> >> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
> >> >> >> >>
> >> >> >> >> Branch: refs/heads/branch-0.8
> >> >> >> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
> >> >> >> >> Parents: 7f71f49
> >> >> >> >> Author: Patrick Wendell <pw...@gmail.com>
> >> >> >> >> Authored: Sun Sep 15 16:56:30 2013 -0700
> >> >> >> >> Committer: Patrick Wendell <pw...@gmail.com>
> >> >> >> >> Committed: Sun Sep 15 16:56:30 2013 -0700
> >> >> >> >>
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >>  assembly/pom.xml  | 14 +++++++-------
> >> >> >> >>  bagel/pom.xml     |  8 ++++----
> >> >> >> >>  core/pom.xml      |  8 ++++----
> >> >> >> >>  examples/pom.xml  | 14 +++++++-------
> >> >> >> >>  mllib/pom.xml     |  8 ++++----
> >> >> >> >>  pom.xml           |  6 +++---
> >> >> >> >>  repl-bin/pom.xml  |  8 ++++----
> >> >> >> >>  repl/pom.xml      | 12 ++++++------
> >> >> >> >>  streaming/pom.xml |  8 ++++----
> >> >> >> >>  tools/pom.xml     |  8 ++++----
> >> >> >> >>  yarn/pom.xml      |  4 ++--
> >> >> >> >>  11 files changed, 49 insertions(+), 49 deletions(-)
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
> >> >> >> >> index 778f7b1..397f79d 100644
> >> >> >> >> --- a/assembly/pom.xml
> >> >> >> >> +++ b/assembly/pom.xml
> >> >> >> >> @@ -26,7 +26,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
> >> >> >> >>    <name>Spark Project Assembly</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >>
> >> >> >> >> @@ -41,27 +41,27 @@
> >> >> >> >>    <dependencies>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -
>  <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >> @@ -128,7 +128,7 @@
> >> >> >> >>        <dependencies>
> >> >> >> >>          <dependency>
> >> >> >> >>            <groupId>org.apache.spark</groupId>
> >> >> >> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
> >> >> >> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
> >> >> >> >>            <version>${project.version}</version>
> >> >> >> >>          </dependency>
> >> >> >> >>        </dependencies>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
> >> >> >> >> index 1248b04..9839aa5 100644
> >> >> >> >> --- a/bagel/pom.xml
> >> >> >> >> +++ b/bagel/pom.xml
> >> >> >> >> @@ -26,7 +26,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >> >>    <packaging>jar</packaging>
> >> >> >> >>    <name>Spark Project Bagel</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >> @@ -34,7 +34,7 @@
> >> >> >> >>    <dependencies>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >> @@ -43,12 +43,12 @@
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>    </dependencies>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/core/pom.xml b/core/pom.xml
> >> >> >> >> index 53756e9..b20ace9 100644
> >> >> >> >> --- a/core/pom.xml
> >> >> >> >> +++ b/core/pom.xml
> >> >> >> >> @@ -26,7 +26,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>    <packaging>jar</packaging>
> >> >> >> >>    <name>Spark Project Core</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >> @@ -82,7 +82,7 @@
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>com.twitter</groupId>
> >> >> >> >> -      <artifactId>chill_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>chill_2.9.3</artifactId>
> >> >> >> >>        <version>0.3.1</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >> @@ -161,12 +161,12 @@
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/examples/pom.xml b/examples/pom.xml
> >> >> >> >> index aaa2f04..99ff67a 100644
> >> >> >> >> --- a/examples/pom.xml
> >> >> >> >> +++ b/examples/pom.xml
> >> >> >> >> @@ -26,7 +26,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-examples_2.9.3</artifactId>
> >> >> >> >>    <packaging>jar</packaging>
> >> >> >> >>    <name>Spark Project Examples</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >> @@ -34,25 +34,25 @@
> >> >> >> >>    <dependencies>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>        <scope>provided</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -
>  <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>        <scope>provided</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>        <scope>provided</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>        <scope>provided</scope>
> >> >> >> >>      </dependency>
> >> >> >> >> @@ -82,12 +82,12 @@
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
> >> >> >> >> index ceddb78..11c0334 100644
> >> >> >> >> --- a/mllib/pom.xml
> >> >> >> >> +++ b/mllib/pom.xml
> >> >> >> >> @@ -26,7 +26,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
> >> >> >> >>    <packaging>jar</packaging>
> >> >> >> >>    <name>Spark Project ML Library</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >> @@ -34,7 +34,7 @@
> >> >> >> >>    <dependencies>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >> @@ -48,12 +48,12 @@
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/pom.xml b/pom.xml
> >> >> >> >> index eb21dd9..0bd01f5 100644
> >> >> >> >> --- a/pom.xml
> >> >> >> >> +++ b/pom.xml
> >> >> >> >> @@ -215,7 +215,7 @@
> >> >> >> >>        </dependency>
> >> >> >> >>        <dependency>
> >> >> >> >>          <groupId>com.twitter</groupId>
> >> >> >> >> -        <artifactId>chill_${scala.version}</artifactId>
> >> >> >> >> +        <artifactId>chill_2.9.3</artifactId>
> >> >> >> >>          <version>0.3.1</version>
> >> >> >> >>        </dependency>
> >> >> >> >>        <dependency>
> >> >> >> >> @@ -323,7 +323,7 @@
> >> >> >> >>
> >> >> >> >>        <dependency>
> >> >> >> >>          <groupId>org.scalatest</groupId>
> >> >> >> >> -        <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> >> +        <artifactId>scalatest_2.9.3</artifactId>
> >> >> >> >>          <version>1.9.1</version>
> >> >> >> >>          <scope>test</scope>
> >> >> >> >>        </dependency>
> >> >> >> >> @@ -335,7 +335,7 @@
> >> >> >> >>        </dependency>
> >> >> >> >>        <dependency>
> >> >> >> >>          <groupId>org.scalacheck</groupId>
> >> >> >> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> >> +        <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >> >>          <version>1.10.0</version>
> >> >> >> >>          <scope>test</scope>
> >> >> >> >>        </dependency>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
> >> >> >> >> index bb77987..e2e1d8e 100644
> >> >> >> >> --- a/repl-bin/pom.xml
> >> >> >> >> +++ b/repl-bin/pom.xml
> >> >> >> >> @@ -26,7 +26,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
> >> >> >> >>    <packaging>pom</packaging>
> >> >> >> >>    <name>Spark Project REPL binary packaging</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >> @@ -40,18 +40,18 @@
> >> >> >> >>    <dependencies>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>        <scope>runtime</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>        <scope>runtime</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/repl/pom.xml b/repl/pom.xml
> >> >> >> >> index 07d3d67..d2c71f6 100644
> >> >> >> >> --- a/repl/pom.xml
> >> >> >> >> +++ b/repl/pom.xml
> >> >> >> >> @@ -26,7 +26,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-repl_2.9.3</artifactId>
> >> >> >> >>    <packaging>jar</packaging>
> >> >> >> >>    <name>Spark Project REPL</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >> @@ -39,18 +39,18 @@
> >> >> >> >>    <dependencies>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>        <scope>runtime</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>        <scope>runtime</scope>
> >> >> >> >>      </dependency>
> >> >> >> >> @@ -76,12 +76,12 @@
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>    </dependencies>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
> >> >> >> >> index ffe0c6e..f94e7e0 100644
> >> >> >> >> --- a/streaming/pom.xml
> >> >> >> >> +++ b/streaming/pom.xml
> >> >> >> >> @@ -26,7 +26,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
> >> >> >> >>    <packaging>jar</packaging>
> >> >> >> >>    <name>Spark Project Streaming</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >> @@ -42,7 +42,7 @@
> >> >> >> >>    <dependencies>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >> @@ -91,12 +91,12 @@
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/tools/pom.xml b/tools/pom.xml
> >> >> >> >> index e5080b3..40288da 100644
> >> >> >> >> --- a/tools/pom.xml
> >> >> >> >> +++ b/tools/pom.xml
> >> >> >> >> @@ -25,7 +25,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-tools_2.9.3</artifactId>
> >> >> >> >>    <packaging>jar</packaging>
> >> >> >> >>    <name>Spark Project Tools</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >> @@ -33,17 +33,17 @@
> >> >> >> >>    <dependencies>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -
>  <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >> >>        <scope>test</scope>
> >> >> >> >>      </dependency>
> >> >> >> >>    </dependencies>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
> >> >> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >> >> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
> >> >> >> >> index 94d3025..b1674d2 100644
> >> >> >> >> --- a/yarn/pom.xml
> >> >> >> >> +++ b/yarn/pom.xml
> >> >> >> >> @@ -25,7 +25,7 @@
> >> >> >> >>    </parent>
> >> >> >> >>
> >> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
> >> >> >> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
> >> >> >> >>    <packaging>jar</packaging>
> >> >> >> >>    <name>Spark Project YARN Support</name>
> >> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> >> @@ -33,7 +33,7 @@
> >> >> >> >>    <dependencies>
> >> >> >> >>      <dependency>
> >> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >> >>        <version>${project.version}</version>
> >> >> >> >>      </dependency>
> >> >> >> >>      <dependency>
> >> >> >> >>
> >> >> >> >>
> >> >> >>
> >> >>
> >>
>

Re: git commit: Hard code scala version in pom files.

Posted by Patrick Wendell <pw...@gmail.com>.
Hey Mark,

OK - I will cut an RC then with the hard-coded versions. I am 100% in
support of a better solution to this which we can discuss and add to
the master branch. We could also port that solution to the 0.8 branch
for the next branch 0.8 release.

I do feel that for this particular release it's just less risky to
hard code the versions. As Jey mentioned, there could be some
unintended consequences of this downstream and I'd prefer to fully
explore those before we change the release format.

- Patrick

On Sun, Sep 15, 2013 at 7:49 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
> As long as its just a simple replacement of parameters, it's not too hard
> to live with in the short term.  It's only if we let things fester and I
> have to start dealing with more complicated divergence between our poms and
> the Apache poms that things get more annoying.  If we can come up with a
> common, satisfactory solution for the longer term, then all is good.
>  Tomorrow, I'll try to get some sense of what CSD will be able to
> contribute to such a solution.
>
>
> On Sun, Sep 15, 2013 at 7:37 PM, Patrick Wendell <pw...@gmail.com> wrote:
>
>> So Mark does that mean you'd be OK with us hard coding the scala
>> version in branch 0.8.0 build? It just seems like the overall simplest
>> solution for now. Or would this cause a large problem for you guys?
>>
>> We can solve this on master for 0.9, I didn't touch master at all wrt
>> the maven build.
>>
>> - Patrick
>>
>> On Sun, Sep 15, 2013 at 7:32 PM, Mark Hamstra <ma...@clearstorydata.com>
>> wrote:
>> > Yes, it looks like we need to do something to get 0.8.0 shipped and
>> > something to fix the problem longer term.  I agree that those somethings
>> > don't have to be the same thing, and that we can take this up again once
>> > the 0.8.0 dust has settled.
>> >
>> > Give me a day and I'll probably have more to say about how I'd like
>> things
>> > to look in the future.
>> >
>> >
>> >
>> > On Sun, Sep 15, 2013 at 7:06 PM, Patrick Wendell <pw...@gmail.com>
>> wrote:
>> >
>> >> Hey Mark,
>> >>
>> >> Thanks for providing the detailed explanation.
>> >>
>> >> My primary concern was just that this changes the published artifacts
>> >> in a way that could break downstream consumers of these poms which may
>> >> assume that artifact id's are immutable within a pom.xml file. For
>> >> now, let me revert my change and test that a few important things
>> >> still work (e.g. IDE's, etc). At a minimum I just want to make sure
>> >> things we are advising people to do don't break under this release. If
>> >> this doesn't break those things we can  move forward with the
>> >> parameterized artifacts for 0.8.0.
>> >>
>> >> Just a word of caution though, there may be other downstream consumers
>> >> of the pom files for whom this will cause a problem in the future. If
>> >> someone presents a compelling reason, we'll have to think about
>> >> whether we can keep publishing them like this, since this is not
>> >> technically a valid maven format.
>> >>
>> >> - Patrick
>> >>
>> >> On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com>
>> >> wrote:
>> >> > Ah sorry, I've gotten so used to using ClearStory's poms (where we
>> make
>> >> > quite a lot of use of such parameterization) that I lost track of
>> exactly
>> >> > when Spark's maven build was changed to work in a similar way.
>> >> >
>> >> > This all revolves around a basic difference of opinion as to whether
>> the
>> >> > thing that specifies how a project is built should be a fixed, static
>> >> > document or is more of a program itself or a parameterized function
>> that
>> >> > drives the build and results in an artifact.  SBT is of the latter
>> >> opinion,
>> >> > while Maven (at least with Maven 3) is going the other way.  That
>> means
>> >> > that building idiomatic Scala artifacts (which expect things like
>> >> > cross-versioning support and artifactIds that include the Scala binary
>> >> > version that was used to create them) is somewhat at odds with the
>> Maven
>> >> > philosophy.  Hard-coding artifactIds, versions, and whatever else
>> Maven
>> >> now
>> >> > requires to guarantee that a pom file be a fixed, repeatable build
>> >> > description works okay for a single build of an artifact; and a user
>> of
>> >> > just that built artifact won't have to change behavior if the pom is
>> no
>> >> > longer parameterized.  However, users who are not just interested in
>> >> using
>> >> > pre-built artifacts but also in modifying, adding to or reusing the
>> code
>> >> do
>> >> > have to change their behavior if parameterized Maven builds disappear
>> >> (yes,
>> >> > you have pointed out the state of affairs with the 0.6 and 0.7
>> releases;
>> >> > I'll point out that some of those making further use of the code have
>> >> been
>> >> > using the current, not-yet-released poms for a good while.)
>> >> >
>> >> > Without some form of parameterized Maven builds, developers who now
>> rely
>> >> > upon such parameterized builds will have to choose to fork the Apache
>> >> poms
>> >> > and maintain their own parameterized build, or to repeatedly and
>> manually
>> >> > edit static Apache pom files in order to change artifactIds and
>> >> dependency
>> >> > versions (which is a frequent need when integrating Spark into a much
>> >> > larger and more complicated technology stack), or to switch over to
>> using
>> >> > SBT in order to get parameterized builds (which, of course, would
>> >> > necessitate a lot of other changes, not all of them welcome.)
>>  Archetypes
>> >> > or something similar seems like a way to satisfy Maven's new
>> requirement
>> >> > for static build configurations while at the same time providing a
>> >> > parameterized way to generate that configuration or a modified
>> version of
>> >> > it -- solving the problem by adding a layer of abstraction.
>> >> >
>> >> >
>> >> > On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com>
>> >> wrote:
>> >> >
>> >> >> Hey Mark,
>> >> >>
>> >> >> Could you describe a user whose behavior is changed by this, and how
>> >> >> it is changed? This commit actually brings 0.8 in line with the 0.7
>> >> >> and 0.6 branches, where the scala version is hard coded in the
>> >> >> released artifacts:
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
>> >> >>
>> >> >> That seems to me to minimize the changes in user behavior as much as
>> >> >> possible. It would be bad if during the 0.8 release the format of our
>> >> >> released artifacts changed in a way that caused things to break for
>> >> >> users. One example of something that could break is an IDE or some
>> >> >> other tool that consumes these builds downstream and isn't aware of
>> >> >> scala versioning.
>> >> >>
>> >> >> We can have a more intricate solution on the master branch if you'd
>> >> >> like. This is just a fix to bring the 0.8 branch into line with our
>> >> >> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
>> >> >> I'm still not sure how this could affect any users adversely).
>> >> >>
>> >> >> - Patrick
>> >> >>
>> >> >> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <
>> mark@clearstorydata.com>
>> >> >> wrote:
>> >> >> > Whoa there, cowboy!
>> >> >> >
>> >> >> > It's just a warning, and removing parameterized artifactIds (or
>> >> versions)
>> >> >> > is a significant change in functionality that necessitates changes
>> in
>> >> >> user
>> >> >> > behavior.  At a minimum, this needs to be discussed before we go
>> this
>> >> >> > route.  If we really want to get rid of the warnings right away,
>> then
>> >> we
>> >> >> > should try not to lose functionality and to require as little user
>> >> >> behavior
>> >> >> > change as possible.  The Maven Archetype
>> >> >> > Plugin<
>> >> >>
>> >>
>> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
>> >> >> >
>> >> >> > may
>> >> >> > be the right way to do that.
>> >> >> >
>> >> >> > Do we have some set-in-stone requirement to quash all maven
>> warnings
>> >> >> before
>> >> >> > release?  If not, I'd recommend leaving the parameterized pom
>> files in
>> >> >> > place for now and change over to something like archetypes for
>> 0.8.1
>> >> --
>> >> >> the
>> >> >> > change to use archetypes is bigger than I am comfortable with
>> making
>> >> >> > hastily as we try to get 0.8.0 released.
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
>> >> >> >
>> >> >> >> Updated Branches:
>> >> >> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
>> >> >> >>
>> >> >> >>
>> >> >> >> Hard code scala version in pom files.
>> >> >> >>
>> >> >> >> Unfortunately, having an expression inside of an artifactId causes
>> >> >> >> warnings from Maven.
>> >> >> >>
>> >> >> >>
>> >> >> >> Project:
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
>> >> >> >> Commit:
>> >> >> >>
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
>> >> >> >> Tree:
>> >> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
>> >> >> >> Diff:
>> >> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
>> >> >> >>
>> >> >> >> Branch: refs/heads/branch-0.8
>> >> >> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
>> >> >> >> Parents: 7f71f49
>> >> >> >> Author: Patrick Wendell <pw...@gmail.com>
>> >> >> >> Authored: Sun Sep 15 16:56:30 2013 -0700
>> >> >> >> Committer: Patrick Wendell <pw...@gmail.com>
>> >> >> >> Committed: Sun Sep 15 16:56:30 2013 -0700
>> >> >> >>
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >>  assembly/pom.xml  | 14 +++++++-------
>> >> >> >>  bagel/pom.xml     |  8 ++++----
>> >> >> >>  core/pom.xml      |  8 ++++----
>> >> >> >>  examples/pom.xml  | 14 +++++++-------
>> >> >> >>  mllib/pom.xml     |  8 ++++----
>> >> >> >>  pom.xml           |  6 +++---
>> >> >> >>  repl-bin/pom.xml  |  8 ++++----
>> >> >> >>  repl/pom.xml      | 12 ++++++------
>> >> >> >>  streaming/pom.xml |  8 ++++----
>> >> >> >>  tools/pom.xml     |  8 ++++----
>> >> >> >>  yarn/pom.xml      |  4 ++--
>> >> >> >>  11 files changed, 49 insertions(+), 49 deletions(-)
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
>> >> >> >> index 778f7b1..397f79d 100644
>> >> >> >> --- a/assembly/pom.xml
>> >> >> >> +++ b/assembly/pom.xml
>> >> >> >> @@ -26,7 +26,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
>> >> >> >>    <name>Spark Project Assembly</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >>
>> >> >> >> @@ -41,27 +41,27 @@
>> >> >> >>    <dependencies>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >> @@ -128,7 +128,7 @@
>> >> >> >>        <dependencies>
>> >> >> >>          <dependency>
>> >> >> >>            <groupId>org.apache.spark</groupId>
>> >> >> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> >> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
>> >> >> >>            <version>${project.version}</version>
>> >> >> >>          </dependency>
>> >> >> >>        </dependencies>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
>> >> >> >> index 1248b04..9839aa5 100644
>> >> >> >> --- a/bagel/pom.xml
>> >> >> >> +++ b/bagel/pom.xml
>> >> >> >> @@ -26,7 +26,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >> >>    <packaging>jar</packaging>
>> >> >> >>    <name>Spark Project Bagel</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >> @@ -34,7 +34,7 @@
>> >> >> >>    <dependencies>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >> @@ -43,12 +43,12 @@
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalatest</groupId>
>> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>    </dependencies>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/core/pom.xml b/core/pom.xml
>> >> >> >> index 53756e9..b20ace9 100644
>> >> >> >> --- a/core/pom.xml
>> >> >> >> +++ b/core/pom.xml
>> >> >> >> @@ -26,7 +26,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>    <packaging>jar</packaging>
>> >> >> >>    <name>Spark Project Core</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >> @@ -82,7 +82,7 @@
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>com.twitter</groupId>
>> >> >> >> -      <artifactId>chill_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>chill_2.9.3</artifactId>
>> >> >> >>        <version>0.3.1</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >> @@ -161,12 +161,12 @@
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalatest</groupId>
>> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/examples/pom.xml b/examples/pom.xml
>> >> >> >> index aaa2f04..99ff67a 100644
>> >> >> >> --- a/examples/pom.xml
>> >> >> >> +++ b/examples/pom.xml
>> >> >> >> @@ -26,7 +26,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-examples_2.9.3</artifactId>
>> >> >> >>    <packaging>jar</packaging>
>> >> >> >>    <name>Spark Project Examples</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >> @@ -34,25 +34,25 @@
>> >> >> >>    <dependencies>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>        <scope>provided</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>        <scope>provided</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>        <scope>provided</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>        <scope>provided</scope>
>> >> >> >>      </dependency>
>> >> >> >> @@ -82,12 +82,12 @@
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalatest</groupId>
>> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
>> >> >> >> index ceddb78..11c0334 100644
>> >> >> >> --- a/mllib/pom.xml
>> >> >> >> +++ b/mllib/pom.xml
>> >> >> >> @@ -26,7 +26,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >> >>    <packaging>jar</packaging>
>> >> >> >>    <name>Spark Project ML Library</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >> @@ -34,7 +34,7 @@
>> >> >> >>    <dependencies>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >> @@ -48,12 +48,12 @@
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalatest</groupId>
>> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/pom.xml b/pom.xml
>> >> >> >> index eb21dd9..0bd01f5 100644
>> >> >> >> --- a/pom.xml
>> >> >> >> +++ b/pom.xml
>> >> >> >> @@ -215,7 +215,7 @@
>> >> >> >>        </dependency>
>> >> >> >>        <dependency>
>> >> >> >>          <groupId>com.twitter</groupId>
>> >> >> >> -        <artifactId>chill_${scala.version}</artifactId>
>> >> >> >> +        <artifactId>chill_2.9.3</artifactId>
>> >> >> >>          <version>0.3.1</version>
>> >> >> >>        </dependency>
>> >> >> >>        <dependency>
>> >> >> >> @@ -323,7 +323,7 @@
>> >> >> >>
>> >> >> >>        <dependency>
>> >> >> >>          <groupId>org.scalatest</groupId>
>> >> >> >> -        <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> >> +        <artifactId>scalatest_2.9.3</artifactId>
>> >> >> >>          <version>1.9.1</version>
>> >> >> >>          <scope>test</scope>
>> >> >> >>        </dependency>
>> >> >> >> @@ -335,7 +335,7 @@
>> >> >> >>        </dependency>
>> >> >> >>        <dependency>
>> >> >> >>          <groupId>org.scalacheck</groupId>
>> >> >> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> >> +        <artifactId>scalacheck_2.9.3</artifactId>
>> >> >> >>          <version>1.10.0</version>
>> >> >> >>          <scope>test</scope>
>> >> >> >>        </dependency>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
>> >> >> >> index bb77987..e2e1d8e 100644
>> >> >> >> --- a/repl-bin/pom.xml
>> >> >> >> +++ b/repl-bin/pom.xml
>> >> >> >> @@ -26,7 +26,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
>> >> >> >>    <packaging>pom</packaging>
>> >> >> >>    <name>Spark Project REPL binary packaging</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >> @@ -40,18 +40,18 @@
>> >> >> >>    <dependencies>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>        <scope>runtime</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>        <scope>runtime</scope>
>> >> >> >>      </dependency>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/repl/pom.xml b/repl/pom.xml
>> >> >> >> index 07d3d67..d2c71f6 100644
>> >> >> >> --- a/repl/pom.xml
>> >> >> >> +++ b/repl/pom.xml
>> >> >> >> @@ -26,7 +26,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-repl_2.9.3</artifactId>
>> >> >> >>    <packaging>jar</packaging>
>> >> >> >>    <name>Spark Project REPL</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >> @@ -39,18 +39,18 @@
>> >> >> >>    <dependencies>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>        <scope>runtime</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>        <scope>runtime</scope>
>> >> >> >>      </dependency>
>> >> >> >> @@ -76,12 +76,12 @@
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalatest</groupId>
>> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>    </dependencies>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
>> >> >> >> index ffe0c6e..f94e7e0 100644
>> >> >> >> --- a/streaming/pom.xml
>> >> >> >> +++ b/streaming/pom.xml
>> >> >> >> @@ -26,7 +26,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >> >>    <packaging>jar</packaging>
>> >> >> >>    <name>Spark Project Streaming</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >> @@ -42,7 +42,7 @@
>> >> >> >>    <dependencies>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >> @@ -91,12 +91,12 @@
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalatest</groupId>
>> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/tools/pom.xml b/tools/pom.xml
>> >> >> >> index e5080b3..40288da 100644
>> >> >> >> --- a/tools/pom.xml
>> >> >> >> +++ b/tools/pom.xml
>> >> >> >> @@ -25,7 +25,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-tools_2.9.3</artifactId>
>> >> >> >>    <packaging>jar</packaging>
>> >> >> >>    <name>Spark Project Tools</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >> @@ -33,17 +33,17 @@
>> >> >> >>    <dependencies>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.scalatest</groupId>
>> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >> >>        <scope>test</scope>
>> >> >> >>      </dependency>
>> >> >> >>    </dependencies>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
>> >> >> >>
>> >> ----------------------------------------------------------------------
>> >> >> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
>> >> >> >> index 94d3025..b1674d2 100644
>> >> >> >> --- a/yarn/pom.xml
>> >> >> >> +++ b/yarn/pom.xml
>> >> >> >> @@ -25,7 +25,7 @@
>> >> >> >>    </parent>
>> >> >> >>
>> >> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> >> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
>> >> >> >>    <packaging>jar</packaging>
>> >> >> >>    <name>Spark Project YARN Support</name>
>> >> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> >> @@ -33,7 +33,7 @@
>> >> >> >>    <dependencies>
>> >> >> >>      <dependency>
>> >> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >> >>        <version>${project.version}</version>
>> >> >> >>      </dependency>
>> >> >> >>      <dependency>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>>

Re: git commit: Hard code scala version in pom files.

Posted by Mark Hamstra <ma...@clearstorydata.com>.
As long as its just a simple replacement of parameters, it's not too hard
to live with in the short term.  It's only if we let things fester and I
have to start dealing with more complicated divergence between our poms and
the Apache poms that things get more annoying.  If we can come up with a
common, satisfactory solution for the longer term, then all is good.
 Tomorrow, I'll try to get some sense of what CSD will be able to
contribute to such a solution.


On Sun, Sep 15, 2013 at 7:37 PM, Patrick Wendell <pw...@gmail.com> wrote:

> So Mark does that mean you'd be OK with us hard coding the scala
> version in branch 0.8.0 build? It just seems like the overall simplest
> solution for now. Or would this cause a large problem for you guys?
>
> We can solve this on master for 0.9, I didn't touch master at all wrt
> the maven build.
>
> - Patrick
>
> On Sun, Sep 15, 2013 at 7:32 PM, Mark Hamstra <ma...@clearstorydata.com>
> wrote:
> > Yes, it looks like we need to do something to get 0.8.0 shipped and
> > something to fix the problem longer term.  I agree that those somethings
> > don't have to be the same thing, and that we can take this up again once
> > the 0.8.0 dust has settled.
> >
> > Give me a day and I'll probably have more to say about how I'd like
> things
> > to look in the future.
> >
> >
> >
> > On Sun, Sep 15, 2013 at 7:06 PM, Patrick Wendell <pw...@gmail.com>
> wrote:
> >
> >> Hey Mark,
> >>
> >> Thanks for providing the detailed explanation.
> >>
> >> My primary concern was just that this changes the published artifacts
> >> in a way that could break downstream consumers of these poms which may
> >> assume that artifact id's are immutable within a pom.xml file. For
> >> now, let me revert my change and test that a few important things
> >> still work (e.g. IDE's, etc). At a minimum I just want to make sure
> >> things we are advising people to do don't break under this release. If
> >> this doesn't break those things we can  move forward with the
> >> parameterized artifacts for 0.8.0.
> >>
> >> Just a word of caution though, there may be other downstream consumers
> >> of the pom files for whom this will cause a problem in the future. If
> >> someone presents a compelling reason, we'll have to think about
> >> whether we can keep publishing them like this, since this is not
> >> technically a valid maven format.
> >>
> >> - Patrick
> >>
> >> On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com>
> >> wrote:
> >> > Ah sorry, I've gotten so used to using ClearStory's poms (where we
> make
> >> > quite a lot of use of such parameterization) that I lost track of
> exactly
> >> > when Spark's maven build was changed to work in a similar way.
> >> >
> >> > This all revolves around a basic difference of opinion as to whether
> the
> >> > thing that specifies how a project is built should be a fixed, static
> >> > document or is more of a program itself or a parameterized function
> that
> >> > drives the build and results in an artifact.  SBT is of the latter
> >> opinion,
> >> > while Maven (at least with Maven 3) is going the other way.  That
> means
> >> > that building idiomatic Scala artifacts (which expect things like
> >> > cross-versioning support and artifactIds that include the Scala binary
> >> > version that was used to create them) is somewhat at odds with the
> Maven
> >> > philosophy.  Hard-coding artifactIds, versions, and whatever else
> Maven
> >> now
> >> > requires to guarantee that a pom file be a fixed, repeatable build
> >> > description works okay for a single build of an artifact; and a user
> of
> >> > just that built artifact won't have to change behavior if the pom is
> no
> >> > longer parameterized.  However, users who are not just interested in
> >> using
> >> > pre-built artifacts but also in modifying, adding to or reusing the
> code
> >> do
> >> > have to change their behavior if parameterized Maven builds disappear
> >> (yes,
> >> > you have pointed out the state of affairs with the 0.6 and 0.7
> releases;
> >> > I'll point out that some of those making further use of the code have
> >> been
> >> > using the current, not-yet-released poms for a good while.)
> >> >
> >> > Without some form of parameterized Maven builds, developers who now
> rely
> >> > upon such parameterized builds will have to choose to fork the Apache
> >> poms
> >> > and maintain their own parameterized build, or to repeatedly and
> manually
> >> > edit static Apache pom files in order to change artifactIds and
> >> dependency
> >> > versions (which is a frequent need when integrating Spark into a much
> >> > larger and more complicated technology stack), or to switch over to
> using
> >> > SBT in order to get parameterized builds (which, of course, would
> >> > necessitate a lot of other changes, not all of them welcome.)
>  Archetypes
> >> > or something similar seems like a way to satisfy Maven's new
> requirement
> >> > for static build configurations while at the same time providing a
> >> > parameterized way to generate that configuration or a modified
> version of
> >> > it -- solving the problem by adding a layer of abstraction.
> >> >
> >> >
> >> > On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com>
> >> wrote:
> >> >
> >> >> Hey Mark,
> >> >>
> >> >> Could you describe a user whose behavior is changed by this, and how
> >> >> it is changed? This commit actually brings 0.8 in line with the 0.7
> >> >> and 0.6 branches, where the scala version is hard coded in the
> >> >> released artifacts:
> >> >>
> >> >>
> >> >>
> >>
> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
> >> >>
> >> >> That seems to me to minimize the changes in user behavior as much as
> >> >> possible. It would be bad if during the 0.8 release the format of our
> >> >> released artifacts changed in a way that caused things to break for
> >> >> users. One example of something that could break is an IDE or some
> >> >> other tool that consumes these builds downstream and isn't aware of
> >> >> scala versioning.
> >> >>
> >> >> We can have a more intricate solution on the master branch if you'd
> >> >> like. This is just a fix to bring the 0.8 branch into line with our
> >> >> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
> >> >> I'm still not sure how this could affect any users adversely).
> >> >>
> >> >> - Patrick
> >> >>
> >> >> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <
> mark@clearstorydata.com>
> >> >> wrote:
> >> >> > Whoa there, cowboy!
> >> >> >
> >> >> > It's just a warning, and removing parameterized artifactIds (or
> >> versions)
> >> >> > is a significant change in functionality that necessitates changes
> in
> >> >> user
> >> >> > behavior.  At a minimum, this needs to be discussed before we go
> this
> >> >> > route.  If we really want to get rid of the warnings right away,
> then
> >> we
> >> >> > should try not to lose functionality and to require as little user
> >> >> behavior
> >> >> > change as possible.  The Maven Archetype
> >> >> > Plugin<
> >> >>
> >>
> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
> >> >> >
> >> >> > may
> >> >> > be the right way to do that.
> >> >> >
> >> >> > Do we have some set-in-stone requirement to quash all maven
> warnings
> >> >> before
> >> >> > release?  If not, I'd recommend leaving the parameterized pom
> files in
> >> >> > place for now and change over to something like archetypes for
> 0.8.1
> >> --
> >> >> the
> >> >> > change to use archetypes is bigger than I am comfortable with
> making
> >> >> > hastily as we try to get 0.8.0 released.
> >> >> >
> >> >> >
> >> >> >
> >> >> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
> >> >> >
> >> >> >> Updated Branches:
> >> >> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
> >> >> >>
> >> >> >>
> >> >> >> Hard code scala version in pom files.
> >> >> >>
> >> >> >> Unfortunately, having an expression inside of an artifactId causes
> >> >> >> warnings from Maven.
> >> >> >>
> >> >> >>
> >> >> >> Project:
> http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
> >> >> >> Commit:
> >> >> >>
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
> >> >> >> Tree:
> >> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
> >> >> >> Diff:
> >> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
> >> >> >>
> >> >> >> Branch: refs/heads/branch-0.8
> >> >> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
> >> >> >> Parents: 7f71f49
> >> >> >> Author: Patrick Wendell <pw...@gmail.com>
> >> >> >> Authored: Sun Sep 15 16:56:30 2013 -0700
> >> >> >> Committer: Patrick Wendell <pw...@gmail.com>
> >> >> >> Committed: Sun Sep 15 16:56:30 2013 -0700
> >> >> >>
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >>  assembly/pom.xml  | 14 +++++++-------
> >> >> >>  bagel/pom.xml     |  8 ++++----
> >> >> >>  core/pom.xml      |  8 ++++----
> >> >> >>  examples/pom.xml  | 14 +++++++-------
> >> >> >>  mllib/pom.xml     |  8 ++++----
> >> >> >>  pom.xml           |  6 +++---
> >> >> >>  repl-bin/pom.xml  |  8 ++++----
> >> >> >>  repl/pom.xml      | 12 ++++++------
> >> >> >>  streaming/pom.xml |  8 ++++----
> >> >> >>  tools/pom.xml     |  8 ++++----
> >> >> >>  yarn/pom.xml      |  4 ++--
> >> >> >>  11 files changed, 49 insertions(+), 49 deletions(-)
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
> >> >> >> index 778f7b1..397f79d 100644
> >> >> >> --- a/assembly/pom.xml
> >> >> >> +++ b/assembly/pom.xml
> >> >> >> @@ -26,7 +26,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
> >> >> >>    <name>Spark Project Assembly</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >>
> >> >> >> @@ -41,27 +41,27 @@
> >> >> >>    <dependencies>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >> @@ -128,7 +128,7 @@
> >> >> >>        <dependencies>
> >> >> >>          <dependency>
> >> >> >>            <groupId>org.apache.spark</groupId>
> >> >> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
> >> >> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
> >> >> >>            <version>${project.version}</version>
> >> >> >>          </dependency>
> >> >> >>        </dependencies>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
> >> >> >> index 1248b04..9839aa5 100644
> >> >> >> --- a/bagel/pom.xml
> >> >> >> +++ b/bagel/pom.xml
> >> >> >> @@ -26,7 +26,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >>    <packaging>jar</packaging>
> >> >> >>    <name>Spark Project Bagel</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> @@ -34,7 +34,7 @@
> >> >> >>    <dependencies>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >> @@ -43,12 +43,12 @@
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>    </dependencies>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/core/pom.xml b/core/pom.xml
> >> >> >> index 53756e9..b20ace9 100644
> >> >> >> --- a/core/pom.xml
> >> >> >> +++ b/core/pom.xml
> >> >> >> @@ -26,7 +26,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>    <packaging>jar</packaging>
> >> >> >>    <name>Spark Project Core</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> @@ -82,7 +82,7 @@
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>com.twitter</groupId>
> >> >> >> -      <artifactId>chill_${scala.version}</artifactId>
> >> >> >> +      <artifactId>chill_2.9.3</artifactId>
> >> >> >>        <version>0.3.1</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >> @@ -161,12 +161,12 @@
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/examples/pom.xml b/examples/pom.xml
> >> >> >> index aaa2f04..99ff67a 100644
> >> >> >> --- a/examples/pom.xml
> >> >> >> +++ b/examples/pom.xml
> >> >> >> @@ -26,7 +26,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-examples_2.9.3</artifactId>
> >> >> >>    <packaging>jar</packaging>
> >> >> >>    <name>Spark Project Examples</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> @@ -34,25 +34,25 @@
> >> >> >>    <dependencies>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>        <scope>provided</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>        <scope>provided</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>        <scope>provided</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>        <scope>provided</scope>
> >> >> >>      </dependency>
> >> >> >> @@ -82,12 +82,12 @@
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
> >> >> >> index ceddb78..11c0334 100644
> >> >> >> --- a/mllib/pom.xml
> >> >> >> +++ b/mllib/pom.xml
> >> >> >> @@ -26,7 +26,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
> >> >> >>    <packaging>jar</packaging>
> >> >> >>    <name>Spark Project ML Library</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> @@ -34,7 +34,7 @@
> >> >> >>    <dependencies>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >> @@ -48,12 +48,12 @@
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/pom.xml b/pom.xml
> >> >> >> index eb21dd9..0bd01f5 100644
> >> >> >> --- a/pom.xml
> >> >> >> +++ b/pom.xml
> >> >> >> @@ -215,7 +215,7 @@
> >> >> >>        </dependency>
> >> >> >>        <dependency>
> >> >> >>          <groupId>com.twitter</groupId>
> >> >> >> -        <artifactId>chill_${scala.version}</artifactId>
> >> >> >> +        <artifactId>chill_2.9.3</artifactId>
> >> >> >>          <version>0.3.1</version>
> >> >> >>        </dependency>
> >> >> >>        <dependency>
> >> >> >> @@ -323,7 +323,7 @@
> >> >> >>
> >> >> >>        <dependency>
> >> >> >>          <groupId>org.scalatest</groupId>
> >> >> >> -        <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> +        <artifactId>scalatest_2.9.3</artifactId>
> >> >> >>          <version>1.9.1</version>
> >> >> >>          <scope>test</scope>
> >> >> >>        </dependency>
> >> >> >> @@ -335,7 +335,7 @@
> >> >> >>        </dependency>
> >> >> >>        <dependency>
> >> >> >>          <groupId>org.scalacheck</groupId>
> >> >> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> +        <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >>          <version>1.10.0</version>
> >> >> >>          <scope>test</scope>
> >> >> >>        </dependency>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
> >> >> >> index bb77987..e2e1d8e 100644
> >> >> >> --- a/repl-bin/pom.xml
> >> >> >> +++ b/repl-bin/pom.xml
> >> >> >> @@ -26,7 +26,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
> >> >> >>    <packaging>pom</packaging>
> >> >> >>    <name>Spark Project REPL binary packaging</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> @@ -40,18 +40,18 @@
> >> >> >>    <dependencies>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>        <scope>runtime</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>        <scope>runtime</scope>
> >> >> >>      </dependency>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/repl/pom.xml b/repl/pom.xml
> >> >> >> index 07d3d67..d2c71f6 100644
> >> >> >> --- a/repl/pom.xml
> >> >> >> +++ b/repl/pom.xml
> >> >> >> @@ -26,7 +26,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-repl_2.9.3</artifactId>
> >> >> >>    <packaging>jar</packaging>
> >> >> >>    <name>Spark Project REPL</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> @@ -39,18 +39,18 @@
> >> >> >>    <dependencies>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>        <scope>runtime</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>        <scope>runtime</scope>
> >> >> >>      </dependency>
> >> >> >> @@ -76,12 +76,12 @@
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>    </dependencies>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
> >> >> >> index ffe0c6e..f94e7e0 100644
> >> >> >> --- a/streaming/pom.xml
> >> >> >> +++ b/streaming/pom.xml
> >> >> >> @@ -26,7 +26,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
> >> >> >>    <packaging>jar</packaging>
> >> >> >>    <name>Spark Project Streaming</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> @@ -42,7 +42,7 @@
> >> >> >>    <dependencies>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >> @@ -91,12 +91,12 @@
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalacheck</groupId>
> >> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/tools/pom.xml b/tools/pom.xml
> >> >> >> index e5080b3..40288da 100644
> >> >> >> --- a/tools/pom.xml
> >> >> >> +++ b/tools/pom.xml
> >> >> >> @@ -25,7 +25,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-tools_2.9.3</artifactId>
> >> >> >>    <packaging>jar</packaging>
> >> >> >>    <name>Spark Project Tools</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> @@ -33,17 +33,17 @@
> >> >> >>    <dependencies>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.scalatest</groupId>
> >> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >> >>        <scope>test</scope>
> >> >> >>      </dependency>
> >> >> >>    </dependencies>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
> >> >> >>
> >> ----------------------------------------------------------------------
> >> >> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
> >> >> >> index 94d3025..b1674d2 100644
> >> >> >> --- a/yarn/pom.xml
> >> >> >> +++ b/yarn/pom.xml
> >> >> >> @@ -25,7 +25,7 @@
> >> >> >>    </parent>
> >> >> >>
> >> >> >>    <groupId>org.apache.spark</groupId>
> >> >> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
> >> >> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
> >> >> >>    <packaging>jar</packaging>
> >> >> >>    <name>Spark Project YARN Support</name>
> >> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> >> @@ -33,7 +33,7 @@
> >> >> >>    <dependencies>
> >> >> >>      <dependency>
> >> >> >>        <groupId>org.apache.spark</groupId>
> >> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >> >>        <version>${project.version}</version>
> >> >> >>      </dependency>
> >> >> >>      <dependency>
> >> >> >>
> >> >> >>
> >> >>
> >>
>

Re: git commit: Hard code scala version in pom files.

Posted by Patrick Wendell <pw...@gmail.com>.
So Mark does that mean you'd be OK with us hard coding the scala
version in branch 0.8.0 build? It just seems like the overall simplest
solution for now. Or would this cause a large problem for you guys?

We can solve this on master for 0.9, I didn't touch master at all wrt
the maven build.

- Patrick

On Sun, Sep 15, 2013 at 7:32 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
> Yes, it looks like we need to do something to get 0.8.0 shipped and
> something to fix the problem longer term.  I agree that those somethings
> don't have to be the same thing, and that we can take this up again once
> the 0.8.0 dust has settled.
>
> Give me a day and I'll probably have more to say about how I'd like things
> to look in the future.
>
>
>
> On Sun, Sep 15, 2013 at 7:06 PM, Patrick Wendell <pw...@gmail.com> wrote:
>
>> Hey Mark,
>>
>> Thanks for providing the detailed explanation.
>>
>> My primary concern was just that this changes the published artifacts
>> in a way that could break downstream consumers of these poms which may
>> assume that artifact id's are immutable within a pom.xml file. For
>> now, let me revert my change and test that a few important things
>> still work (e.g. IDE's, etc). At a minimum I just want to make sure
>> things we are advising people to do don't break under this release. If
>> this doesn't break those things we can  move forward with the
>> parameterized artifacts for 0.8.0.
>>
>> Just a word of caution though, there may be other downstream consumers
>> of the pom files for whom this will cause a problem in the future. If
>> someone presents a compelling reason, we'll have to think about
>> whether we can keep publishing them like this, since this is not
>> technically a valid maven format.
>>
>> - Patrick
>>
>> On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com>
>> wrote:
>> > Ah sorry, I've gotten so used to using ClearStory's poms (where we make
>> > quite a lot of use of such parameterization) that I lost track of exactly
>> > when Spark's maven build was changed to work in a similar way.
>> >
>> > This all revolves around a basic difference of opinion as to whether the
>> > thing that specifies how a project is built should be a fixed, static
>> > document or is more of a program itself or a parameterized function that
>> > drives the build and results in an artifact.  SBT is of the latter
>> opinion,
>> > while Maven (at least with Maven 3) is going the other way.  That means
>> > that building idiomatic Scala artifacts (which expect things like
>> > cross-versioning support and artifactIds that include the Scala binary
>> > version that was used to create them) is somewhat at odds with the Maven
>> > philosophy.  Hard-coding artifactIds, versions, and whatever else Maven
>> now
>> > requires to guarantee that a pom file be a fixed, repeatable build
>> > description works okay for a single build of an artifact; and a user of
>> > just that built artifact won't have to change behavior if the pom is no
>> > longer parameterized.  However, users who are not just interested in
>> using
>> > pre-built artifacts but also in modifying, adding to or reusing the code
>> do
>> > have to change their behavior if parameterized Maven builds disappear
>> (yes,
>> > you have pointed out the state of affairs with the 0.6 and 0.7 releases;
>> > I'll point out that some of those making further use of the code have
>> been
>> > using the current, not-yet-released poms for a good while.)
>> >
>> > Without some form of parameterized Maven builds, developers who now rely
>> > upon such parameterized builds will have to choose to fork the Apache
>> poms
>> > and maintain their own parameterized build, or to repeatedly and manually
>> > edit static Apache pom files in order to change artifactIds and
>> dependency
>> > versions (which is a frequent need when integrating Spark into a much
>> > larger and more complicated technology stack), or to switch over to using
>> > SBT in order to get parameterized builds (which, of course, would
>> > necessitate a lot of other changes, not all of them welcome.)  Archetypes
>> > or something similar seems like a way to satisfy Maven's new requirement
>> > for static build configurations while at the same time providing a
>> > parameterized way to generate that configuration or a modified version of
>> > it -- solving the problem by adding a layer of abstraction.
>> >
>> >
>> > On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com>
>> wrote:
>> >
>> >> Hey Mark,
>> >>
>> >> Could you describe a user whose behavior is changed by this, and how
>> >> it is changed? This commit actually brings 0.8 in line with the 0.7
>> >> and 0.6 branches, where the scala version is hard coded in the
>> >> released artifacts:
>> >>
>> >>
>> >>
>> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
>> >>
>> >> That seems to me to minimize the changes in user behavior as much as
>> >> possible. It would be bad if during the 0.8 release the format of our
>> >> released artifacts changed in a way that caused things to break for
>> >> users. One example of something that could break is an IDE or some
>> >> other tool that consumes these builds downstream and isn't aware of
>> >> scala versioning.
>> >>
>> >> We can have a more intricate solution on the master branch if you'd
>> >> like. This is just a fix to bring the 0.8 branch into line with our
>> >> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
>> >> I'm still not sure how this could affect any users adversely).
>> >>
>> >> - Patrick
>> >>
>> >> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
>> >> wrote:
>> >> > Whoa there, cowboy!
>> >> >
>> >> > It's just a warning, and removing parameterized artifactIds (or
>> versions)
>> >> > is a significant change in functionality that necessitates changes in
>> >> user
>> >> > behavior.  At a minimum, this needs to be discussed before we go this
>> >> > route.  If we really want to get rid of the warnings right away, then
>> we
>> >> > should try not to lose functionality and to require as little user
>> >> behavior
>> >> > change as possible.  The Maven Archetype
>> >> > Plugin<
>> >>
>> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
>> >> >
>> >> > may
>> >> > be the right way to do that.
>> >> >
>> >> > Do we have some set-in-stone requirement to quash all maven warnings
>> >> before
>> >> > release?  If not, I'd recommend leaving the parameterized pom files in
>> >> > place for now and change over to something like archetypes for 0.8.1
>> --
>> >> the
>> >> > change to use archetypes is bigger than I am comfortable with making
>> >> > hastily as we try to get 0.8.0 released.
>> >> >
>> >> >
>> >> >
>> >> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
>> >> >
>> >> >> Updated Branches:
>> >> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
>> >> >>
>> >> >>
>> >> >> Hard code scala version in pom files.
>> >> >>
>> >> >> Unfortunately, having an expression inside of an artifactId causes
>> >> >> warnings from Maven.
>> >> >>
>> >> >>
>> >> >> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
>> >> >> Commit:
>> >> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
>> >> >> Tree:
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
>> >> >> Diff:
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
>> >> >>
>> >> >> Branch: refs/heads/branch-0.8
>> >> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
>> >> >> Parents: 7f71f49
>> >> >> Author: Patrick Wendell <pw...@gmail.com>
>> >> >> Authored: Sun Sep 15 16:56:30 2013 -0700
>> >> >> Committer: Patrick Wendell <pw...@gmail.com>
>> >> >> Committed: Sun Sep 15 16:56:30 2013 -0700
>> >> >>
>> >> >>
>> ----------------------------------------------------------------------
>> >> >>  assembly/pom.xml  | 14 +++++++-------
>> >> >>  bagel/pom.xml     |  8 ++++----
>> >> >>  core/pom.xml      |  8 ++++----
>> >> >>  examples/pom.xml  | 14 +++++++-------
>> >> >>  mllib/pom.xml     |  8 ++++----
>> >> >>  pom.xml           |  6 +++---
>> >> >>  repl-bin/pom.xml  |  8 ++++----
>> >> >>  repl/pom.xml      | 12 ++++++------
>> >> >>  streaming/pom.xml |  8 ++++----
>> >> >>  tools/pom.xml     |  8 ++++----
>> >> >>  yarn/pom.xml      |  4 ++--
>> >> >>  11 files changed, 49 insertions(+), 49 deletions(-)
>> >> >>
>> ----------------------------------------------------------------------
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
>> >> >> index 778f7b1..397f79d 100644
>> >> >> --- a/assembly/pom.xml
>> >> >> +++ b/assembly/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
>> >> >>    <name>Spark Project Assembly</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >>
>> >> >> @@ -41,27 +41,27 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -128,7 +128,7 @@
>> >> >>        <dependencies>
>> >> >>          <dependency>
>> >> >>            <groupId>org.apache.spark</groupId>
>> >> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
>> >> >>            <version>${project.version}</version>
>> >> >>          </dependency>
>> >> >>        </dependencies>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
>> >> >> index 1248b04..9839aa5 100644
>> >> >> --- a/bagel/pom.xml
>> >> >> +++ b/bagel/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Bagel</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -34,7 +34,7 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -43,12 +43,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>    </dependencies>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/core/pom.xml b/core/pom.xml
>> >> >> index 53756e9..b20ace9 100644
>> >> >> --- a/core/pom.xml
>> >> >> +++ b/core/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-core_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Core</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -82,7 +82,7 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>com.twitter</groupId>
>> >> >> -      <artifactId>chill_${scala.version}</artifactId>
>> >> >> +      <artifactId>chill_2.9.3</artifactId>
>> >> >>        <version>0.3.1</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -161,12 +161,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/examples/pom.xml b/examples/pom.xml
>> >> >> index aaa2f04..99ff67a 100644
>> >> >> --- a/examples/pom.xml
>> >> >> +++ b/examples/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-examples_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Examples</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -34,25 +34,25 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>provided</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>provided</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>provided</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>provided</scope>
>> >> >>      </dependency>
>> >> >> @@ -82,12 +82,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
>> >> >> index ceddb78..11c0334 100644
>> >> >> --- a/mllib/pom.xml
>> >> >> +++ b/mllib/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project ML Library</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -34,7 +34,7 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -48,12 +48,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/pom.xml b/pom.xml
>> >> >> index eb21dd9..0bd01f5 100644
>> >> >> --- a/pom.xml
>> >> >> +++ b/pom.xml
>> >> >> @@ -215,7 +215,7 @@
>> >> >>        </dependency>
>> >> >>        <dependency>
>> >> >>          <groupId>com.twitter</groupId>
>> >> >> -        <artifactId>chill_${scala.version}</artifactId>
>> >> >> +        <artifactId>chill_2.9.3</artifactId>
>> >> >>          <version>0.3.1</version>
>> >> >>        </dependency>
>> >> >>        <dependency>
>> >> >> @@ -323,7 +323,7 @@
>> >> >>
>> >> >>        <dependency>
>> >> >>          <groupId>org.scalatest</groupId>
>> >> >> -        <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +        <artifactId>scalatest_2.9.3</artifactId>
>> >> >>          <version>1.9.1</version>
>> >> >>          <scope>test</scope>
>> >> >>        </dependency>
>> >> >> @@ -335,7 +335,7 @@
>> >> >>        </dependency>
>> >> >>        <dependency>
>> >> >>          <groupId>org.scalacheck</groupId>
>> >> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +        <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>          <version>1.10.0</version>
>> >> >>          <scope>test</scope>
>> >> >>        </dependency>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
>> >> >> index bb77987..e2e1d8e 100644
>> >> >> --- a/repl-bin/pom.xml
>> >> >> +++ b/repl-bin/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
>> >> >>    <packaging>pom</packaging>
>> >> >>    <name>Spark Project REPL binary packaging</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -40,18 +40,18 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>runtime</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>runtime</scope>
>> >> >>      </dependency>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/repl/pom.xml b/repl/pom.xml
>> >> >> index 07d3d67..d2c71f6 100644
>> >> >> --- a/repl/pom.xml
>> >> >> +++ b/repl/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-repl_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project REPL</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -39,18 +39,18 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>runtime</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>        <scope>runtime</scope>
>> >> >>      </dependency>
>> >> >> @@ -76,12 +76,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>    </dependencies>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
>> >> >> index ffe0c6e..f94e7e0 100644
>> >> >> --- a/streaming/pom.xml
>> >> >> +++ b/streaming/pom.xml
>> >> >> @@ -26,7 +26,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Streaming</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -42,7 +42,7 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >> @@ -91,12 +91,12 @@
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalacheck</groupId>
>> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/tools/pom.xml b/tools/pom.xml
>> >> >> index e5080b3..40288da 100644
>> >> >> --- a/tools/pom.xml
>> >> >> +++ b/tools/pom.xml
>> >> >> @@ -25,7 +25,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-tools_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project Tools</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -33,17 +33,17 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>        <groupId>org.scalatest</groupId>
>> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >> >>        <scope>test</scope>
>> >> >>      </dependency>
>> >> >>    </dependencies>
>> >> >>
>> >> >>
>> >> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
>> >> >>
>> ----------------------------------------------------------------------
>> >> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
>> >> >> index 94d3025..b1674d2 100644
>> >> >> --- a/yarn/pom.xml
>> >> >> +++ b/yarn/pom.xml
>> >> >> @@ -25,7 +25,7 @@
>> >> >>    </parent>
>> >> >>
>> >> >>    <groupId>org.apache.spark</groupId>
>> >> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
>> >> >>    <packaging>jar</packaging>
>> >> >>    <name>Spark Project YARN Support</name>
>> >> >>    <url>http://spark.incubator.apache.org/</url>
>> >> >> @@ -33,7 +33,7 @@
>> >> >>    <dependencies>
>> >> >>      <dependency>
>> >> >>        <groupId>org.apache.spark</groupId>
>> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >> >>        <version>${project.version}</version>
>> >> >>      </dependency>
>> >> >>      <dependency>
>> >> >>
>> >> >>
>> >>
>>

Re: git commit: Hard code scala version in pom files.

Posted by Mark Hamstra <ma...@clearstorydata.com>.
Yes, it looks like we need to do something to get 0.8.0 shipped and
something to fix the problem longer term.  I agree that those somethings
don't have to be the same thing, and that we can take this up again once
the 0.8.0 dust has settled.

Give me a day and I'll probably have more to say about how I'd like things
to look in the future.



On Sun, Sep 15, 2013 at 7:06 PM, Patrick Wendell <pw...@gmail.com> wrote:

> Hey Mark,
>
> Thanks for providing the detailed explanation.
>
> My primary concern was just that this changes the published artifacts
> in a way that could break downstream consumers of these poms which may
> assume that artifact id's are immutable within a pom.xml file. For
> now, let me revert my change and test that a few important things
> still work (e.g. IDE's, etc). At a minimum I just want to make sure
> things we are advising people to do don't break under this release. If
> this doesn't break those things we can  move forward with the
> parameterized artifacts for 0.8.0.
>
> Just a word of caution though, there may be other downstream consumers
> of the pom files for whom this will cause a problem in the future. If
> someone presents a compelling reason, we'll have to think about
> whether we can keep publishing them like this, since this is not
> technically a valid maven format.
>
> - Patrick
>
> On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com>
> wrote:
> > Ah sorry, I've gotten so used to using ClearStory's poms (where we make
> > quite a lot of use of such parameterization) that I lost track of exactly
> > when Spark's maven build was changed to work in a similar way.
> >
> > This all revolves around a basic difference of opinion as to whether the
> > thing that specifies how a project is built should be a fixed, static
> > document or is more of a program itself or a parameterized function that
> > drives the build and results in an artifact.  SBT is of the latter
> opinion,
> > while Maven (at least with Maven 3) is going the other way.  That means
> > that building idiomatic Scala artifacts (which expect things like
> > cross-versioning support and artifactIds that include the Scala binary
> > version that was used to create them) is somewhat at odds with the Maven
> > philosophy.  Hard-coding artifactIds, versions, and whatever else Maven
> now
> > requires to guarantee that a pom file be a fixed, repeatable build
> > description works okay for a single build of an artifact; and a user of
> > just that built artifact won't have to change behavior if the pom is no
> > longer parameterized.  However, users who are not just interested in
> using
> > pre-built artifacts but also in modifying, adding to or reusing the code
> do
> > have to change their behavior if parameterized Maven builds disappear
> (yes,
> > you have pointed out the state of affairs with the 0.6 and 0.7 releases;
> > I'll point out that some of those making further use of the code have
> been
> > using the current, not-yet-released poms for a good while.)
> >
> > Without some form of parameterized Maven builds, developers who now rely
> > upon such parameterized builds will have to choose to fork the Apache
> poms
> > and maintain their own parameterized build, or to repeatedly and manually
> > edit static Apache pom files in order to change artifactIds and
> dependency
> > versions (which is a frequent need when integrating Spark into a much
> > larger and more complicated technology stack), or to switch over to using
> > SBT in order to get parameterized builds (which, of course, would
> > necessitate a lot of other changes, not all of them welcome.)  Archetypes
> > or something similar seems like a way to satisfy Maven's new requirement
> > for static build configurations while at the same time providing a
> > parameterized way to generate that configuration or a modified version of
> > it -- solving the problem by adding a layer of abstraction.
> >
> >
> > On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com>
> wrote:
> >
> >> Hey Mark,
> >>
> >> Could you describe a user whose behavior is changed by this, and how
> >> it is changed? This commit actually brings 0.8 in line with the 0.7
> >> and 0.6 branches, where the scala version is hard coded in the
> >> released artifacts:
> >>
> >>
> >>
> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
> >>
> >> That seems to me to minimize the changes in user behavior as much as
> >> possible. It would be bad if during the 0.8 release the format of our
> >> released artifacts changed in a way that caused things to break for
> >> users. One example of something that could break is an IDE or some
> >> other tool that consumes these builds downstream and isn't aware of
> >> scala versioning.
> >>
> >> We can have a more intricate solution on the master branch if you'd
> >> like. This is just a fix to bring the 0.8 branch into line with our
> >> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
> >> I'm still not sure how this could affect any users adversely).
> >>
> >> - Patrick
> >>
> >> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
> >> wrote:
> >> > Whoa there, cowboy!
> >> >
> >> > It's just a warning, and removing parameterized artifactIds (or
> versions)
> >> > is a significant change in functionality that necessitates changes in
> >> user
> >> > behavior.  At a minimum, this needs to be discussed before we go this
> >> > route.  If we really want to get rid of the warnings right away, then
> we
> >> > should try not to lose functionality and to require as little user
> >> behavior
> >> > change as possible.  The Maven Archetype
> >> > Plugin<
> >>
> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
> >> >
> >> > may
> >> > be the right way to do that.
> >> >
> >> > Do we have some set-in-stone requirement to quash all maven warnings
> >> before
> >> > release?  If not, I'd recommend leaving the parameterized pom files in
> >> > place for now and change over to something like archetypes for 0.8.1
> --
> >> the
> >> > change to use archetypes is bigger than I am comfortable with making
> >> > hastily as we try to get 0.8.0 released.
> >> >
> >> >
> >> >
> >> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
> >> >
> >> >> Updated Branches:
> >> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
> >> >>
> >> >>
> >> >> Hard code scala version in pom files.
> >> >>
> >> >> Unfortunately, having an expression inside of an artifactId causes
> >> >> warnings from Maven.
> >> >>
> >> >>
> >> >> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
> >> >> Commit:
> >> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
> >> >> Tree:
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
> >> >> Diff:
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
> >> >>
> >> >> Branch: refs/heads/branch-0.8
> >> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
> >> >> Parents: 7f71f49
> >> >> Author: Patrick Wendell <pw...@gmail.com>
> >> >> Authored: Sun Sep 15 16:56:30 2013 -0700
> >> >> Committer: Patrick Wendell <pw...@gmail.com>
> >> >> Committed: Sun Sep 15 16:56:30 2013 -0700
> >> >>
> >> >>
> ----------------------------------------------------------------------
> >> >>  assembly/pom.xml  | 14 +++++++-------
> >> >>  bagel/pom.xml     |  8 ++++----
> >> >>  core/pom.xml      |  8 ++++----
> >> >>  examples/pom.xml  | 14 +++++++-------
> >> >>  mllib/pom.xml     |  8 ++++----
> >> >>  pom.xml           |  6 +++---
> >> >>  repl-bin/pom.xml  |  8 ++++----
> >> >>  repl/pom.xml      | 12 ++++++------
> >> >>  streaming/pom.xml |  8 ++++----
> >> >>  tools/pom.xml     |  8 ++++----
> >> >>  yarn/pom.xml      |  4 ++--
> >> >>  11 files changed, 49 insertions(+), 49 deletions(-)
> >> >>
> ----------------------------------------------------------------------
> >> >>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
> >> >> index 778f7b1..397f79d 100644
> >> >> --- a/assembly/pom.xml
> >> >> +++ b/assembly/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
> >> >>    <name>Spark Project Assembly</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >>
> >> >> @@ -41,27 +41,27 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -128,7 +128,7 @@
> >> >>        <dependencies>
> >> >>          <dependency>
> >> >>            <groupId>org.apache.spark</groupId>
> >> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
> >> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
> >> >>            <version>${project.version}</version>
> >> >>          </dependency>
> >> >>        </dependencies>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
> >> >> index 1248b04..9839aa5 100644
> >> >> --- a/bagel/pom.xml
> >> >> +++ b/bagel/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Bagel</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -34,7 +34,7 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -43,12 +43,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>    </dependencies>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/core/pom.xml b/core/pom.xml
> >> >> index 53756e9..b20ace9 100644
> >> >> --- a/core/pom.xml
> >> >> +++ b/core/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-core_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Core</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -82,7 +82,7 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>com.twitter</groupId>
> >> >> -      <artifactId>chill_${scala.version}</artifactId>
> >> >> +      <artifactId>chill_2.9.3</artifactId>
> >> >>        <version>0.3.1</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -161,12 +161,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/examples/pom.xml b/examples/pom.xml
> >> >> index aaa2f04..99ff67a 100644
> >> >> --- a/examples/pom.xml
> >> >> +++ b/examples/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-examples_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Examples</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -34,25 +34,25 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>provided</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>provided</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>provided</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>provided</scope>
> >> >>      </dependency>
> >> >> @@ -82,12 +82,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
> >> >> index ceddb78..11c0334 100644
> >> >> --- a/mllib/pom.xml
> >> >> +++ b/mllib/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project ML Library</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -34,7 +34,7 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -48,12 +48,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/pom.xml b/pom.xml
> >> >> index eb21dd9..0bd01f5 100644
> >> >> --- a/pom.xml
> >> >> +++ b/pom.xml
> >> >> @@ -215,7 +215,7 @@
> >> >>        </dependency>
> >> >>        <dependency>
> >> >>          <groupId>com.twitter</groupId>
> >> >> -        <artifactId>chill_${scala.version}</artifactId>
> >> >> +        <artifactId>chill_2.9.3</artifactId>
> >> >>          <version>0.3.1</version>
> >> >>        </dependency>
> >> >>        <dependency>
> >> >> @@ -323,7 +323,7 @@
> >> >>
> >> >>        <dependency>
> >> >>          <groupId>org.scalatest</groupId>
> >> >> -        <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +        <artifactId>scalatest_2.9.3</artifactId>
> >> >>          <version>1.9.1</version>
> >> >>          <scope>test</scope>
> >> >>        </dependency>
> >> >> @@ -335,7 +335,7 @@
> >> >>        </dependency>
> >> >>        <dependency>
> >> >>          <groupId>org.scalacheck</groupId>
> >> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +        <artifactId>scalacheck_2.9.3</artifactId>
> >> >>          <version>1.10.0</version>
> >> >>          <scope>test</scope>
> >> >>        </dependency>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
> >> >> index bb77987..e2e1d8e 100644
> >> >> --- a/repl-bin/pom.xml
> >> >> +++ b/repl-bin/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
> >> >>    <packaging>pom</packaging>
> >> >>    <name>Spark Project REPL binary packaging</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -40,18 +40,18 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>runtime</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>runtime</scope>
> >> >>      </dependency>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/repl/pom.xml b/repl/pom.xml
> >> >> index 07d3d67..d2c71f6 100644
> >> >> --- a/repl/pom.xml
> >> >> +++ b/repl/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-repl_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project REPL</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -39,18 +39,18 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>runtime</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>        <scope>runtime</scope>
> >> >>      </dependency>
> >> >> @@ -76,12 +76,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>    </dependencies>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
> >> >> index ffe0c6e..f94e7e0 100644
> >> >> --- a/streaming/pom.xml
> >> >> +++ b/streaming/pom.xml
> >> >> @@ -26,7 +26,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Streaming</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -42,7 +42,7 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >> @@ -91,12 +91,12 @@
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalacheck</groupId>
> >> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/tools/pom.xml b/tools/pom.xml
> >> >> index e5080b3..40288da 100644
> >> >> --- a/tools/pom.xml
> >> >> +++ b/tools/pom.xml
> >> >> @@ -25,7 +25,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-tools_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project Tools</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -33,17 +33,17 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>        <groupId>org.scalatest</groupId>
> >> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >> >>        <scope>test</scope>
> >> >>      </dependency>
> >> >>    </dependencies>
> >> >>
> >> >>
> >> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
> >> >>
> ----------------------------------------------------------------------
> >> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
> >> >> index 94d3025..b1674d2 100644
> >> >> --- a/yarn/pom.xml
> >> >> +++ b/yarn/pom.xml
> >> >> @@ -25,7 +25,7 @@
> >> >>    </parent>
> >> >>
> >> >>    <groupId>org.apache.spark</groupId>
> >> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
> >> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
> >> >>    <packaging>jar</packaging>
> >> >>    <name>Spark Project YARN Support</name>
> >> >>    <url>http://spark.incubator.apache.org/</url>
> >> >> @@ -33,7 +33,7 @@
> >> >>    <dependencies>
> >> >>      <dependency>
> >> >>        <groupId>org.apache.spark</groupId>
> >> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >> >>        <version>${project.version}</version>
> >> >>      </dependency>
> >> >>      <dependency>
> >> >>
> >> >>
> >>
>

Re: git commit: Hard code scala version in pom files.

Posted by Patrick Wendell <pw...@gmail.com>.
Hey Mark,

Thanks for providing the detailed explanation.

My primary concern was just that this changes the published artifacts
in a way that could break downstream consumers of these poms which may
assume that artifact id's are immutable within a pom.xml file. For
now, let me revert my change and test that a few important things
still work (e.g. IDE's, etc). At a minimum I just want to make sure
things we are advising people to do don't break under this release. If
this doesn't break those things we can  move forward with the
parameterized artifacts for 0.8.0.

Just a word of caution though, there may be other downstream consumers
of the pom files for whom this will cause a problem in the future. If
someone presents a compelling reason, we'll have to think about
whether we can keep publishing them like this, since this is not
technically a valid maven format.

- Patrick

On Sun, Sep 15, 2013 at 6:46 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
> Ah sorry, I've gotten so used to using ClearStory's poms (where we make
> quite a lot of use of such parameterization) that I lost track of exactly
> when Spark's maven build was changed to work in a similar way.
>
> This all revolves around a basic difference of opinion as to whether the
> thing that specifies how a project is built should be a fixed, static
> document or is more of a program itself or a parameterized function that
> drives the build and results in an artifact.  SBT is of the latter opinion,
> while Maven (at least with Maven 3) is going the other way.  That means
> that building idiomatic Scala artifacts (which expect things like
> cross-versioning support and artifactIds that include the Scala binary
> version that was used to create them) is somewhat at odds with the Maven
> philosophy.  Hard-coding artifactIds, versions, and whatever else Maven now
> requires to guarantee that a pom file be a fixed, repeatable build
> description works okay for a single build of an artifact; and a user of
> just that built artifact won't have to change behavior if the pom is no
> longer parameterized.  However, users who are not just interested in using
> pre-built artifacts but also in modifying, adding to or reusing the code do
> have to change their behavior if parameterized Maven builds disappear (yes,
> you have pointed out the state of affairs with the 0.6 and 0.7 releases;
> I'll point out that some of those making further use of the code have been
> using the current, not-yet-released poms for a good while.)
>
> Without some form of parameterized Maven builds, developers who now rely
> upon such parameterized builds will have to choose to fork the Apache poms
> and maintain their own parameterized build, or to repeatedly and manually
> edit static Apache pom files in order to change artifactIds and dependency
> versions (which is a frequent need when integrating Spark into a much
> larger and more complicated technology stack), or to switch over to using
> SBT in order to get parameterized builds (which, of course, would
> necessitate a lot of other changes, not all of them welcome.)  Archetypes
> or something similar seems like a way to satisfy Maven's new requirement
> for static build configurations while at the same time providing a
> parameterized way to generate that configuration or a modified version of
> it -- solving the problem by adding a layer of abstraction.
>
>
> On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com> wrote:
>
>> Hey Mark,
>>
>> Could you describe a user whose behavior is changed by this, and how
>> it is changed? This commit actually brings 0.8 in line with the 0.7
>> and 0.6 branches, where the scala version is hard coded in the
>> released artifacts:
>>
>>
>> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
>>
>> That seems to me to minimize the changes in user behavior as much as
>> possible. It would be bad if during the 0.8 release the format of our
>> released artifacts changed in a way that caused things to break for
>> users. One example of something that could break is an IDE or some
>> other tool that consumes these builds downstream and isn't aware of
>> scala versioning.
>>
>> We can have a more intricate solution on the master branch if you'd
>> like. This is just a fix to bring the 0.8 branch into line with our
>> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
>> I'm still not sure how this could affect any users adversely).
>>
>> - Patrick
>>
>> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
>> wrote:
>> > Whoa there, cowboy!
>> >
>> > It's just a warning, and removing parameterized artifactIds (or versions)
>> > is a significant change in functionality that necessitates changes in
>> user
>> > behavior.  At a minimum, this needs to be discussed before we go this
>> > route.  If we really want to get rid of the warnings right away, then we
>> > should try not to lose functionality and to require as little user
>> behavior
>> > change as possible.  The Maven Archetype
>> > Plugin<
>> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
>> >
>> > may
>> > be the right way to do that.
>> >
>> > Do we have some set-in-stone requirement to quash all maven warnings
>> before
>> > release?  If not, I'd recommend leaving the parameterized pom files in
>> > place for now and change over to something like archetypes for 0.8.1 --
>> the
>> > change to use archetypes is bigger than I am comfortable with making
>> > hastily as we try to get 0.8.0 released.
>> >
>> >
>> >
>> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
>> >
>> >> Updated Branches:
>> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
>> >>
>> >>
>> >> Hard code scala version in pom files.
>> >>
>> >> Unfortunately, having an expression inside of an artifactId causes
>> >> warnings from Maven.
>> >>
>> >>
>> >> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
>> >> Commit:
>> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
>> >> Tree:
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
>> >> Diff:
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
>> >>
>> >> Branch: refs/heads/branch-0.8
>> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
>> >> Parents: 7f71f49
>> >> Author: Patrick Wendell <pw...@gmail.com>
>> >> Authored: Sun Sep 15 16:56:30 2013 -0700
>> >> Committer: Patrick Wendell <pw...@gmail.com>
>> >> Committed: Sun Sep 15 16:56:30 2013 -0700
>> >>
>> >> ----------------------------------------------------------------------
>> >>  assembly/pom.xml  | 14 +++++++-------
>> >>  bagel/pom.xml     |  8 ++++----
>> >>  core/pom.xml      |  8 ++++----
>> >>  examples/pom.xml  | 14 +++++++-------
>> >>  mllib/pom.xml     |  8 ++++----
>> >>  pom.xml           |  6 +++---
>> >>  repl-bin/pom.xml  |  8 ++++----
>> >>  repl/pom.xml      | 12 ++++++------
>> >>  streaming/pom.xml |  8 ++++----
>> >>  tools/pom.xml     |  8 ++++----
>> >>  yarn/pom.xml      |  4 ++--
>> >>  11 files changed, 49 insertions(+), 49 deletions(-)
>> >> ----------------------------------------------------------------------
>> >>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
>> >> index 778f7b1..397f79d 100644
>> >> --- a/assembly/pom.xml
>> >> +++ b/assembly/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
>> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
>> >>    <name>Spark Project Assembly</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >>
>> >> @@ -41,27 +41,27 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -128,7 +128,7 @@
>> >>        <dependencies>
>> >>          <dependency>
>> >>            <groupId>org.apache.spark</groupId>
>> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
>> >>            <version>${project.version}</version>
>> >>          </dependency>
>> >>        </dependencies>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
>> >> index 1248b04..9839aa5 100644
>> >> --- a/bagel/pom.xml
>> >> +++ b/bagel/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Bagel</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -34,7 +34,7 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -43,12 +43,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>    </dependencies>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/core/pom.xml b/core/pom.xml
>> >> index 53756e9..b20ace9 100644
>> >> --- a/core/pom.xml
>> >> +++ b/core/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-core_${scala.version}</artifactId>
>> >> +  <artifactId>spark-core_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Core</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -82,7 +82,7 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>com.twitter</groupId>
>> >> -      <artifactId>chill_${scala.version}</artifactId>
>> >> +      <artifactId>chill_2.9.3</artifactId>
>> >>        <version>0.3.1</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -161,12 +161,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/examples/pom.xml b/examples/pom.xml
>> >> index aaa2f04..99ff67a 100644
>> >> --- a/examples/pom.xml
>> >> +++ b/examples/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
>> >> +  <artifactId>spark-examples_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Examples</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -34,25 +34,25 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>provided</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>provided</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>provided</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>provided</scope>
>> >>      </dependency>
>> >> @@ -82,12 +82,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
>> >> index ceddb78..11c0334 100644
>> >> --- a/mllib/pom.xml
>> >> +++ b/mllib/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project ML Library</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -34,7 +34,7 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -48,12 +48,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/pom.xml b/pom.xml
>> >> index eb21dd9..0bd01f5 100644
>> >> --- a/pom.xml
>> >> +++ b/pom.xml
>> >> @@ -215,7 +215,7 @@
>> >>        </dependency>
>> >>        <dependency>
>> >>          <groupId>com.twitter</groupId>
>> >> -        <artifactId>chill_${scala.version}</artifactId>
>> >> +        <artifactId>chill_2.9.3</artifactId>
>> >>          <version>0.3.1</version>
>> >>        </dependency>
>> >>        <dependency>
>> >> @@ -323,7 +323,7 @@
>> >>
>> >>        <dependency>
>> >>          <groupId>org.scalatest</groupId>
>> >> -        <artifactId>scalatest_${scala.version}</artifactId>
>> >> +        <artifactId>scalatest_2.9.3</artifactId>
>> >>          <version>1.9.1</version>
>> >>          <scope>test</scope>
>> >>        </dependency>
>> >> @@ -335,7 +335,7 @@
>> >>        </dependency>
>> >>        <dependency>
>> >>          <groupId>org.scalacheck</groupId>
>> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +        <artifactId>scalacheck_2.9.3</artifactId>
>> >>          <version>1.10.0</version>
>> >>          <scope>test</scope>
>> >>        </dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
>> >> index bb77987..e2e1d8e 100644
>> >> --- a/repl-bin/pom.xml
>> >> +++ b/repl-bin/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
>> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
>> >>    <packaging>pom</packaging>
>> >>    <name>Spark Project REPL binary packaging</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -40,18 +40,18 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>runtime</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> >> +      <artifactId>spark-repl_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>runtime</scope>
>> >>      </dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/repl/pom.xml b/repl/pom.xml
>> >> index 07d3d67..d2c71f6 100644
>> >> --- a/repl/pom.xml
>> >> +++ b/repl/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
>> >> +  <artifactId>spark-repl_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project REPL</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -39,18 +39,18 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>runtime</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>        <scope>runtime</scope>
>> >>      </dependency>
>> >> @@ -76,12 +76,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>    </dependencies>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
>> >> index ffe0c6e..f94e7e0 100644
>> >> --- a/streaming/pom.xml
>> >> +++ b/streaming/pom.xml
>> >> @@ -26,7 +26,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Streaming</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -42,7 +42,7 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >> @@ -91,12 +91,12 @@
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalacheck</groupId>
>> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> >> +      <artifactId>scalacheck_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/tools/pom.xml b/tools/pom.xml
>> >> index e5080b3..40288da 100644
>> >> --- a/tools/pom.xml
>> >> +++ b/tools/pom.xml
>> >> @@ -25,7 +25,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
>> >> +  <artifactId>spark-tools_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project Tools</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -33,17 +33,17 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>        <groupId>org.scalatest</groupId>
>> >> -      <artifactId>scalatest_${scala.version}</artifactId>
>> >> +      <artifactId>scalatest_2.9.3</artifactId>
>> >>        <scope>test</scope>
>> >>      </dependency>
>> >>    </dependencies>
>> >>
>> >>
>> >>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
>> >> ----------------------------------------------------------------------
>> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
>> >> index 94d3025..b1674d2 100644
>> >> --- a/yarn/pom.xml
>> >> +++ b/yarn/pom.xml
>> >> @@ -25,7 +25,7 @@
>> >>    </parent>
>> >>
>> >>    <groupId>org.apache.spark</groupId>
>> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
>> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
>> >>    <packaging>jar</packaging>
>> >>    <name>Spark Project YARN Support</name>
>> >>    <url>http://spark.incubator.apache.org/</url>
>> >> @@ -33,7 +33,7 @@
>> >>    <dependencies>
>> >>      <dependency>
>> >>        <groupId>org.apache.spark</groupId>
>> >> -      <artifactId>spark-core_${scala.version}</artifactId>
>> >> +      <artifactId>spark-core_2.9.3</artifactId>
>> >>        <version>${project.version}</version>
>> >>      </dependency>
>> >>      <dependency>
>> >>
>> >>
>>

Re: git commit: Hard code scala version in pom files.

Posted by Mark Hamstra <ma...@clearstorydata.com>.
Ah sorry, I've gotten so used to using ClearStory's poms (where we make
quite a lot of use of such parameterization) that I lost track of exactly
when Spark's maven build was changed to work in a similar way.

This all revolves around a basic difference of opinion as to whether the
thing that specifies how a project is built should be a fixed, static
document or is more of a program itself or a parameterized function that
drives the build and results in an artifact.  SBT is of the latter opinion,
while Maven (at least with Maven 3) is going the other way.  That means
that building idiomatic Scala artifacts (which expect things like
cross-versioning support and artifactIds that include the Scala binary
version that was used to create them) is somewhat at odds with the Maven
philosophy.  Hard-coding artifactIds, versions, and whatever else Maven now
requires to guarantee that a pom file be a fixed, repeatable build
description works okay for a single build of an artifact; and a user of
just that built artifact won't have to change behavior if the pom is no
longer parameterized.  However, users who are not just interested in using
pre-built artifacts but also in modifying, adding to or reusing the code do
have to change their behavior if parameterized Maven builds disappear (yes,
you have pointed out the state of affairs with the 0.6 and 0.7 releases;
I'll point out that some of those making further use of the code have been
using the current, not-yet-released poms for a good while.)

Without some form of parameterized Maven builds, developers who now rely
upon such parameterized builds will have to choose to fork the Apache poms
and maintain their own parameterized build, or to repeatedly and manually
edit static Apache pom files in order to change artifactIds and dependency
versions (which is a frequent need when integrating Spark into a much
larger and more complicated technology stack), or to switch over to using
SBT in order to get parameterized builds (which, of course, would
necessitate a lot of other changes, not all of them welcome.)  Archetypes
or something similar seems like a way to satisfy Maven's new requirement
for static build configurations while at the same time providing a
parameterized way to generate that configuration or a modified version of
it -- solving the problem by adding a layer of abstraction.


On Sun, Sep 15, 2013 at 6:12 PM, Patrick Wendell <pw...@gmail.com> wrote:

> Hey Mark,
>
> Could you describe a user whose behavior is changed by this, and how
> it is changed? This commit actually brings 0.8 in line with the 0.7
> and 0.6 branches, where the scala version is hard coded in the
> released artifacts:
>
>
> http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom
>
> That seems to me to minimize the changes in user behavior as much as
> possible. It would be bad if during the 0.8 release the format of our
> released artifacts changed in a way that caused things to break for
> users. One example of something that could break is an IDE or some
> other tool that consumes these builds downstream and isn't aware of
> scala versioning.
>
> We can have a more intricate solution on the master branch if you'd
> like. This is just a fix to bring the 0.8 branch into line with our
> existing releases (and since 0.8 only supports scala 2.9.3 anyways,
> I'm still not sure how this could affect any users adversely).
>
> - Patrick
>
> On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com>
> wrote:
> > Whoa there, cowboy!
> >
> > It's just a warning, and removing parameterized artifactIds (or versions)
> > is a significant change in functionality that necessitates changes in
> user
> > behavior.  At a minimum, this needs to be discussed before we go this
> > route.  If we really want to get rid of the warnings right away, then we
> > should try not to lose functionality and to require as little user
> behavior
> > change as possible.  The Maven Archetype
> > Plugin<
> http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
> >
> > may
> > be the right way to do that.
> >
> > Do we have some set-in-stone requirement to quash all maven warnings
> before
> > release?  If not, I'd recommend leaving the parameterized pom files in
> > place for now and change over to something like archetypes for 0.8.1 --
> the
> > change to use archetypes is bigger than I am comfortable with making
> > hastily as we try to get 0.8.0 released.
> >
> >
> >
> > On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
> >
> >> Updated Branches:
> >>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
> >>
> >>
> >> Hard code scala version in pom files.
> >>
> >> Unfortunately, having an expression inside of an artifactId causes
> >> warnings from Maven.
> >>
> >>
> >> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
> >> Commit:
> >> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
> >> Tree:
> http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
> >> Diff:
> http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
> >>
> >> Branch: refs/heads/branch-0.8
> >> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
> >> Parents: 7f71f49
> >> Author: Patrick Wendell <pw...@gmail.com>
> >> Authored: Sun Sep 15 16:56:30 2013 -0700
> >> Committer: Patrick Wendell <pw...@gmail.com>
> >> Committed: Sun Sep 15 16:56:30 2013 -0700
> >>
> >> ----------------------------------------------------------------------
> >>  assembly/pom.xml  | 14 +++++++-------
> >>  bagel/pom.xml     |  8 ++++----
> >>  core/pom.xml      |  8 ++++----
> >>  examples/pom.xml  | 14 +++++++-------
> >>  mllib/pom.xml     |  8 ++++----
> >>  pom.xml           |  6 +++---
> >>  repl-bin/pom.xml  |  8 ++++----
> >>  repl/pom.xml      | 12 ++++++------
> >>  streaming/pom.xml |  8 ++++----
> >>  tools/pom.xml     |  8 ++++----
> >>  yarn/pom.xml      |  4 ++--
> >>  11 files changed, 49 insertions(+), 49 deletions(-)
> >> ----------------------------------------------------------------------
> >>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/assembly/pom.xml b/assembly/pom.xml
> >> index 778f7b1..397f79d 100644
> >> --- a/assembly/pom.xml
> >> +++ b/assembly/pom.xml
> >> @@ -26,7 +26,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-assembly_${scala.version}</artifactId>
> >> +  <artifactId>spark-assembly_2.9.3</artifactId>
> >>    <name>Spark Project Assembly</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >>
> >> @@ -41,27 +41,27 @@
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >> @@ -128,7 +128,7 @@
> >>        <dependencies>
> >>          <dependency>
> >>            <groupId>org.apache.spark</groupId>
> >> -          <artifactId>spark-yarn_${scala.version}</artifactId>
> >> +          <artifactId>spark-yarn_2.9.3</artifactId>
> >>            <version>${project.version}</version>
> >>          </dependency>
> >>        </dependencies>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/bagel/pom.xml b/bagel/pom.xml
> >> index 1248b04..9839aa5 100644
> >> --- a/bagel/pom.xml
> >> +++ b/bagel/pom.xml
> >> @@ -26,7 +26,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-bagel_${scala.version}</artifactId>
> >> +  <artifactId>spark-bagel_2.9.3</artifactId>
> >>    <packaging>jar</packaging>
> >>    <name>Spark Project Bagel</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >> @@ -34,7 +34,7 @@
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >> @@ -43,12 +43,12 @@
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalatest</groupId>
> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalacheck</groupId>
> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>    </dependencies>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/core/pom.xml b/core/pom.xml
> >> index 53756e9..b20ace9 100644
> >> --- a/core/pom.xml
> >> +++ b/core/pom.xml
> >> @@ -26,7 +26,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-core_${scala.version}</artifactId>
> >> +  <artifactId>spark-core_2.9.3</artifactId>
> >>    <packaging>jar</packaging>
> >>    <name>Spark Project Core</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >> @@ -82,7 +82,7 @@
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>com.twitter</groupId>
> >> -      <artifactId>chill_${scala.version}</artifactId>
> >> +      <artifactId>chill_2.9.3</artifactId>
> >>        <version>0.3.1</version>
> >>      </dependency>
> >>      <dependency>
> >> @@ -161,12 +161,12 @@
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalatest</groupId>
> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalacheck</groupId>
> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/examples/pom.xml b/examples/pom.xml
> >> index aaa2f04..99ff67a 100644
> >> --- a/examples/pom.xml
> >> +++ b/examples/pom.xml
> >> @@ -26,7 +26,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-examples_${scala.version}</artifactId>
> >> +  <artifactId>spark-examples_2.9.3</artifactId>
> >>    <packaging>jar</packaging>
> >>    <name>Spark Project Examples</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >> @@ -34,25 +34,25 @@
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>        <scope>provided</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>        <scope>provided</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>        <scope>provided</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>        <scope>provided</scope>
> >>      </dependency>
> >> @@ -82,12 +82,12 @@
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalatest</groupId>
> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalacheck</groupId>
> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/mllib/pom.xml b/mllib/pom.xml
> >> index ceddb78..11c0334 100644
> >> --- a/mllib/pom.xml
> >> +++ b/mllib/pom.xml
> >> @@ -26,7 +26,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-mllib_${scala.version}</artifactId>
> >> +  <artifactId>spark-mllib_2.9.3</artifactId>
> >>    <packaging>jar</packaging>
> >>    <name>Spark Project ML Library</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >> @@ -34,7 +34,7 @@
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >> @@ -48,12 +48,12 @@
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalatest</groupId>
> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalacheck</groupId>
> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/pom.xml b/pom.xml
> >> index eb21dd9..0bd01f5 100644
> >> --- a/pom.xml
> >> +++ b/pom.xml
> >> @@ -215,7 +215,7 @@
> >>        </dependency>
> >>        <dependency>
> >>          <groupId>com.twitter</groupId>
> >> -        <artifactId>chill_${scala.version}</artifactId>
> >> +        <artifactId>chill_2.9.3</artifactId>
> >>          <version>0.3.1</version>
> >>        </dependency>
> >>        <dependency>
> >> @@ -323,7 +323,7 @@
> >>
> >>        <dependency>
> >>          <groupId>org.scalatest</groupId>
> >> -        <artifactId>scalatest_${scala.version}</artifactId>
> >> +        <artifactId>scalatest_2.9.3</artifactId>
> >>          <version>1.9.1</version>
> >>          <scope>test</scope>
> >>        </dependency>
> >> @@ -335,7 +335,7 @@
> >>        </dependency>
> >>        <dependency>
> >>          <groupId>org.scalacheck</groupId>
> >> -        <artifactId>scalacheck_${scala.version}</artifactId>
> >> +        <artifactId>scalacheck_2.9.3</artifactId>
> >>          <version>1.10.0</version>
> >>          <scope>test</scope>
> >>        </dependency>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
> >> index bb77987..e2e1d8e 100644
> >> --- a/repl-bin/pom.xml
> >> +++ b/repl-bin/pom.xml
> >> @@ -26,7 +26,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
> >> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
> >>    <packaging>pom</packaging>
> >>    <name>Spark Project REPL binary packaging</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >> @@ -40,18 +40,18 @@
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>        <scope>runtime</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-repl_${scala.version}</artifactId>
> >> +      <artifactId>spark-repl_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>        <scope>runtime</scope>
> >>      </dependency>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/repl/pom.xml b/repl/pom.xml
> >> index 07d3d67..d2c71f6 100644
> >> --- a/repl/pom.xml
> >> +++ b/repl/pom.xml
> >> @@ -26,7 +26,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-repl_${scala.version}</artifactId>
> >> +  <artifactId>spark-repl_2.9.3</artifactId>
> >>    <packaging>jar</packaging>
> >>    <name>Spark Project REPL</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >> @@ -39,18 +39,18 @@
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> >> +      <artifactId>spark-bagel_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>        <scope>runtime</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> >> +      <artifactId>spark-mllib_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>        <scope>runtime</scope>
> >>      </dependency>
> >> @@ -76,12 +76,12 @@
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalatest</groupId>
> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalacheck</groupId>
> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>    </dependencies>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/streaming/pom.xml b/streaming/pom.xml
> >> index ffe0c6e..f94e7e0 100644
> >> --- a/streaming/pom.xml
> >> +++ b/streaming/pom.xml
> >> @@ -26,7 +26,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-streaming_${scala.version}</artifactId>
> >> +  <artifactId>spark-streaming_2.9.3</artifactId>
> >>    <packaging>jar</packaging>
> >>    <name>Spark Project Streaming</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >> @@ -42,7 +42,7 @@
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >> @@ -91,12 +91,12 @@
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalatest</groupId>
> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalacheck</groupId>
> >> -      <artifactId>scalacheck_${scala.version}</artifactId>
> >> +      <artifactId>scalacheck_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>      <dependency>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/tools/pom.xml b/tools/pom.xml
> >> index e5080b3..40288da 100644
> >> --- a/tools/pom.xml
> >> +++ b/tools/pom.xml
> >> @@ -25,7 +25,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-tools_${scala.version}</artifactId>
> >> +  <artifactId>spark-tools_2.9.3</artifactId>
> >>    <packaging>jar</packaging>
> >>    <name>Spark Project Tools</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >> @@ -33,17 +33,17 @@
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> >> +      <artifactId>spark-streaming_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>org.scalatest</groupId>
> >> -      <artifactId>scalatest_${scala.version}</artifactId>
> >> +      <artifactId>scalatest_2.9.3</artifactId>
> >>        <scope>test</scope>
> >>      </dependency>
> >>    </dependencies>
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/yarn/pom.xml b/yarn/pom.xml
> >> index 94d3025..b1674d2 100644
> >> --- a/yarn/pom.xml
> >> +++ b/yarn/pom.xml
> >> @@ -25,7 +25,7 @@
> >>    </parent>
> >>
> >>    <groupId>org.apache.spark</groupId>
> >> -  <artifactId>spark-yarn_${scala.version}</artifactId>
> >> +  <artifactId>spark-yarn_2.9.3</artifactId>
> >>    <packaging>jar</packaging>
> >>    <name>Spark Project YARN Support</name>
> >>    <url>http://spark.incubator.apache.org/</url>
> >> @@ -33,7 +33,7 @@
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>org.apache.spark</groupId>
> >> -      <artifactId>spark-core_${scala.version}</artifactId>
> >> +      <artifactId>spark-core_2.9.3</artifactId>
> >>        <version>${project.version}</version>
> >>      </dependency>
> >>      <dependency>
> >>
> >>
>

Re: git commit: Hard code scala version in pom files.

Posted by Patrick Wendell <pw...@gmail.com>.
Hey Mark,

Could you describe a user whose behavior is changed by this, and how
it is changed? This commit actually brings 0.8 in line with the 0.7
and 0.6 branches, where the scala version is hard coded in the
released artifacts:

http://repo1.maven.org/maven2/org/spark-project/spark-streaming_2.9.3/0.7.3/spark-streaming_2.9.3-0.7.3.pom

That seems to me to minimize the changes in user behavior as much as
possible. It would be bad if during the 0.8 release the format of our
released artifacts changed in a way that caused things to break for
users. One example of something that could break is an IDE or some
other tool that consumes these builds downstream and isn't aware of
scala versioning.

We can have a more intricate solution on the master branch if you'd
like. This is just a fix to bring the 0.8 branch into line with our
existing releases (and since 0.8 only supports scala 2.9.3 anyways,
I'm still not sure how this could affect any users adversely).

- Patrick

On Sun, Sep 15, 2013 at 5:41 PM, Mark Hamstra <ma...@clearstorydata.com> wrote:
> Whoa there, cowboy!
>
> It's just a warning, and removing parameterized artifactIds (or versions)
> is a significant change in functionality that necessitates changes in user
> behavior.  At a minimum, this needs to be discussed before we go this
> route.  If we really want to get rid of the warnings right away, then we
> should try not to lose functionality and to require as little user behavior
> change as possible.  The Maven Archetype
> Plugin<http://maven.apache.org/guides/introduction/introduction-to-archetypes.html>
> may
> be the right way to do that.
>
> Do we have some set-in-stone requirement to quash all maven warnings before
> release?  If not, I'd recommend leaving the parameterized pom files in
> place for now and change over to something like archetypes for 0.8.1 -- the
> change to use archetypes is bigger than I am comfortable with making
> hastily as we try to get 0.8.0 released.
>
>
>
> On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:
>
>> Updated Branches:
>>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
>>
>>
>> Hard code scala version in pom files.
>>
>> Unfortunately, having an expression inside of an artifactId causes
>> warnings from Maven.
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
>> Commit:
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
>> Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
>> Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
>>
>> Branch: refs/heads/branch-0.8
>> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
>> Parents: 7f71f49
>> Author: Patrick Wendell <pw...@gmail.com>
>> Authored: Sun Sep 15 16:56:30 2013 -0700
>> Committer: Patrick Wendell <pw...@gmail.com>
>> Committed: Sun Sep 15 16:56:30 2013 -0700
>>
>> ----------------------------------------------------------------------
>>  assembly/pom.xml  | 14 +++++++-------
>>  bagel/pom.xml     |  8 ++++----
>>  core/pom.xml      |  8 ++++----
>>  examples/pom.xml  | 14 +++++++-------
>>  mllib/pom.xml     |  8 ++++----
>>  pom.xml           |  6 +++---
>>  repl-bin/pom.xml  |  8 ++++----
>>  repl/pom.xml      | 12 ++++++------
>>  streaming/pom.xml |  8 ++++----
>>  tools/pom.xml     |  8 ++++----
>>  yarn/pom.xml      |  4 ++--
>>  11 files changed, 49 insertions(+), 49 deletions(-)
>> ----------------------------------------------------------------------
>>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/assembly/pom.xml b/assembly/pom.xml
>> index 778f7b1..397f79d 100644
>> --- a/assembly/pom.xml
>> +++ b/assembly/pom.xml
>> @@ -26,7 +26,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-assembly_${scala.version}</artifactId>
>> +  <artifactId>spark-assembly_2.9.3</artifactId>
>>    <name>Spark Project Assembly</name>
>>    <url>http://spark.incubator.apache.org/</url>
>>
>> @@ -41,27 +41,27 @@
>>    <dependencies>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-core_${scala.version}</artifactId>
>> +      <artifactId>spark-core_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> +      <artifactId>spark-mllib_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> +      <artifactId>spark-repl_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> +      <artifactId>spark-streaming_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>> @@ -128,7 +128,7 @@
>>        <dependencies>
>>          <dependency>
>>            <groupId>org.apache.spark</groupId>
>> -          <artifactId>spark-yarn_${scala.version}</artifactId>
>> +          <artifactId>spark-yarn_2.9.3</artifactId>
>>            <version>${project.version}</version>
>>          </dependency>
>>        </dependencies>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/bagel/pom.xml b/bagel/pom.xml
>> index 1248b04..9839aa5 100644
>> --- a/bagel/pom.xml
>> +++ b/bagel/pom.xml
>> @@ -26,7 +26,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-bagel_${scala.version}</artifactId>
>> +  <artifactId>spark-bagel_2.9.3</artifactId>
>>    <packaging>jar</packaging>
>>    <name>Spark Project Bagel</name>
>>    <url>http://spark.incubator.apache.org/</url>
>> @@ -34,7 +34,7 @@
>>    <dependencies>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-core_${scala.version}</artifactId>
>> +      <artifactId>spark-core_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>> @@ -43,12 +43,12 @@
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalatest</groupId>
>> -      <artifactId>scalatest_${scala.version}</artifactId>
>> +      <artifactId>scalatest_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalacheck</groupId>
>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>    </dependencies>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/core/pom.xml b/core/pom.xml
>> index 53756e9..b20ace9 100644
>> --- a/core/pom.xml
>> +++ b/core/pom.xml
>> @@ -26,7 +26,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-core_${scala.version}</artifactId>
>> +  <artifactId>spark-core_2.9.3</artifactId>
>>    <packaging>jar</packaging>
>>    <name>Spark Project Core</name>
>>    <url>http://spark.incubator.apache.org/</url>
>> @@ -82,7 +82,7 @@
>>      </dependency>
>>      <dependency>
>>        <groupId>com.twitter</groupId>
>> -      <artifactId>chill_${scala.version}</artifactId>
>> +      <artifactId>chill_2.9.3</artifactId>
>>        <version>0.3.1</version>
>>      </dependency>
>>      <dependency>
>> @@ -161,12 +161,12 @@
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalatest</groupId>
>> -      <artifactId>scalatest_${scala.version}</artifactId>
>> +      <artifactId>scalatest_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalacheck</groupId>
>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/examples/pom.xml b/examples/pom.xml
>> index aaa2f04..99ff67a 100644
>> --- a/examples/pom.xml
>> +++ b/examples/pom.xml
>> @@ -26,7 +26,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-examples_${scala.version}</artifactId>
>> +  <artifactId>spark-examples_2.9.3</artifactId>
>>    <packaging>jar</packaging>
>>    <name>Spark Project Examples</name>
>>    <url>http://spark.incubator.apache.org/</url>
>> @@ -34,25 +34,25 @@
>>    <dependencies>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-core_${scala.version}</artifactId>
>> +      <artifactId>spark-core_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>        <scope>provided</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> +      <artifactId>spark-streaming_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>        <scope>provided</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> +      <artifactId>spark-mllib_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>        <scope>provided</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>        <scope>provided</scope>
>>      </dependency>
>> @@ -82,12 +82,12 @@
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalatest</groupId>
>> -      <artifactId>scalatest_${scala.version}</artifactId>
>> +      <artifactId>scalatest_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalacheck</groupId>
>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/mllib/pom.xml b/mllib/pom.xml
>> index ceddb78..11c0334 100644
>> --- a/mllib/pom.xml
>> +++ b/mllib/pom.xml
>> @@ -26,7 +26,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-mllib_${scala.version}</artifactId>
>> +  <artifactId>spark-mllib_2.9.3</artifactId>
>>    <packaging>jar</packaging>
>>    <name>Spark Project ML Library</name>
>>    <url>http://spark.incubator.apache.org/</url>
>> @@ -34,7 +34,7 @@
>>    <dependencies>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-core_${scala.version}</artifactId>
>> +      <artifactId>spark-core_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>> @@ -48,12 +48,12 @@
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalatest</groupId>
>> -      <artifactId>scalatest_${scala.version}</artifactId>
>> +      <artifactId>scalatest_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalacheck</groupId>
>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/pom.xml b/pom.xml
>> index eb21dd9..0bd01f5 100644
>> --- a/pom.xml
>> +++ b/pom.xml
>> @@ -215,7 +215,7 @@
>>        </dependency>
>>        <dependency>
>>          <groupId>com.twitter</groupId>
>> -        <artifactId>chill_${scala.version}</artifactId>
>> +        <artifactId>chill_2.9.3</artifactId>
>>          <version>0.3.1</version>
>>        </dependency>
>>        <dependency>
>> @@ -323,7 +323,7 @@
>>
>>        <dependency>
>>          <groupId>org.scalatest</groupId>
>> -        <artifactId>scalatest_${scala.version}</artifactId>
>> +        <artifactId>scalatest_2.9.3</artifactId>
>>          <version>1.9.1</version>
>>          <scope>test</scope>
>>        </dependency>
>> @@ -335,7 +335,7 @@
>>        </dependency>
>>        <dependency>
>>          <groupId>org.scalacheck</groupId>
>> -        <artifactId>scalacheck_${scala.version}</artifactId>
>> +        <artifactId>scalacheck_2.9.3</artifactId>
>>          <version>1.10.0</version>
>>          <scope>test</scope>
>>        </dependency>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
>> index bb77987..e2e1d8e 100644
>> --- a/repl-bin/pom.xml
>> +++ b/repl-bin/pom.xml
>> @@ -26,7 +26,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
>> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
>>    <packaging>pom</packaging>
>>    <name>Spark Project REPL binary packaging</name>
>>    <url>http://spark.incubator.apache.org/</url>
>> @@ -40,18 +40,18 @@
>>    <dependencies>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-core_${scala.version}</artifactId>
>> +      <artifactId>spark-core_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>        <scope>runtime</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-repl_${scala.version}</artifactId>
>> +      <artifactId>spark-repl_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>        <scope>runtime</scope>
>>      </dependency>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/repl/pom.xml b/repl/pom.xml
>> index 07d3d67..d2c71f6 100644
>> --- a/repl/pom.xml
>> +++ b/repl/pom.xml
>> @@ -26,7 +26,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-repl_${scala.version}</artifactId>
>> +  <artifactId>spark-repl_2.9.3</artifactId>
>>    <packaging>jar</packaging>
>>    <name>Spark Project REPL</name>
>>    <url>http://spark.incubator.apache.org/</url>
>> @@ -39,18 +39,18 @@
>>    <dependencies>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-core_${scala.version}</artifactId>
>> +      <artifactId>spark-core_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-bagel_${scala.version}</artifactId>
>> +      <artifactId>spark-bagel_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>        <scope>runtime</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-mllib_${scala.version}</artifactId>
>> +      <artifactId>spark-mllib_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>        <scope>runtime</scope>
>>      </dependency>
>> @@ -76,12 +76,12 @@
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalatest</groupId>
>> -      <artifactId>scalatest_${scala.version}</artifactId>
>> +      <artifactId>scalatest_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalacheck</groupId>
>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>    </dependencies>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/streaming/pom.xml b/streaming/pom.xml
>> index ffe0c6e..f94e7e0 100644
>> --- a/streaming/pom.xml
>> +++ b/streaming/pom.xml
>> @@ -26,7 +26,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-streaming_${scala.version}</artifactId>
>> +  <artifactId>spark-streaming_2.9.3</artifactId>
>>    <packaging>jar</packaging>
>>    <name>Spark Project Streaming</name>
>>    <url>http://spark.incubator.apache.org/</url>
>> @@ -42,7 +42,7 @@
>>    <dependencies>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-core_${scala.version}</artifactId>
>> +      <artifactId>spark-core_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>> @@ -91,12 +91,12 @@
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalatest</groupId>
>> -      <artifactId>scalatest_${scala.version}</artifactId>
>> +      <artifactId>scalatest_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalacheck</groupId>
>> -      <artifactId>scalacheck_${scala.version}</artifactId>
>> +      <artifactId>scalacheck_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>      <dependency>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/tools/pom.xml b/tools/pom.xml
>> index e5080b3..40288da 100644
>> --- a/tools/pom.xml
>> +++ b/tools/pom.xml
>> @@ -25,7 +25,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-tools_${scala.version}</artifactId>
>> +  <artifactId>spark-tools_2.9.3</artifactId>
>>    <packaging>jar</packaging>
>>    <name>Spark Project Tools</name>
>>    <url>http://spark.incubator.apache.org/</url>
>> @@ -33,17 +33,17 @@
>>    <dependencies>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-core_${scala.version}</artifactId>
>> +      <artifactId>spark-core_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-streaming_${scala.version}</artifactId>
>> +      <artifactId>spark-streaming_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>>        <groupId>org.scalatest</groupId>
>> -      <artifactId>scalatest_${scala.version}</artifactId>
>> +      <artifactId>scalatest_2.9.3</artifactId>
>>        <scope>test</scope>
>>      </dependency>
>>    </dependencies>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
>> ----------------------------------------------------------------------
>> diff --git a/yarn/pom.xml b/yarn/pom.xml
>> index 94d3025..b1674d2 100644
>> --- a/yarn/pom.xml
>> +++ b/yarn/pom.xml
>> @@ -25,7 +25,7 @@
>>    </parent>
>>
>>    <groupId>org.apache.spark</groupId>
>> -  <artifactId>spark-yarn_${scala.version}</artifactId>
>> +  <artifactId>spark-yarn_2.9.3</artifactId>
>>    <packaging>jar</packaging>
>>    <name>Spark Project YARN Support</name>
>>    <url>http://spark.incubator.apache.org/</url>
>> @@ -33,7 +33,7 @@
>>    <dependencies>
>>      <dependency>
>>        <groupId>org.apache.spark</groupId>
>> -      <artifactId>spark-core_${scala.version}</artifactId>
>> +      <artifactId>spark-core_2.9.3</artifactId>
>>        <version>${project.version}</version>
>>      </dependency>
>>      <dependency>
>>
>>

Re: git commit: Hard code scala version in pom files.

Posted by Mark Hamstra <ma...@clearstorydata.com>.
Whoa there, cowboy!

It's just a warning, and removing parameterized artifactIds (or versions)
is a significant change in functionality that necessitates changes in user
behavior.  At a minimum, this needs to be discussed before we go this
route.  If we really want to get rid of the warnings right away, then we
should try not to lose functionality and to require as little user behavior
change as possible.  The Maven Archetype
Plugin<http://maven.apache.org/guides/introduction/introduction-to-archetypes.html>
may
be the right way to do that.

Do we have some set-in-stone requirement to quash all maven warnings before
release?  If not, I'd recommend leaving the parameterized pom files in
place for now and change over to something like archetypes for 0.8.1 -- the
change to use archetypes is bigger than I am comfortable with making
hastily as we try to get 0.8.0 released.



On Sun, Sep 15, 2013 at 4:58 PM, <pw...@apache.org> wrote:

> Updated Branches:
>   refs/heads/branch-0.8 7f71f49ad -> a1e7e5196
>
>
> Hard code scala version in pom files.
>
> Unfortunately, having an expression inside of an artifactId causes
> warnings from Maven.
>
>
> Project: http://git-wip-us.apache.org/repos/asf/incubator-spark/repo
> Commit:
> http://git-wip-us.apache.org/repos/asf/incubator-spark/commit/a1e7e519
> Tree: http://git-wip-us.apache.org/repos/asf/incubator-spark/tree/a1e7e519
> Diff: http://git-wip-us.apache.org/repos/asf/incubator-spark/diff/a1e7e519
>
> Branch: refs/heads/branch-0.8
> Commit: a1e7e519653beae47cafccbb9e335bc74986c0dc
> Parents: 7f71f49
> Author: Patrick Wendell <pw...@gmail.com>
> Authored: Sun Sep 15 16:56:30 2013 -0700
> Committer: Patrick Wendell <pw...@gmail.com>
> Committed: Sun Sep 15 16:56:30 2013 -0700
>
> ----------------------------------------------------------------------
>  assembly/pom.xml  | 14 +++++++-------
>  bagel/pom.xml     |  8 ++++----
>  core/pom.xml      |  8 ++++----
>  examples/pom.xml  | 14 +++++++-------
>  mllib/pom.xml     |  8 ++++----
>  pom.xml           |  6 +++---
>  repl-bin/pom.xml  |  8 ++++----
>  repl/pom.xml      | 12 ++++++------
>  streaming/pom.xml |  8 ++++----
>  tools/pom.xml     |  8 ++++----
>  yarn/pom.xml      |  4 ++--
>  11 files changed, 49 insertions(+), 49 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/assembly/pom.xml
> ----------------------------------------------------------------------
> diff --git a/assembly/pom.xml b/assembly/pom.xml
> index 778f7b1..397f79d 100644
> --- a/assembly/pom.xml
> +++ b/assembly/pom.xml
> @@ -26,7 +26,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-assembly_${scala.version}</artifactId>
> +  <artifactId>spark-assembly_2.9.3</artifactId>
>    <name>Spark Project Assembly</name>
>    <url>http://spark.incubator.apache.org/</url>
>
> @@ -41,27 +41,27 @@
>    <dependencies>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-core_${scala.version}</artifactId>
> +      <artifactId>spark-core_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> +      <artifactId>spark-bagel_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> +      <artifactId>spark-mllib_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-repl_${scala.version}</artifactId>
> +      <artifactId>spark-repl_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> +      <artifactId>spark-streaming_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
> @@ -128,7 +128,7 @@
>        <dependencies>
>          <dependency>
>            <groupId>org.apache.spark</groupId>
> -          <artifactId>spark-yarn_${scala.version}</artifactId>
> +          <artifactId>spark-yarn_2.9.3</artifactId>
>            <version>${project.version}</version>
>          </dependency>
>        </dependencies>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/bagel/pom.xml
> ----------------------------------------------------------------------
> diff --git a/bagel/pom.xml b/bagel/pom.xml
> index 1248b04..9839aa5 100644
> --- a/bagel/pom.xml
> +++ b/bagel/pom.xml
> @@ -26,7 +26,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-bagel_${scala.version}</artifactId>
> +  <artifactId>spark-bagel_2.9.3</artifactId>
>    <packaging>jar</packaging>
>    <name>Spark Project Bagel</name>
>    <url>http://spark.incubator.apache.org/</url>
> @@ -34,7 +34,7 @@
>    <dependencies>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-core_${scala.version}</artifactId>
> +      <artifactId>spark-core_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
> @@ -43,12 +43,12 @@
>      </dependency>
>      <dependency>
>        <groupId>org.scalatest</groupId>
> -      <artifactId>scalatest_${scala.version}</artifactId>
> +      <artifactId>scalatest_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.scalacheck</groupId>
> -      <artifactId>scalacheck_${scala.version}</artifactId>
> +      <artifactId>scalacheck_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>    </dependencies>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/core/pom.xml
> ----------------------------------------------------------------------
> diff --git a/core/pom.xml b/core/pom.xml
> index 53756e9..b20ace9 100644
> --- a/core/pom.xml
> +++ b/core/pom.xml
> @@ -26,7 +26,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-core_${scala.version}</artifactId>
> +  <artifactId>spark-core_2.9.3</artifactId>
>    <packaging>jar</packaging>
>    <name>Spark Project Core</name>
>    <url>http://spark.incubator.apache.org/</url>
> @@ -82,7 +82,7 @@
>      </dependency>
>      <dependency>
>        <groupId>com.twitter</groupId>
> -      <artifactId>chill_${scala.version}</artifactId>
> +      <artifactId>chill_2.9.3</artifactId>
>        <version>0.3.1</version>
>      </dependency>
>      <dependency>
> @@ -161,12 +161,12 @@
>      </dependency>
>      <dependency>
>        <groupId>org.scalatest</groupId>
> -      <artifactId>scalatest_${scala.version}</artifactId>
> +      <artifactId>scalatest_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.scalacheck</groupId>
> -      <artifactId>scalacheck_${scala.version}</artifactId>
> +      <artifactId>scalacheck_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/examples/pom.xml
> ----------------------------------------------------------------------
> diff --git a/examples/pom.xml b/examples/pom.xml
> index aaa2f04..99ff67a 100644
> --- a/examples/pom.xml
> +++ b/examples/pom.xml
> @@ -26,7 +26,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-examples_${scala.version}</artifactId>
> +  <artifactId>spark-examples_2.9.3</artifactId>
>    <packaging>jar</packaging>
>    <name>Spark Project Examples</name>
>    <url>http://spark.incubator.apache.org/</url>
> @@ -34,25 +34,25 @@
>    <dependencies>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-core_${scala.version}</artifactId>
> +      <artifactId>spark-core_2.9.3</artifactId>
>        <version>${project.version}</version>
>        <scope>provided</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> +      <artifactId>spark-streaming_2.9.3</artifactId>
>        <version>${project.version}</version>
>        <scope>provided</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> +      <artifactId>spark-mllib_2.9.3</artifactId>
>        <version>${project.version}</version>
>        <scope>provided</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> +      <artifactId>spark-bagel_2.9.3</artifactId>
>        <version>${project.version}</version>
>        <scope>provided</scope>
>      </dependency>
> @@ -82,12 +82,12 @@
>      </dependency>
>      <dependency>
>        <groupId>org.scalatest</groupId>
> -      <artifactId>scalatest_${scala.version}</artifactId>
> +      <artifactId>scalatest_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.scalacheck</groupId>
> -      <artifactId>scalacheck_${scala.version}</artifactId>
> +      <artifactId>scalacheck_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/mllib/pom.xml
> ----------------------------------------------------------------------
> diff --git a/mllib/pom.xml b/mllib/pom.xml
> index ceddb78..11c0334 100644
> --- a/mllib/pom.xml
> +++ b/mllib/pom.xml
> @@ -26,7 +26,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-mllib_${scala.version}</artifactId>
> +  <artifactId>spark-mllib_2.9.3</artifactId>
>    <packaging>jar</packaging>
>    <name>Spark Project ML Library</name>
>    <url>http://spark.incubator.apache.org/</url>
> @@ -34,7 +34,7 @@
>    <dependencies>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-core_${scala.version}</artifactId>
> +      <artifactId>spark-core_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
> @@ -48,12 +48,12 @@
>      </dependency>
>      <dependency>
>        <groupId>org.scalatest</groupId>
> -      <artifactId>scalatest_${scala.version}</artifactId>
> +      <artifactId>scalatest_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.scalacheck</groupId>
> -      <artifactId>scalacheck_${scala.version}</artifactId>
> +      <artifactId>scalacheck_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/pom.xml
> ----------------------------------------------------------------------
> diff --git a/pom.xml b/pom.xml
> index eb21dd9..0bd01f5 100644
> --- a/pom.xml
> +++ b/pom.xml
> @@ -215,7 +215,7 @@
>        </dependency>
>        <dependency>
>          <groupId>com.twitter</groupId>
> -        <artifactId>chill_${scala.version}</artifactId>
> +        <artifactId>chill_2.9.3</artifactId>
>          <version>0.3.1</version>
>        </dependency>
>        <dependency>
> @@ -323,7 +323,7 @@
>
>        <dependency>
>          <groupId>org.scalatest</groupId>
> -        <artifactId>scalatest_${scala.version}</artifactId>
> +        <artifactId>scalatest_2.9.3</artifactId>
>          <version>1.9.1</version>
>          <scope>test</scope>
>        </dependency>
> @@ -335,7 +335,7 @@
>        </dependency>
>        <dependency>
>          <groupId>org.scalacheck</groupId>
> -        <artifactId>scalacheck_${scala.version}</artifactId>
> +        <artifactId>scalacheck_2.9.3</artifactId>
>          <version>1.10.0</version>
>          <scope>test</scope>
>        </dependency>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl-bin/pom.xml
> ----------------------------------------------------------------------
> diff --git a/repl-bin/pom.xml b/repl-bin/pom.xml
> index bb77987..e2e1d8e 100644
> --- a/repl-bin/pom.xml
> +++ b/repl-bin/pom.xml
> @@ -26,7 +26,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-repl-bin_${scala.version}</artifactId>
> +  <artifactId>spark-repl-bin_2.9.3</artifactId>
>    <packaging>pom</packaging>
>    <name>Spark Project REPL binary packaging</name>
>    <url>http://spark.incubator.apache.org/</url>
> @@ -40,18 +40,18 @@
>    <dependencies>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-core_${scala.version}</artifactId>
> +      <artifactId>spark-core_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> +      <artifactId>spark-bagel_2.9.3</artifactId>
>        <version>${project.version}</version>
>        <scope>runtime</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-repl_${scala.version}</artifactId>
> +      <artifactId>spark-repl_2.9.3</artifactId>
>        <version>${project.version}</version>
>        <scope>runtime</scope>
>      </dependency>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/repl/pom.xml
> ----------------------------------------------------------------------
> diff --git a/repl/pom.xml b/repl/pom.xml
> index 07d3d67..d2c71f6 100644
> --- a/repl/pom.xml
> +++ b/repl/pom.xml
> @@ -26,7 +26,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-repl_${scala.version}</artifactId>
> +  <artifactId>spark-repl_2.9.3</artifactId>
>    <packaging>jar</packaging>
>    <name>Spark Project REPL</name>
>    <url>http://spark.incubator.apache.org/</url>
> @@ -39,18 +39,18 @@
>    <dependencies>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-core_${scala.version}</artifactId>
> +      <artifactId>spark-core_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-bagel_${scala.version}</artifactId>
> +      <artifactId>spark-bagel_2.9.3</artifactId>
>        <version>${project.version}</version>
>        <scope>runtime</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-mllib_${scala.version}</artifactId>
> +      <artifactId>spark-mllib_2.9.3</artifactId>
>        <version>${project.version}</version>
>        <scope>runtime</scope>
>      </dependency>
> @@ -76,12 +76,12 @@
>      </dependency>
>      <dependency>
>        <groupId>org.scalatest</groupId>
> -      <artifactId>scalatest_${scala.version}</artifactId>
> +      <artifactId>scalatest_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.scalacheck</groupId>
> -      <artifactId>scalacheck_${scala.version}</artifactId>
> +      <artifactId>scalacheck_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>    </dependencies>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/streaming/pom.xml
> ----------------------------------------------------------------------
> diff --git a/streaming/pom.xml b/streaming/pom.xml
> index ffe0c6e..f94e7e0 100644
> --- a/streaming/pom.xml
> +++ b/streaming/pom.xml
> @@ -26,7 +26,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-streaming_${scala.version}</artifactId>
> +  <artifactId>spark-streaming_2.9.3</artifactId>
>    <packaging>jar</packaging>
>    <name>Spark Project Streaming</name>
>    <url>http://spark.incubator.apache.org/</url>
> @@ -42,7 +42,7 @@
>    <dependencies>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-core_${scala.version}</artifactId>
> +      <artifactId>spark-core_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
> @@ -91,12 +91,12 @@
>      </dependency>
>      <dependency>
>        <groupId>org.scalatest</groupId>
> -      <artifactId>scalatest_${scala.version}</artifactId>
> +      <artifactId>scalatest_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>        <groupId>org.scalacheck</groupId>
> -      <artifactId>scalacheck_${scala.version}</artifactId>
> +      <artifactId>scalacheck_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>      <dependency>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/tools/pom.xml
> ----------------------------------------------------------------------
> diff --git a/tools/pom.xml b/tools/pom.xml
> index e5080b3..40288da 100644
> --- a/tools/pom.xml
> +++ b/tools/pom.xml
> @@ -25,7 +25,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-tools_${scala.version}</artifactId>
> +  <artifactId>spark-tools_2.9.3</artifactId>
>    <packaging>jar</packaging>
>    <name>Spark Project Tools</name>
>    <url>http://spark.incubator.apache.org/</url>
> @@ -33,17 +33,17 @@
>    <dependencies>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-core_${scala.version}</artifactId>
> +      <artifactId>spark-core_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-streaming_${scala.version}</artifactId>
> +      <artifactId>spark-streaming_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
>        <groupId>org.scalatest</groupId>
> -      <artifactId>scalatest_${scala.version}</artifactId>
> +      <artifactId>scalatest_2.9.3</artifactId>
>        <scope>test</scope>
>      </dependency>
>    </dependencies>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-spark/blob/a1e7e519/yarn/pom.xml
> ----------------------------------------------------------------------
> diff --git a/yarn/pom.xml b/yarn/pom.xml
> index 94d3025..b1674d2 100644
> --- a/yarn/pom.xml
> +++ b/yarn/pom.xml
> @@ -25,7 +25,7 @@
>    </parent>
>
>    <groupId>org.apache.spark</groupId>
> -  <artifactId>spark-yarn_${scala.version}</artifactId>
> +  <artifactId>spark-yarn_2.9.3</artifactId>
>    <packaging>jar</packaging>
>    <name>Spark Project YARN Support</name>
>    <url>http://spark.incubator.apache.org/</url>
> @@ -33,7 +33,7 @@
>    <dependencies>
>      <dependency>
>        <groupId>org.apache.spark</groupId>
> -      <artifactId>spark-core_${scala.version}</artifactId>
> +      <artifactId>spark-core_2.9.3</artifactId>
>        <version>${project.version}</version>
>      </dependency>
>      <dependency>
>
>