Closed Bug 1406572 Opened 7 years ago Closed 7 years ago

Install Proguard JAR as part of |mach bootstrap|

Categories

(Firefox Build System :: Android Studio and Gradle Integration, enhancement, P5)

enhancement

Tracking

(firefox58 fixed)

RESOLVED FIXED
mozilla58
Tracking Status
firefox58 --- fixed

People

(Reporter: nalexander, Assigned: nalexander)

References

Details

Attachments

(1 file)

After Bug 1352599, we'll require local developers to have a new version of proguard.jar. We should install it for them during |mach bootstrap|. However... it's a toolchain artifact, and one installs such artifacts with |mach artifact toolchain|. But bootstrap is intended to work without a full source checkout, which means without |mach| at all. I have no idea what the long term plan for toolchain artifacts and bootstrap is. I'll note that |mach bootstrap| already installs some toolchain artifacts, and takes pains to work around missing source checkouts. Some options: - extract |mach artifact toolchain| to an independent Python module, so that the bootstrapper can use it - stop bootstrapping without a checkout - use sparse checkouts to bootstrap "just a little bit" and then get a full checkout
gps: glandium: do you have any thoughts on what we should do long term? For now, I'm going to include a message about running |mach artifact toolchain proguard-jar| in the moz.configure error, which will unblock most developers. I'm willing to do what the Stylo bootstrap code does and only install proguard.jar if there's a checkout. Any other opinions?
Flags: needinfo?(mh+mozilla)
Flags: needinfo?(gps)
> I'm willing to do what the Stylo bootstrap code does and only install proguard.jar if there's a checkout. I'd do that too. If someone runs the bootstrap code without a checkout and don't opt-in for a clone during the bootstrap, I'd say it's fine if they don't get everything else that requires a checkout.
Flags: needinfo?(mh+mozilla)
Priority: -- → P5
Comment on attachment 8919520 [details] Bug 1406572 - Install Proguard JAR as part of |mach bootstrap|. https://reviewboard.mozilla.org/r/190350/#review195624 ::: commit-message-8a9df:5 (Diff revision 1) > +Bug 1406572 - Install Proguard JAR as part of |mach bootstrap|. r=rillian > + > +I think we're approaching an inflection point for the bootstrapper, > +one where it no longer is possible to bootstrap without a source > +checkout. For now, however, let's just do the simplest thing and I think we already have half of a filesystem shim that downloads files from the upstream repo on demand. We could just expand that if we need access to more parts of the tree.
Attachment #8919520 - Flags: review?(giles) → review+
Comment on attachment 8919520 [details] Bug 1406572 - Install Proguard JAR as part of |mach bootstrap|. https://reviewboard.mozilla.org/r/190350/#review195624 > I think we already have half of a filesystem shim that downloads files from the upstream repo on demand. We could just expand that if we need access to more parts of the tree. Oh, I see, this is about whether the checkout is present yet. We need a better scheme for delaying steps until then, but that's orthogonal to this change.
Pushed by rgiles@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/df6a6d54cdbb Install Proguard JAR as part of |mach bootstrap|. r=rillian
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 58
Yes, as bootstrap gets more complicated and the use of artifacts becomes more common, this will be a tricky thing to do right. I think it is reasonable to change bootstrap's behavior to only perform some activities if a checkout is present. Bootstrap knows how to clone the repo. Perhaps we could move this to earlier in the bootstrap flow so we have access to a full checkout for the remainder of bootstrap.
Flags: needinfo?(gps)
Assignee: nobody → nalexander
Product: Firefox for Android → Firefox Build System
Target Milestone: Firefox 58 → mozilla58
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: