On Mon, Sep 5, 2016 at 2:55 PM, Andrew Purtell <andrew.purt...@gmail.com>
wrote:

> I also don't have experience with SBT, apologies. I did do some poking
> around on Google and it looks like SBT is well behind Maven in providing
> this type of functionality out of the box or by third party plugin
> (sbt-assembly does some useful and interesting things but is focused
> exclusively on producing über jars). I think that's to be expected given
> the origin story. "Maven is huge and crufty and we want new and simple!"
> "Ok, let's make Simple Build Tool!" Fast forward. No longer simple. Not
> able to do a lot of what Maven can. Years of reinventing the wheel ahead,
> ahoy! Happy to be corrected.
>

Heh, not to mention that Sbt is just not as flexible as maven in being able
to handle different phases and cycles of build and deployment.


> Doing what I've described looks achievable by programming what is needed
> in SBT's DSL. Source only releases for a while maybe? Or work up LICENSE
> and NOTICE files by hand and figure out how to break release builds if
> dependencies change and the metadata hasn't been updated by hand?
>
> I was wondering why Spark went with Maven for their build of reference.
>
> My little rant on SBT aside I am NOT suggesting you replace SBT with
> Maven. That would be in my opinion an unfortunate use of developer
> bandwidth better put to task getting the current software with current
> build system out the door in a first Apache release.
>

+1 and we all seem to agree for a quick source-only first release.


> > On Sep 5, 2016, at 11:23 AM, Suneel Marthi <smar...@apache.org> wrote:
> >
> > Its easy to do what Andy is describing using maven's assembly plugin in
> the
> > maven world. I have no experience with sbt so can't speak to how it can
> be
> > done with Sbt and would defer that to the experts.
> >
> > We hit a similar issue with licenses in source and binary on the first
> Pirk
> > release last week. We finally decided to make a source-only first release
> > while we r now working on fixing the binary license packaging for the
> next
> > release.
> >
> >
> >
> > On Mon, Sep 5, 2016 at 2:05 PM, Andrew Purtell <andrew.purt...@gmail.com
> >
> > wrote:
> >
> >> It covers LICENSE and NOTICE file generation for both source and binary
> >> releases, and inclusion of the resulting files in source archives,
> binary
> >> jars, and binary archives through integration with the maven build and
> >> assembly targets.
> >>
> >> Including the complete text of any given license in LICENSE is important
> >> but only needs to be done once. You retain the copyright notice and
> mention
> >> of the license type per dependency. We are just talking about
> >> deduplicating, eg 100 full texts of the ASLv2 into one.
> >>
> >>> On Sep 5, 2016, at 10:45 AM, Pat Ferrel <p...@occamsmachete.com> wrote:
> >>>
> >>> Thanks Andy.
> >>>
> >>> RE “Only need to include one entry with the complete text of a license,
> >> everything else can just name the license.” So the copyright notice in
> the
> >> license is not important, only the license type? This is often the only
> >> important difference in the license from one dep to another.
> >>>
> >>> It sounds like your automation covered LICENSE.txt creation? or just
> >> inclusion in the binary?
> >>>
> >>>
> >>>> On Sep 5, 2016, at 9:59 AM, Andrew Purtell <andrew.purt...@gmail.com>
> >>> wrote:
> >>>
> >>> I won't weigh in on the question at hand but I'd like to make a couple
> >> of clarifications for what it is worth:
> >>>
> >>>> This yielded 166 deps, so this implies we need to include 166 licenses
> >> and copyright notices in LICENSE.txt.
> >>>
> >>> There are some available simplifications:
> >>>
> >>> - Only need to include one entry with the complete text of a license,
> >> everything else can just name the license.
> >>>
> >>> - Where there are multiple artifacts coming from a single project, like
> >> Hadoop, only one entry for the project is needed.
> >>>
> >>>> Donald is looking at automating this but I’m personally dubious
> >>>
> >>> As I think I've mentioned before here we have successfully automated
> >> this for HBase (based on automation done by yet other Apache projects)
> so I
> >> hope you'll take my advice and evidence based assertion it can be done.
> >> Caveat: we use maven not SBT as build framework.
> >>>
> >>>
> >>>>
> >>>> On Sep 5, 2016, at 9:43 AM, Pat Ferrel <p...@actionml.com> wrote:
> >>>>
> >>>> This weekend I tracked down all out deps, which required a few scripts
> >> to process sbt output. This yielded 166 deps, so this implies we need to
> >> include 166 licenses and copyright notices in LICENSE.txt. As I read the
> >> Apache guidelines this should be the license that goes with the version
> we
> >> include since the copyright owner of license may have changed in newer
> >> versions.
> >>>>
> >>>> This may be near impossible to maintain by hand if we have frequent
> >> dependency upgrades and frequent releases. Donald is looking at
> automating
> >> this but I’m personally dubious about this because it require all 166
> deps
> >> have maintained their licenses in artifacts for all versions we might
> use.
> >>>>
> >>>> A source release requires that *only* the source included be reflected
> >> in LICENSES.txt. This would be ~0, I think a couple things are included.
> >>>>
> >>>> Several things lead me to favor a source-only release:
> >>>> 1) 166 licenses needed for binary ~0 needed for source—I’d rather we
> >> spend time on things that add more value
> >>>> 2) I have never used the binary release. Any version of a source
> >> download and `./make-dirstribution` works universally.
> >>>> 3) our install.sh now installs source and builds it for the user. This
> >> is good because we can use the same script for unreleased -SNAPSHOT
> >> versions sitting in the `develop` branch.
> >>>> 4) outside of instructions for downloading and installing the binary
> >> that do not yet exist afaik, there would be no obvious way for the user
> to
> >> get the binary.
> >>>> 5) indirectly any delay to release is getting to be a serious problem.
> >> We haven’t had a well supported release from the main project since
> close
> >> on a year ago and work on new features is being delayed.
> >>>> 6) we can do a source only release now and be clean of the license
> >> issue as far as the IPMC is concerned. We can add binary when we have a
> >> better answer to automation. In other words why hold the release for
> binary?
> >>>>
> >>>> Since this decision will affect the project for as long as it is in
> >> incubation. I’d like to see what others think. I believe we can release
> now
> >> if we do source-only.
> >>>>
> >>>> Source only, or source & binary?
> >>
>

Reply via email to