Grisha Kruglov
aaec95cbae
[fenix] Speed-up autoPublication workflows
...
This change switches to using python scripts directly in a-c and a-s repositories, which achieves two things:
- we avoid overhead of running through a-c and a-s gradle's build phases, which is quite significant
- all of the logic for checking if projects are up-to-date or need to be republished now lives in those projects
End result is that local fenix builds now incur zero costs if there are no changes in a-c or a-s,
and if there are _any_ changes at all, the corresponding project is reliably recompiled and republished.
2020-04-22 14:32:16 -07:00
ekager
ccee01a230
[fenix] Closes https://github.com/mozilla-mobile/fenix/issues/8944 - Adds custom lint checks
2020-03-27 13:59:51 -07:00
Ryan Kelly
7d08e36843
[fenix] Add support for application-services autoPublish local dev workflow.
2020-03-19 10:51:08 +02:00
Grisha Kruglov
4df26017e6
[fenix] No issue: make fenix build again
...
Regression from when we made auto-publish flow work on Windows.
2020-03-05 15:03:25 -08:00
Mark Hammond
adde8beb17
[fenix] Allow builds with a local android-components to work on Windows
2020-02-28 11:25:06 -08:00
Will Hawkins
78e86d8f2b
[fenix] No Issue: Add custom detekt rule to blacklist certain properties
...
Add a custom detekt rule to blacklist certain properties. This is
immediately useful for making sure that developers do not configure
runtime behavior using the `BuildConfig.DEBUG` property but it is
useful in a wider context.
2020-01-17 15:46:32 -08:00
Will Hawkins
dac9353a73
[fenix] Fix Issue https://github.com/mozilla-mobile/fenix/issues/7366 : Reference local android-components gradlew correctly
...
In `settings.gradle` when Fenix determines whether there is an
overriding local android-components it calls `gradlew` from the
`autoPublish.android-components.dir` directory. It sets the current
working directory (cwd) to `autoPublish.android-components.dir` and then
invokes `<autoPublish.android-components.dir>/gradlew`. The proper
behavior is to invoke `./gradlew` because the cwd is already set properly.
2020-01-07 18:14:05 -08:00
Gabriel
9ed4f7f119
[fenix] For https://github.com/mozilla-mobile/fenix/issues/5574 - Migrate SessionControl to LibState ( https://github.com/mozilla-mobile/fenix/pull/6651 )
...
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 1: Port TabAction.SaveTabGroup to TabSessionInteractor and SessionControlController. (https://github.com/mozilla-mobile/fenix/pull/6651 )
- Introduces the TabSessionInteractor, SessionControlInteractor and SessionControlController classes.
- Removes the TabAction.SaveTabGroup.
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 2: Port TabAction.PrivateBrowsingLearnMore to TabSessionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 3: Port TabAction.ShareTabs to TabSessionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 4: Remove unused TabAction.Share and TabItemMenu (https://github.com/mozilla-mobile/fenix/pull/6651 )
In https://github.com/mozilla-mobile/fenix/issues/2205 , the tab overflow button was removed which would have shown the
TabItemMenu when clicked. So, we can remove TabItemMenu since it is not
used and as a result, we can also remove TabAction.Share since there are
no consumers.
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 5: Port TabAction.PlayMedia and TabAction.PauseMedia to TabSessionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 6: Port TabAction.Select to TabSessionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 7: Port Onboarding.Finish to OnboardingInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 8: Port TabAction.Close and TabAction.CloseAll to TabSessionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
- Removes TabAction
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 9: Port CollectionAction.Delete to CollectionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 10: Port CollectionAction.ShareTabs to CollectionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 11: Port CollectionAction.AddTab and CollectionAction.Rename to CollectionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 12: Port CollectionAction.RemoveTab to CollectionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 13: Port CollectionAction.OpenTab to CollectionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 14: Port CollectionAction.CloseTabs to CollectionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 15: Introduce a HomeFragmentStore (https://github.com/mozilla-mobile/fenix/pull/6651 )
- We will hook up the HomeFragmentStore in later parts.
- Removes List<Tab>.toSessionBundle(context: Context) since it is unused.
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 16: Port CollectionAction.Collapse and CollectionAction.Expand to CollectionInteractor and SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
- We assume the store is hooked up to the SessionControlController in this part,
but this work will be done in a later part.
- Removes CollectionAction.
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 20: Remove the architecture module. (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 17: Remove duplicate subscribeToTabCollections in BrowserFragment.kt (https://github.com/mozilla-mobile/fenix/pull/6651 )
There is a duplicate call of subscribeToTabCollections() in both HomeFragment and BrowserFragment.
In this patch, we remove the call in BrowserFragment to avoid passing the HomeFragmentStore to
BrowserFragment in order to dispatch the CollectionsChange event.
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 18: Delete SessionControlComponent and fix TabCollection and Tab imports (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 19: Use the new HomeFragmentStore in the HomeFragment (https://github.com/mozilla-mobile/fenix/pull/6651 )
- Renames SessionControlUIView to SessionControlView
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 21: Fix white screen on home fragment (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 22: Fix formatting in SessionControlInteractor and replace See with @see in SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 23: Move to metrics.track call to the beginning of handleCollectionRemoveTab (https://github.com/mozilla-mobile/fenix/pull/6651 )
This ensures that the metrics.track will be called immediately before the tab is removed from the collection.
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 24: Use the sessionManager getter in SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 25: Use mapNotNull in List<Tab>.toSessionBundle (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 26: Simplify closeTab and closeAllTabs functions by assigning a deletionJob constant (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 27: Replace listOf() with emptyList() in removeAllTabsWithUndo (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 28: Replace the Context parameter with the HomeActivity in SessionControlController (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Part 29: Add test for HomeFragmentStore, DefaultSessionControlController and SessionControlInteractor (https://github.com/mozilla-mobile/fenix/pull/6651 )
* For https://github.com/mozilla-mobile/fenix/issues/5574 - Removes running CI against the architecture debug build varient
2019-12-04 22:06:05 -05:00
Grisha Kruglov
6e6d2ec9c6
[fenix] Closes https://github.com/mozilla-mobile/fenix/issues/1022 : Auto-publication workflow for android-component
...
This patch enabled support for an auto-publication workflow for android-components.
It automates a common pattern seen in local development:
Old way:
- after every change in a-c, publish it locally with a unique version (bumping it manually)
- manually modify Fenix to consume a custom version of a-c from a mavenLocal repository
New way:
- set a flag in fenix's local.properties to enable auto-publication
- run Fenix builds after making changes to a-c. Changes in a-c will be automatically picked up.
Note that no changes are necessary to any Fenix files other than a single flag in local.properties.
Manually bumping android-components version is also not necessary.
2019-10-07 14:13:33 -07:00
Nick Alexander
dbb115a551
[fenix] Consume new substitute-local-geckoview.gradle
script from Bug 1533465.
2019-08-21 19:52:01 +02:00
Thom Chiovoloni
ddd5dc79fb
[fenix] Remove misinformation from settings.gradle
2019-08-02 12:51:41 -07:00
Thom Chiovoloni
dc7b4f682d
[fenix] Update fenix for new megazord setup
2019-08-01 13:10:20 -07:00
Colin Lee
6311a7abd1
[fenix] Fixes https://github.com/mozilla-mobile/fenix/issues/916 , fixes https://github.com/mozilla-mobile/fenix/issues/917 , fixes https://github.com/mozilla-mobile/fenix/issues/920 : Save, share, and delete bookmarks
2019-04-01 16:16:08 -05:00
Sebastian Kaspari
b3d56e5720
[fenix] Move architecture/mvi code to separate gradle module.
2019-02-01 09:45:55 -06:00
Jeff Boek
06f1bf6471
[fenix] Initializes Android project
...
Co-authored-by: Colin Lee <mncolinlee@gmail.com>
Co-authored-by: Sawyer Blatz <sdblatz@gmail.com>
Co-authored-by: Emily Kager <emilykager@gmail.com>
2018-12-07 15:25:38 -05:00