Steps to build the BCL solution: The BCL solution relies on a custom build task used to filter and rename the compiled javascript files by platform. E.g. the file `application.android.js`, containing the actual platform-specific implementation will become `application.js`. There is also the .impl suffix for files where we have definition and implementation file with the same name, e.g.: file-system.d.ts
file-system.impl.ts This is done to force the typescript compiler in Visual Studio to feed its definitions from the *.d.ts file rather than the implementation one. The build task removes this private suffix and the final output is files-system.js The BCL itself uses a pre-built copy of the task, residing in the `Build/lib` folder. ### BuildTasks solution In case you want to change the custom build task you will need to rebuild the solution and copy the newly generated assembly to the `Build/lib` folder. [BuildTasks](https://github.com/telerik/xPlatCore/tree/master/Build/Tasks) The output of this project is located at (../bin/) ### Build the BCL project There are six different configurations of the project: - Android
This configuration will create a `bin/Android` folder and output all the Android-related files there. - Android_Deploy
Same as the Android configuration plus the generated javascript is copied to the tns_modules folder in the targeted Eclipse project. The path to the project is taken from the `BCL/Deploy/Eclipse/Configuration.xml` file. The expected XML structure is: ```xml C:\Work\Git\xPlatCore\Applications\Android\UnitTestApp\assets\tns_modules ``` - Android_Tests
Same as Android_Deploy plus the Tests folder in the BCL is copied to the output directory. - iOS
This configuration will create a `bin/iOS` folder and output all the iOS-related files there. - iOS_Deploy
Same as the iOS configuration plus the generated javascript is copied to the JS folder in the testing xCode project. The path to the project is taken from the `BCL/Deploy/xCode/Configuration.xml` file. The expected XML structure is: ```xml Z:\Kimera\JDBridgeApp\JDBridgeApp\js ``` In order to use this path you will need to map a shared MAC's folder and access it from your PC. - iOS_Tests
Same as iOS_Deploy plus the Tests folder in the BCL is copied to the output directory. ### UnitTestApp - Ready to run ```xml C:\Work\Git\xPlatCore\Applications\Android\UnitTestApp\assets\tns_modules ``` ### Useful links [VSCommands](http://vscommands.squaredinfinity.com/) Adds the option to "Group Items" (DependentUpon tag) within the Visual Studio Solution Explorer. Select several items, right-click -> Group Items. [A comparison of various features and APIs across mobile platforms](https://github.com/w3c-webmob/web-api-gap/blob/master/features/compass.md)