Yep.  Sure does look like all the things you mentioned are true.

The 'artifacts' configuration is a hold-over from the Legacy (a.k.a. Gradle
1.0) publishing, which I believe the Nexus plugin mimicked / used in its
configuration.  It looks like both the geode-pulse WAR not publishing and
the source / javadoc for everything not publishing because they're still
trying to use that configuration.  We don't honor that configuration
anymore, since we're using the maven-publish.  Of course, it's not *invalid* to
have this configuration, since it is supported for the legacy bases.

I'm happy to shoulder this fix, but I'm traveling soon for the holidays.
If anyone wants to look into it before the New Year, I've linked some
suggested reading below.

Imagination is Change.
~Patrick


Legacy Publishing:
https://docs.gradle.org/current/userguide/artifact_management.html
Modern publishing / Maven Publish plugin:
https://docs.gradle.org/current/userguide/publishing_overview.html#publishing_overview

----------
geode-pulse:154-156, using the Legacy / Nexus plugin configurations, should
perhaps be converted to a publications.publishing.warPulse(MavenPublication)
{ from war }

artifacts {
  archives war
}

----------
publish.gradle:23-35, the reference to Nexus tasks should be replaced with
something referencing the actual sources, perhaps just with from sourcesJar and
from javadocJar in addition to where we declare from components.java.
Alternatively, it might be better to declare a new publication type, so as
to keep our source, javadoc, and current publication bundles separate.
  publishing {
    publications {
      maven(MavenPublication) {
        from components.java

        afterEvaluate {
          // uses the tasks created by nexus for sources and javadoc
          if (!getTasksByName('sourcesJar', false).isEmpty()) {
            artifact sourcesJar
          }
          if (!getTasksByName('javadocJar', false).isEmpty()) {
            artifact javadocJar
          }
[...]



On Fri, Dec 21, 2018 at 2:20 PM Anthony Baker <aba...@pivotal.io> wrote:

> See also
> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_GEODE-2D6208&d=DwIFaQ&c=lnl9vOaLMzsy2niBC8-h_K-7QJuNJEsFrzdndhuJ3Sw&r=8M4XmygR-osgvDf8FLkB4n2RvfRhwyzAlOKrA4FtaMg&m=bYynbqFa-3l4TVUv4MYWqwOfv9JX2mUXDmoJC99epyw&s=fNYUyyHE6Uj2X7U-VvVojCaO8UV6MZu9Z0Wa1U-aFZ8&e=
> <
> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_GEODE-2D6208&d=DwIFaQ&c=lnl9vOaLMzsy2niBC8-h_K-7QJuNJEsFrzdndhuJ3Sw&r=8M4XmygR-osgvDf8FLkB4n2RvfRhwyzAlOKrA4FtaMg&m=bYynbqFa-3l4TVUv4MYWqwOfv9JX2mUXDmoJC99epyw&s=fNYUyyHE6Uj2X7U-VvVojCaO8UV6MZu9Z0Wa1U-aFZ8&e=>
> about publishing the pulse war.
>
> Anthony
>
>
> > On Dec 21, 2018, at 2:06 PM, Anthony Baker <aba...@pivotal.io> wrote:
> >
> > The 1.7.0 version of publish.gradle had stuff like:
> >
> > extraArchive {
> >     sources = true
> >     javadoc = true
> >     tests = false
> >   }
> >
> > and
> >
> >        afterEvaluate {
> >           // uses the tasks created by nexus for sources and javadoc
> >           if (!getTasksByName('sourcesJar', false).isEmpty()) {
> >             artifact sourcesJar
> >           }
> >           if (!getTasksByName('javadocJar', false).isEmpty()) {
> >             artifact javadocJar
> >           }
> >
> > That caused the sources + java doc to be published to maven.  There’s an
> example at [1] that shows how to do this with the new plugin.
> >
> >
> > Anthony
> >
> > [1]
> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.gradle.org_current_userguide_publishing-5Fmaven.html&d=DwIFaQ&c=lnl9vOaLMzsy2niBC8-h_K-7QJuNJEsFrzdndhuJ3Sw&r=8M4XmygR-osgvDf8FLkB4n2RvfRhwyzAlOKrA4FtaMg&m=bYynbqFa-3l4TVUv4MYWqwOfv9JX2mUXDmoJC99epyw&s=EV0YYGiuNbQX3rGXJF25KLeZiDQEr1VBK1CttR8TJj8&e=
> <
> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.gradle.org_current_userguide_publishing-5Fmaven.html&d=DwIFaQ&c=lnl9vOaLMzsy2niBC8-h_K-7QJuNJEsFrzdndhuJ3Sw&r=8M4XmygR-osgvDf8FLkB4n2RvfRhwyzAlOKrA4FtaMg&m=bYynbqFa-3l4TVUv4MYWqwOfv9JX2mUXDmoJC99epyw&s=EV0YYGiuNbQX3rGXJF25KLeZiDQEr1VBK1CttR8TJj8&e=
> >
> >
> >
> >> On Dec 21, 2018, at 1:07 PM, Owen Nichols <onich...@pivotal.io <mailto:
> onich...@pivotal.io>> wrote:
> >>
> >> Maybe I misunderstand what happened.  It sounded like the problem was
> essentially just “forgot to upload some docs”.  If it’s more than that,
> then in addition to 1.8.1 do we need to take any steps to retract 1.8.0 as
> DOA?
> >>
> >>
> >>> On Dec 21, 2018, at 12:59 PM, Alexander Murmann <amurm...@apache.org
> <mailto:amurm...@apache.org>> wrote:
> >>>
> >>> Owen, changing what's in a particular version of a library after it has
> >>> been shipped to me breaks the contract established by the version
> number,
> >>> regardless of how minor the changes are.
> >>>
> >>> On Fri, Dec 21, 2018 at 12:04 PM Owen Nichols <onich...@pivotal.io
> <mailto:onich...@pivotal.io>> wrote:
> >>>
> >>>> My feeling is that a 1.8.1 is not the right response.  If we can put
> the
> >>>> missing jars in place manually for 1.8.0 that should be sufficient.
> >>>>
> >>>> -Owen
> >>>>
> >>>>> On Dec 21, 2018, at 9:16 AM, Alexander Murmann <amurm...@pivotal.io
> <mailto:amurm...@pivotal.io>>
> >>>> wrote:
> >>>>>
> >>>>> I confirmed what we upload to the Nexus staging site again with both
> 1.7
> >>>>> and 1.8. I think we must have stopped uploading these files when we
> >>>>> switched to the maven-publish plugin as part of GEODE-5597.
> >>>>>
> >>>>> Can someone who worked on the recent build changes please take a
> look? I
> >>>>> created GEODE-6235 to track this.
> >>>>>
> >>>>> This to me seems like it would warrant a 1.8.1 patch release. What
> do you
> >>>>> all think?
> >>>>
> >>>>
> >>
> >
>
>

Reply via email to