Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish test fixtures everywhere and simplify signature configuration #1207

Conversation

liblit
Copy link
Contributor

@liblit liblit commented Jan 15, 2023

Publish test fixtures everywhere

Resolves #1201.

Simplify signature configuration

Previously we had two nearly identical publications: local and remote. local was unsigned, and was only intended for local installation, but we could not really enforce that very well. Conversely, remote was signed (for non-snapshots) and was only intended for remote installation, which we likewise could not enforce very well.

Now we just have a single maven publication. We always attempt to sign this publication's artifacts. However, signature misconfiguration is quietly allowed unless we are publishing a non-snapshot to a real Maven remote repository. Near as I can tell, this is the idiomatic way to sign official remote releases but not sign local installations or snapshot releases.

Note: this wiki documentation should be updated after this commit is merged into master. In fact, that entire section can probably just be deleted: after this change, the obvious publishToMavenLocal target works as expected. No signatures are required when installing only into the local Maven repository, even for non-snapshot releases.

Previously we had two nearly identical publications: `local` and
`remote`.  `local` was unsigned, and was only intended for local
installation, but we could not really enforce that very well.
Conversely, `remote` was signed (for non-snapshots) and was only
intended for remote installation, which we likewise could not enforce
very well.

Now we just have a single `maven` publication.  We always attempt to
sign this publication's artifacts.  However, signature misconfiguration
is quietly allowed unless we are publishing a non-snapshot to a real
Maven remote repository.  Near as I can tell, this is the idiomatic way
to sign official remote releases but not sign local installations or
snapshot releases.

**Note:** [this wiki
documentation](https://github.com/wala/WALA/wiki/Creating-Releases-and-Snapshots#publishing-released-versions-locally)
should be updated after this commit is merged into `master`.  In fact,
that entire section can probably just be deleted:  after this change,
the obvious `publishToMavenLocal` target works as expected.  No
signatures are required when installing only into the local Maven
repository, even for non-snapshot releases.
@liblit liblit added enhancement gradle WALA’s Gradle build system labels Jan 15, 2023
@liblit liblit requested a review from msridhar January 15, 2023 02:52
@liblit liblit self-assigned this Jan 15, 2023
@liblit liblit enabled auto-merge (rebase) January 15, 2023 03:45
Copy link
Member

@msridhar msridhar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Some of the test fixture stuff can only be fully tested when we cut the next release. Let's at least take a look at the snapshot artifacts after this lands and make sure the test fixtures artifacts are showing up there

@liblit liblit merged commit 4279ff8 into wala:master Jan 15, 2023
@liblit
Copy link
Contributor Author

liblit commented Jan 15, 2023

Agreed!

@msridhar
Copy link
Member

Note: this wiki documentation should be updated after this commit is merged into master. In fact, that entire section can probably just be deleted: after this change, the obvious publishToMavenLocal target works as expected. No signatures are required when installing only into the local Maven repository, even for non-snapshot releases.

For now, I have added a note that the paragraph only applies to releases 1.5.9 and earlier. Once we cut our next release, I will further clarify.

@liblit liblit deleted the publish-testFixtures-everywhere-and-simplify-signature-configuration branch January 15, 2023 17:48
@liblit liblit restored the publish-testFixtures-everywhere-and-simplify-signature-configuration branch January 15, 2023 17:48
@liblit
Copy link
Contributor Author

liblit commented Jan 15, 2023

For now, I have added a note that the paragraph only applies to releases 1.5.9 and earlier. Once we cut our next release, I will further clarify.

Excellent! Thank you for keeping this documentation in such good shape, @msridhar.

@liblit liblit deleted the publish-testFixtures-everywhere-and-simplify-signature-configuration branch January 15, 2023 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement gradle WALA’s Gradle build system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Publish artifacts for test fixtures
2 participants