You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the prepare of a project includes the following:
prepare files from <projectDir>/app directory - i.e. copies them to <project dir>/platforms/... and renames the platform specific ones. For example in case you have app.android.js and the project is prepared for android, you should have app.js in the <project_dir>/platforms/android/src/main/assets/app directory.
prepares .js files from plugins - each package, defined as a dependency, has .js files that should be included in the final project. During project preparation they are copied to <project dir>/platforms/... directory and the platform specific ones are processed (similar to the files in app dir).
prepares the App_Resources of a project - the files from <project dir>/app/App_Resources/<platform> should be placed on a specific location in <project dir>/platforms... directory. Whenever they are changed, CLI should rebuild the application.
prepares the native part of plugins - each dependency in node_modules might have a native code in <plugins dir>/platforms/<platform>. During project preparation the native part is processed and added to a specified location in the project inside <project dir>/platforms/.... NOTE: For iOS we do not copy all of the native files, we just update the references in the native project inside <project dir>/platforms/ios/....
In cases where the native part of plugins is modified, CLI calls clean of the native resources (i.e. gradle clean ).
The idea is to split the prepare on two steps:
Prepare .js resources - this prepare will not require the local environment to be setup for specific platform.
Prepare native resource - App_Resources, native part of plugins, calling clean of resources - this part will require local setup for specified platform.
Once we split the operations, we'll be able to use different ways of preparing the .js files, for example in some cases we may want to use webpack.
The other benefit is to split the operations between CLI and native project builder, i.e. gradle, Xcode. More information is available here
NOTE: Current command and prepare method should be kept. We just need to update our internal logic to be separated.
The text was updated successfully, but these errors were encountered:
Currently the
prepare
of a project includes the following:<projectDir>/app
directory - i.e. copies them to<project dir>/platforms/...
and renames the platform specific ones. For example in case you haveapp.android.js
and the project is prepared for android, you should haveapp.js
in the<project_dir>/platforms/android/src/main/assets/app
directory..js
files that should be included in the final project. During project preparation they are copied to<project dir>/platforms/...
directory and the platform specific ones are processed (similar to the files in app dir).<project dir>/app/App_Resources/<platform>
should be placed on a specific location in<project dir>/platforms...
directory. Whenever they are changed, CLI should rebuild the application.node_modules
might have a native code in<plugins dir>/platforms/<platform>
. During project preparation the native part is processed and added to a specified location in the project inside<project dir>/platforms/...
. NOTE: For iOS we do not copy all of the native files, we just update the references in the native project inside<project dir>/platforms/ios/...
.gradle clean
).The idea is to split the prepare on two steps:
.js
resources - this prepare will not require the local environment to be setup for specific platform.Once we split the operations, we'll be able to use different ways of preparing the
.js
files, for example in some cases we may want to usewebpack
.The other benefit is to split the operations between CLI and native project builder, i.e. gradle, Xcode. More information is available here
NOTE: Current command and
prepare
method should be kept. We just need to update our internal logic to be separated.The text was updated successfully, but these errors were encountered: