[ 
https://issues.apache.org/jira/browse/SOLR-15361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris M. Hostetter updated SOLR-15361:
--------------------------------------
    Attachment: SOLR-15361.patch
        Status: Reopened  (was: Reopened)

Ok, first off – i'm uploading a new patch with 2 small tweaks:
 * go back to the taskGraph callback approach with a comment explaining why 
it's there
 ** but w/o the inputs.property(key,val) call now that i realize i was just 
having a brain fart
 * remove the duplicated {{signing}} blocks that Houston noticed

----
{quote}I've tried running this locally, but I get the error:
{quote}
That's ... odd.

A couple of requests to help figure out what you're seeing:
 # Did you get prompted at all for a passphrase for your key?
 # what does {{gpg --version}} output?
 # what does {{gpg2 --version}} output?
 # Do you have any 'signing.gnupg' related properties in your 
~/.gradle/gradle.properties
 # Can you please try using the latest patch, and run the following command 
(using your key, not mine) and then attach the files to this jira?

{noformat}
(./gradlew --info clean signDistTar 
-Psigning.gnupg.keyName=4DDFABAF68C0F906B76CD9A09C784577F8F58E19; find 
solr/packaging/build/) 1>houston.wtf.stdout.txt 2>houston.wtf.stderr.txt
{noformat}
----
Lingering converstaion items w/Dawid...
{quote}inputs.property(key, value) associates a string key-value pair with the 
task input state. ..
{quote}
Yep yep, i was just having a brain fart and didn't realize it was just the 
single key+val version of input.properties(Map)
{quote}The signing plugin very likely makes the input file an input already 
(implicitly) and registers the output as well.
{quote}
yes it does, i was just mistakenly thinking i needed to declare some input for 
the failUnlessGpgKeyProperty to ensure it would be included in the taskGraph 
even if it had no outputs - i realize now that's completely unneccessary
{quote}I believe this is because once the code of the plugin's extension runs 
it reads distribution names and creates the associated scaffolding based on 
that. If you change it later on, it won't redo these actions under a new name. 
...
{quote}
it's worse then that – it (The signing extension) actually does redo some of 
those actions later (when it realizes the distribution has a different 
distributionBaseName then it thought during the sequential processing of the 
signing block) but that only impacts the name of the files it writes to disk 
when the Sign tasks actually execute – in the meantime any other downstream 
task trying to "consume" the outputs of those Sign tasks (via dependsOn a 
configuration that points at their output) gets the wrong filename – which 
never exists, so that downstream task either gets skipped because the (non 
existent) file it depends on is up to date, or gets an error trying to use the 
(wrong & missing) file if it has other inputs which have changed

> update gradle build to support gpg signing of tgz/zip distributions
> -------------------------------------------------------------------
>
>                 Key: SOLR-15361
>                 URL: https://issues.apache.org/jira/browse/SOLR-15361
>             Project: Solr
>          Issue Type: Task
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Chris M. Hostetter
>            Assignee: Chris M. Hostetter
>            Priority: Major
>             Fix For: main (9.0)
>
>         Attachments: SOLR-15361.patch, SOLR-15361.patch, SOLR-15361.patch, 
> SOLR-15361.patch, SOLR-15361.patch, SOLR-15361.patch
>
>
> the gradle build does not currently have any support for gpg signing the 
> distributions we produce.
> this is neccessary for releases, and for being able to "smoke test" our 
> Dockerfiles prior to release (by creating mock download servers to confirm 
> {{docker build}} can correctly fetch the {{tgz}} & {{tgz.asc}} files we point 
> it at)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to