My two cents - there are already Maven artifacts deployed for 2.11 in the SNAPSHOT repository. I think it might be confusing if they suddenly disappear for the stable release.
2015-10-29 11:58 GMT+01:00 Maximilian Michels <m...@apache.org>: > Seems like we agree that we need artifacts for different versions of Scala > on Maven. There also seems to be a preference for including the version in > the artifact name. > > I've created an issue and marked it to be resolved for 1.0. For the 0.10 > release, we will have binaries but no Maven artifacts. The biggest > challenge I see is to remove Scala from as many modules as possible. For > example, flink-java depends on Scala at the moment.. > > https://issues.apache.org/jira/browse/FLINK-2940 > > On Wed, Oct 28, 2015 at 7:31 PM, Frederick F. Kautz IV <fka...@redhat.com> > wrote: > > > No idea if I get a vote ;) Nevertheless, +1 to have binaries for both > > versions in Maven and explicitly "scala versioned". > > > > Some background on this for those not as familiar with scala versioning: > > > > It's considered best practice to label what version of scala a library > > uses in the artifact id. > > > > The reason is compiled scala code is only compatible with the major > > version of scala it was compiled for. For example, a library compatible > > with 2.10 is not compatible with 2.11. The same will be true with 2.12 > once > > it is released. Mixing versions will result in undefined behavior which > > will likely manifest itself as runtime exceptions. > > > > The convention to fix this problem is for all published libraries to > > specify the version of scala they are compatible with. Leaving out the > > scala version in a library is akin to saying "We don't depend on scala > for > > this library, so feel free to use whatever you want." Sbt users will > > typically specify the version of scala they use and tooling is built > around > > ensuring consistency with the "%%" operator. > > > > E.g. > > > > scalaVersion := "2.11.4" > > > > // this resolves to to artifactID: "scalacheck_2.11" > > libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.12.0" % > "test" > > > > The most important part of this is that the scala version is explicit > > which eliminates the problem for downstream users. > > > > Cheers, > > Frederick > > > > > > On 10/28/2015 10:55 AM, Fabian Hueske wrote: > > > >> +1 to have binaries for both versions in Maven and as build to download. > >> > >> 2015-10-26 17:11 GMT+01:00 Theodore Vasiloudis < > >> theodoros.vasilou...@gmail.com>: > >> > >> +1 for having binaries, I'm working on a Spark application currently > with > >>> Scala 2.11 and having to rebuild everything when deploying e.g. to EC2 > >>> is a > >>> pain. > >>> > >>> On Mon, Oct 26, 2015 at 4:22 PM, Ufuk Celebi <u...@apache.org> wrote: > >>> > >>> I agree with Till, but is this something you want to address in this > >>>> release already? > >>>> > >>>> I would postpone it to 1.0.0. > >>>> > >>>> – Ufuk > >>>> > >>>> On 26 Oct 2015, at 16:17, Till Rohrmann <trohrm...@apache.org> wrote: > >>>>> > >>>>> I would be in favor of deploying also Scala 2.11 artifacts to Maven > >>>>> > >>>> since > >>> > >>>> more and more people will try out Flink with Scala 2.11. Having the > >>>>> dependencies in the Maven repository makes it considerably easier for > >>>>> people to get their Flink jobs running. > >>>>> > >>>>> Furthermore, I observed that people are not aware that our deployed > >>>>> artifacts, e.g. flink-runtime, are built with Scala 2.10. As a > >>>>> > >>>> consequence, > >>>> > >>>>> they mix flink dependencies with other dependencies pulling in Scala > >>>>> > >>>> 2.11 > >>> > >>>> and then they wonder that the program crashes. It would be, imho, > >>>>> > >>>> clearer > >>> > >>>> if all our dependencies which depend on a specific Scala version would > >>>>> > >>>> have > >>>> > >>>>> the corresponding Scala suffix appended. > >>>>> > >>>>> Adding the 2.10 suffix would also spare us the hassle of upgrading > to a > >>>>> newer Scala version in the future, because then the artifacts > wouldn't > >>>>> share the same artifact name. > >>>>> > >>>>> Cheers, > >>>>> Till > >>>>> > >>>>> On Mon, Oct 26, 2015 at 4:04 PM, Maximilian Michels <m...@apache.org> > >>>>> > >>>> wrote: > >>>> > >>>>> Hi Flinksters, > >>>>>> > >>>>>> We have recently committed an easy way to change Flink's Scala > >>>>>> > >>>>> version. > >>> > >>>> The > >>>> > >>>>> question arises now whether we should ship Scala 2.11 as binaries and > >>>>>> > >>>>> via > >>>> > >>>>> Maven. For the rc0, I created all binaries twice, for Scala 2.10 and > >>>>>> > >>>>> 2.11. > >>>> > >>>>> However, I didn't create Maven artifacts. This follows our current > >>>>>> > >>>>> shipping > >>>> > >>>>> strategy where we only ship Hadoop1 and Hadoop 2.3.0 Maven > >>>>>> > >>>>> dependencies > >>> > >>>> but > >>>> > >>>>> additionally Hadoop 2.4, 2.6, 2.7 as binaries. > >>>>>> > >>>>>> Should we also upload Maven dependencies for Scala 2.11? > >>>>>> > >>>>>> If so, the next question arises: What version pattern should we have > >>>>>> > >>>>> for > >>> > >>>> the Flink Scala 2.11 dependencies? For Hadoop, we append -hadoop1 to > >>>>>> > >>>>> the > >>> > >>>> VERSION, e.g. artifactID=flink-core, version=0.9.1-hadoop1. > >>>>>> > >>>>>> However, it is common practice to append the suffix to the > artifactID > >>>>>> > >>>>> of > >>> > >>>> the Maven dependency, e.g. artifactID=flink-core_2.11, version=0.9.1. > >>>>>> > >>>>> This > >>>> > >>>>> has mostly historic reasons but is widely used. > >>>>>> > >>>>>> Whatever naming pattern we choose, it should be consistent. I would > be > >>>>>> > >>>>> in > >>>> > >>>>> favor of changing our artifact names to contain the Hadoop and Scala > >>>>>> version. This would also imply that all Scala dependent Maven > modules > >>>>>> receive a Scala suffix (also the default Scala 2.10 modules). > >>>>>> > >>>>>> Cheers, > >>>>>> Max > >>>>>> > >>>>>> > >>>> > > >