summerofcode2018projects:portingpowershellporting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
summerofcode2018projects:portingpowershellporting [2018/05/14 12:32] – Creation of the wiki page for the project MateusDeMoraissummerofcode2018projects:portingpowershellporting [2018/08/14 04:23] (current) – Changes regarding project status MateusDeMorais
Line 7: Line 7:
 ===== Project title ===== ===== Project title =====
  
-Porting the .NET Core SDK & Runtime and [[/PowerShell|PowerShell]] to the %%FreeBSD%% operating system.+Porting the .NET Core SDK & Runtime and %%PowerShell%% to the %%FreeBSD%% operating system.
  
 ===== Project description & Approach to solving the problem ===== ===== Project description & Approach to solving the problem =====
  
-The idea is to ultimately port [[/PowerShell|PowerShell]] to %%FreeBSD%%. But, in order to achieve that, porting the %%CoreCLR%% and %%CoreFX%% libraries -- as well as other .NET Core SDK dependencies -- is necessary for they are vital components for [[/PowerShell|PowerShell]] to build and function. There’s already work in progress related to porting %%CoreCLR%% and %%CoreFX%% to %%FreeBSD%%, so this should represent a starting point for this effort. After that, with all the .NET Core SDK toolchain ported, the effort will be focused on building [[/PowerShell|PowerShell]]. With those completed, the aim will be towards packaging the utilities to make them available in the ports tree.+The idea is to ultimately port %%PowerShell%% to %%FreeBSD%%. But, in order to achieve that, porting the %%CoreCLR%% and %%CoreFX%% libraries -- as well as other .NET Core SDK dependencies -- is necessary for they are vital components for %%PowerShell%% to build and function. There’s already work in progress related to porting %%CoreCLR%% and %%CoreFX%% to %%FreeBSD%%, so this should represent a starting point for this effort. After that, with all the .NET Core SDK toolchain ported, the effort will be focused on building %%PowerShell%%. With those completed, the aim will be towards packaging the utilities to make them available in the ports tree.
  
-There are already Linux [[/PowerShell|PowerShell]] binaries ready for use and some ideas or implementations should be derived from there. [[/PowerShell|PowerShell]], as well as the %%CoreCLR%% and %%CoreFX%% projects, are open-sourced, therefore working with their teams at Microsoft isn’t a barrier, should some work on their side render necessary, or some code upstreaming need to be done, for this project to be successful.+There are already Linux %%PowerShell%% binaries ready for use and some ideas or implementations should be derived from there. %%PowerShell%%, as well as the %%CoreCLR%% and %%CoreFX%% projects, are open-sourced, therefore working with their teams at Microsoft isn’t a barrier, should some work on their side render necessary, or some code upstreaming need to be done, for this project to be successful.
  
-The first step towards solving the problem will be to understand the components needed to build the .NET Core runtime and the SDK -- since they are developed individually with their own [[/GitHub|GitHub]] repositories. After that, the efforts will be directed towards actually building these components on %%FreeBSD%% in order to get a functional runtime and SDK. Once this is done, all the efforts will be directed towards getting [[/PowerShell|PowerShell]] to build and function on the %%FreeBSD%% platform.+The first step towards solving the problem will be to understand the components needed to build the .NET Core runtime and the SDK -- since they are developed individually with their own %%GitHub%% repositories. After that, the efforts will be directed towards actually building these components on %%FreeBSD%% in order to get a functional runtime and SDK. Once this is done, all the efforts will be directed towards getting %%PowerShell%% to build and function on the %%FreeBSD%% platform.
  
 ===== Deliverables ===== ===== Deliverables =====
Line 21: Line 21:
   * **.NET Core Runtime Port**   * **.NET Core Runtime Port**
   * **.NET Core SDK Port**   * **.NET Core SDK Port**
-  * **[[/PowerShell|PowerShell]] Port**+  * **%%PowerShell%% Port**
  
 ===== Milestones ===== ===== Milestones =====
  
   * May 14th: Start of coding   * May 14th: Start of coding
-    * Gather information on necessary components for runtime and SDK+    * <del>Gather information on necessary components for runtime and SDK</del> ✔
   * May 21st - June 11th   * May 21st - June 11th
-    * Build these components on %%FreeBSD%% to get a functional runtime and SDK +    * <del>Build these components on %%FreeBSD%% to get a functional runtime and SDK</del> ✔ 
-    * Document process to build the port later+    * <del>Document process to build the port later</del> ✔
   * June 11th - June 15th: Mid-term Evaluations #1   * June 11th - June 15th: Mid-term Evaluations #1
-  * June 12th - July 9th +  * June 16th - July 9th 
-    * Test built components along the way for runtime and SDK and fine-tuning +    * <del>Test built components along the way for runtime and SDK and fine-tuning</del> ✔ 
-    * Start working on the [[/PowerShell|PowerShell]] build +    * <del>Start working on the %%PowerShell%% build</del> ✔ 
-    * Document the process to build the port later+    * <del>Document the process to build the port later</del> ✔
   * July 9th - July 13th: Mid-term Evaluations #2   * July 9th - July 13th: Mid-term Evaluations #2
   * July 13th - August 6th:   * July 13th - August 6th:
-    * Test results for [[/PowerShell|PowerShell]] on %%FreeBSD%% and fine-tuning +    * <del>Test results for %%PowerShell%% on %%FreeBSD%% and fine-tuning</del> ✔ 
-    * Work on the ports for the runtime, SDK, and [[/PowerShell|PowerShell]]+    * <del>Work on the ports for the runtime, SDK, and %%PowerShell%%</del> ✔
   * August 6th: End of coding (soft)   * August 6th: End of coding (soft)
-    * Debug and finish code and complete documentation+    * <del>Debug and finish code and complete documentation</del> ✔
   * August 14th: End of coding (hard)   * August 14th: End of coding (hard)
  
Line 49: Line 49:
   * Building %%CoreCLR%%, %%CoreFX%%, CLI (.NET Core SDK)   * Building %%CoreCLR%%, %%CoreFX%%, CLI (.NET Core SDK)
     * Run tests that come with the code     * Run tests that come with the code
-  * Building [[/PowerShell|PowerShell]]+  * Building %%PowerShell%%
     * Run tests that come with the code     * Run tests that come with the code
     * Gather a list of most common commands, can they be run successfully?     * Gather a list of most common commands, can they be run successfully?
Line 57: Line 57:
 ===== The Code ===== ===== The Code =====
  
-Nothing at the moment+  * Forks 
 +    * %%CoreFX%%: https://github.com/mateusrodrigues/corefx 
 +    * %%PowerShell%%-Native: https://github.com/mateusrodrigues/PowerShell-Native 
 +  * %%FreeBSD%% Review 
 +    * https://reviews.freebsd.org/D16707
  
 ===== Notes ===== ===== Notes =====
  
-  * Progress and build documentation+  * Experimental Runtime/SDK builds: 
 +    * Based on //2.2.100-preview1-008958// available [[http://distcache.FreeBSD.org/local-distfiles/dbn/dotnet/dotnetcli-freebsd.11-x64.zip|here]] 
 +    * Based on //3.0.100-preview1-009019// available [[http://distcache.freebsd.org/local-distfiles/dbn/dotnet/dotnet-freebsd-3.0.100-preview1-009019.tar.gz|here]] 
 +  * Progress tracking and build documentation
     * https://github.com/mateusrodrigues/gsoc18-progress     * https://github.com/mateusrodrigues/gsoc18-progress
 +    * https://github.com/dotnet/coreclr/issues/18067
  
 ===== Useful links ===== ===== Useful links =====
  • summerofcode2018projects/portingpowershellporting.1526301133.txt.gz
  • Last modified: 2018/05/14 12:32
  • by MateusDeMorais