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

Generate a makefile for Linux plugins #51520

Merged
merged 2 commits into from Feb 27, 2020

Conversation

stuartmorgan
Copy link
Contributor

Description

When generating the plugin registrant for Linux, also generate a
makefile that can be included in the app-level Makefile to manage all of
the plugin targets and flags, exporting them in a few known variables
for use in the outer makefile.

This allows for no-manual-config plugin management on Linux
(under the current plugin build structure; not necessarily final).

Related Issues

Part of #32720

Tests

New tests to validate that the makefile is generated and has the
expected values.

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I signed the CLA.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I updated/added relevant documentation (doc comments with ///).
  • All existing and new tests are passing.
  • The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Did any tests fail when you ran them? Please read Handling breaking changes.

  • No, no existing tests failed, so this is not a breaking change.
  • Yes, this is a breaking change.

When generating the plugin registrant for Linux, also generate a
makefile that can be included in the app-level Makefile to manage all of
the plugin targets and flags, exporting them in a few known variables
for use in the outer makefile.

Part of flutter#32720
@fluttergithubbot fluttergithubbot added the tool Affects the "flutter" command-line tool. See also t: labels. label Feb 27, 2020
@jmagman jmagman added this to Awaiting triage in Tools - plugin and package support review via automation Feb 27, 2020
Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

LGTM

Do you think the linux project is stable enough that we could move it into flutter/flutter for test coverage?

@stuartmorgan
Copy link
Contributor Author

Do you think the linux project is stable enough that we could move it into flutter/flutter for test coverage?

I don't want to lock it in yet; it's all been iterative so far, with no real evaluation of the bigger picture (like: should I rip it out and replace it with CMake). I plan to talk to some folks soon who can likely provide useful guidance on that.

But I've also been thinking a lot about how to proceed with flutter create support on Windows and Linux in the short-to-medium term, and have some thoughts I'll circulate soon. Stabilizing might not end up being a blocker for moving it.

@stuartmorgan stuartmorgan merged commit dd2756c into flutter:master Feb 27, 2020
Tools - plugin and package support review automation moved this from Awaiting triage to Engineer reviewed Feb 27, 2020
@stuartmorgan stuartmorgan deleted the linux-plugin-makefile-gen branch February 27, 2020 17:45
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
tool Affects the "flutter" command-line tool. See also t: labels.
Projects
Development

Successfully merging this pull request may close these issues.

None yet

4 participants