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

Delete node_modules when running gradle's clean task #23391

Conversation

mchowning
Copy link
Contributor

@mchowning mchowning commented Jun 23, 2020

Description

Updating the react-native-bridge's clean task to also delete the node_modules directory. This will help ensure that developers who are not familiar with js development have a good chance of recovering from a bad state using the gradle build.

In addition:

  1. 8cda965 updates the message for the resetExtractedRNTools task to print during the execution phase instead of the configuration phase;
  2. 0c81acb updates the name of the variable defining the (relative) path to the mobile gutenberg root to be more descriptive; and
  3. db6769a updates the .editorconfig file to use spaces instead of tabs in .gradle, .java, .kt, and .xml files. For me Android Studio was picking up on the .edtorconfig file and, because that file specifies tabs as the default inside gutenberg/, Android Studio was overriding my settings and using tabs instead of spaces inside the gutenberg-mobile/gutenberg directory.

How has this been tested?

Cleaning

  1. Within WPAndroid, ensure that your libs/gutenberg-mobile/node_modules and libs/gutenberg-mobile/gutenberg/node_modules directories are NOT empty. A dummy file is fine.
  2. Ensure that WPAndroid's gradle.properties file has wp.BUILD_GUTENBERG_FROM_SOURCE set to false (or is missing that variable entirely).
  3. From the WPAndroid root, run ./gradlew clean
  4. Verify that the libs/gutenberg-mobile/node_modules and libs/gutenberg-mobile/gutenberg/node_modules directories no longer exist
  5. From the WPAndroid root, run ./gradlew clean installWasabiDebug
  6. Verify that you can load the gutenberg editor when running the generated apk
  7. Verify that the libs/gutenberg-mobile/node_modules and libs/gutenberg-mobile/gutenberg/node_modules directories do not exist (confirms that the clean task does not interfere with the order of the tasks needed to generate the js bundle for android).

.editorconfig

Do the following for a (1) .gradle, (2) .java, (3) .kt, and (4) .XML file somewhere within packages/react-native-*/.

  1. Enable EditorConfig support in Android Studio if not already enabled ( Settings → Editor → Code Style → Enable EditorConfig support )
  2. Restart Android Studio and wait for it to fully restart so it has loaded .editorconfig (I don't actually know if a restart is necessary, but in my testing it was sufficient).
  3. Add a non-empty line of code to one of the files specified above^.
  4. Verify that the line is prefixed with tabs if using the previous .editorconfig file and prefixed with spaces if using the updated .editorconfig from this PR.

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@mchowning mchowning added the Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) label Jun 23, 2020
@mchowning mchowning requested review from hypest and cameronvoell June 23, 2020 13:19
@github-actions
Copy link

github-actions bot commented Jun 23, 2020

Size Change: 0 B

Total Size: 1.12 MB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.62 kB 0 B
build/api-fetch/index.js 3.4 kB 0 B
build/autop/index.js 2.83 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 7.26 kB 0 B
build/block-directory/style-rtl.css 937 B 0 B
build/block-directory/style.css 937 B 0 B
build/block-editor/index.js 106 kB 0 B
build/block-editor/style-rtl.css 10.7 kB 0 B
build/block-editor/style.css 10.7 kB 0 B
build/block-library/editor-rtl.css 7.83 kB 0 B
build/block-library/editor.css 7.83 kB 0 B
build/block-library/index.js 129 kB 0 B
build/block-library/style-rtl.css 8 kB 0 B
build/block-library/style.css 8.01 kB 0 B
build/block-library/theme-rtl.css 730 B 0 B
build/block-library/theme.css 732 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 48.1 kB 0 B
build/components/index.js 196 kB 0 B
build/components/style-rtl.css 15.9 kB 0 B
build/components/style.css 15.8 kB 0 B
build/compose/index.js 9.6 kB 0 B
build/core-data/index.js 11.4 kB 0 B
build/data-controls/index.js 1.29 kB 0 B
build/data/index.js 8.44 kB 0 B
build/date/index.js 5.47 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 569 B 0 B
build/dom/index.js 3.17 kB 0 B
build/edit-navigation/index.js 8.26 kB 0 B
build/edit-navigation/style-rtl.css 1.02 kB 0 B
build/edit-navigation/style.css 1.02 kB 0 B
build/edit-post/index.js 303 kB 0 B
build/edit-post/style-rtl.css 5.5 kB 0 B
build/edit-post/style.css 5.5 kB 0 B
build/edit-site/index.js 16.6 kB 0 B
build/edit-site/style-rtl.css 3.03 kB 0 B
build/edit-site/style.css 3.03 kB 0 B
build/edit-widgets/index.js 9.33 kB 0 B
build/edit-widgets/style-rtl.css 2.43 kB 0 B
build/edit-widgets/style.css 2.43 kB 0 B
build/editor/editor-styles-rtl.css 468 B 0 B
build/editor/editor-styles.css 469 B 0 B
build/editor/index.js 44.8 kB 0 B
build/editor/style-rtl.css 3.8 kB 0 B
build/editor/style.css 3.8 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.72 kB 0 B
build/format-library/style-rtl.css 542 B 0 B
build/format-library/style.css 543 B 0 B
build/hooks/index.js 2.13 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.56 kB 0 B
build/is-shallow-equal/index.js 711 B 0 B
build/keyboard-shortcuts/index.js 2.51 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.12 kB 0 B
build/list-reusable-blocks/style-rtl.css 446 B 0 B
build/list-reusable-blocks/style.css 447 B 0 B
build/media-utils/index.js 5.29 kB 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.4 kB 0 B
build/nux/style-rtl.css 662 B 0 B
build/nux/style.css 657 B 0 B
build/plugins/index.js 2.56 kB 0 B
build/primitives/index.js 1.5 kB 0 B
build/priority-queue/index.js 788 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/rich-text/index.js 14 kB 0 B
build/server-side-render/index.js 2.68 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.28 kB 0 B
build/url/index.js 4.06 kB 0 B
build/viewport/index.js 1.85 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

@mchowning
Copy link
Contributor Author

mchowning commented Jun 23, 2020

👋 @hypest! Just wanted to call your attention to the fact that I pushed a small, unrelated update in 8a87e41 where I am now constructing a file object a single time outside of the loop instead of doing it repeatedly inside the loop. Doing this just for the sake of performance, it should not change any behavior.

Copy link
Contributor

@hypest hypest left a comment

Choose a reason for hiding this comment

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

✅ 4. Verify that the libs/gutenberg-mobile/node_modules and libs/gutenberg-mobile/gutenberg/node_modules directories no longer exist

✅ 6. Verify that you can load the gutenberg editor when running the generated apk

✅ 7. Verify that the libs/gutenberg-mobile/node_modules and libs/gutenberg-mobile/gutenberg/node_modules directories do not exist (confirms that the clean task does not interfere with the order of the tasks needed to generate the js bundle for android).

Copy link
Member

@cameronvoell cameronvoell left a comment

Choose a reason for hiding this comment

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

Verified node_modules is cleaned up as described in steps 4, 6, 7, and that the specified edited files are correctly using spaces after the .editorconfig update. LGTM!

@hypest
Copy link
Contributor

hypest commented Jun 23, 2020

Will merge this one with "preserve commits" mode.

@hypest hypest merged commit d5ec86c into feat/import-gutenberg-mobile-no-squash Jun 23, 2020
@hypest hypest deleted the rnmobile/delete_node_modules_when_cleaning branch June 23, 2020 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants