Commit graph

529 commits

Author SHA1 Message Date
Aditya Patwardhan
7517004052 Fix check for Wix toolset in New-MSIPackage (#3843)
Wix toolset is part of the AppVeyor base image. The daily build did not generate a MSI since Wix toolset was not found.
AppVeyor updated the Wix version in the base image and our checks failed.
The fix removes the hardcoded version from path. It also guards against multiple side-by-side versions.
2017-05-22 22:28:31 -07:00
Steve Lee
96506f4cc1 Cross-gen the top assemblies with JIT times > 5ms (#3787)
Startup went from 1998 ms to 1067 ms.
Size went from 103 MB to 133 MB.
2017-05-15 23:34:32 -07:00
Dongbo Wang
ee779b58e0 Update docs for beta.1 release (#3748)
* First iteration

* Second iteration

* Third iteration

* Fourth iteration

* Fifth iteration

* Revert the temporary workaround

* beta.1 release only support Mac OSX 10.12+
2017-05-10 09:49:02 -07:00
Dongbo Wang
c8a9284731 Temporary workaround #2 to fix the PSVersion issue in beta.1 release (#3742) 2017-05-09 00:21:28 -07:00
Dongbo Wang
44c6409fdd Temporary workaround to fix the PSVersion issue in beta.1 release (#3740) 2017-05-08 22:52:30 -07:00
Dongbo Wang
1b16f77e21 Update powershell to use .NET Core 2.0.0-preview1-002106-00 (#3699)
Use 2.0 CLI/SDK of version `2.0.0-preview1-005952` to keep in sync with the .NET Core 2.0 //Build dogfood instructions. The version of `Microsoft.NetCore.App` in use is `2.0.0-preview1-002106-00`.
2017-05-04 17:09:03 -07:00
Dongbo Wang
73e5dc3020 Make sure nuget package version suffix applies to all ProjectReference (#3678) 2017-05-01 22:34:25 -07:00
James Truher [MSFT]
a2268ab3ec Add telemetry to the console host to report platform and version (#3620)
This is limited to the console host and is not meant as generalized telemetry code for PowerShell Core. It will capture the GitCommitID and Platform Information when the console host starts. It enables opting out of sending telemetry.
2017-04-25 22:51:22 -07:00
Dongbo Wang
1c1c75318e Add 'x' permission to crossgen on Linux and OSX (#3592) 2017-04-18 16:51:18 -07:00
Dongbo Wang
79a1f80309 Update build script to always use 'dotnet publish' (#3589)
Also update 2 building docs
2017-04-18 13:12:35 -07:00
Dongbo Wang
7a55bf98b2 Move powershell to .NET Core 2.0 (#3556)
This change moves powershell to .NET Core 2.0. Major changes are:
1. PowerShell assemblies are now targeting `netcoreapp2.0`. We are using `microsoft.netcore.app-2.0.0-preview1-001913-00`, which is from dotnet-core build 4/4/17. We cannot target `netstandard2.0` because the packages `System.Reflection.Emit` and `System.Reflection.Emit.Lightweight`, which are needed for powershell class, cannot be referenced when targeting `netstandard2.0`.
2. Refactor code to remove most CLR stub types and extension types.
3. Update build scripts to enable CI builds. The `-cache` section is specified to depend on `appveyor.yml`, so the cache will be invalidated if `appveyor.yml` is changed.
4. Ship `netcoreapp` reference assemblies with powershell to fix the issues in `Add-Type` (#2764). By default `Add-Type` will reference all those reference assemblies when compiling C# code. If `-ReferenceAssembly` is specified, then we search reference assemblies first, then the framework runtime assemblies, and lastly the loaded assemblies (possibly a third-party one that was already loaded).
5. `dotnet publish` generates executable on Unix platforms, but doesn't set "x" permission and thus it cannot execute. Currently, the "x" permission is set in the build script, `dotnet/cli` issue [#6286](https://github.com/dotnet/cli/issues/6286) is tracking this.
6. Replace the use of some APIs with the ones that take `SecureString`.
7. osx.10.12 is required to update to `netcoreapp2.0` because `dotnet-cli` 2.0.0-preview only works on osx.10.12.
8. Add dependency to `System.ValueTuple` to work around a ambiguous type identity issue in coreclr. The issue is tracked by `dotnet/corefx` [#17797](https://github.com/dotnet/corefx/issues/17797). When moving to newer version of `netcoreapp2.0`, we need to verify if this dependency is still needed.
2017-04-17 11:52:38 -07:00
Raghu Shantha [MSFT]
d2d80c6832 Use Product Semantic version in the MSI installer where possible (#3435) 2017-03-29 13:36:44 -07:00
Ilya
27b27cc43a Autoload TestRemoting.psm1 (#3430) 2017-03-29 10:11:02 -07:00
Dongbo Wang
5c6ca49da4 Rename OSX package name to include operating system information (#3440) 2017-03-27 18:27:07 -07:00
Travis Plunk
737058f62e Add markdown lint test (#3420)
* Fix markdown syntax and spelling issues
* update spelling dictionary
2017-03-27 16:44:28 -07:00
Steve Lee
c0c4cf41e7 rename AppImage to include version (#3433) 2017-03-27 15:52:58 -07:00
Ilya
a99fb531e6 Add autoload for test modules (#3342)
Related #3238

1. Add autoload for test modules
2. Move TestHostCS.psm1 to 'test\tools\Modules\' folder
3. Remove explicit load TestHostCS.psm1 from test files
2017-03-26 21:46:39 -07:00
Dongbo Wang
54fa658e31 Migrate from project.json to MSBuild (#3398)
- FullCLR build is disabled in this change.
- FullCLR build related functionalities in `build.psm1` and `AppVeyor.psm1` are disabled. They are not cleaned up from `build.psm1` and `AppVeyor.psm1` yet. We need to adopt .NET Core 2.0 to verify the portable module concept, and if that works well, we will remove the Windows PowerShell source code and clean up our scripts.
- `dnxcore50` and `portable-net5+win8` target framework monikers are removed.
- Dependency on `Microsoft.NETCore.Portable.Compatibility` is removed. It's not necessary, but it may come back when we work on supporting the `portable module`. Its necessity can be reviewed at that time.
- I didn't spend the time to try building powershell in Visual Studio 2017. We should have a separate issue for that. It's tracked by #3400

The `TypeCatalogParser` project is replaced by a MSBuild target to gather the dependency information.
Due to .NET Core SDK issue [#1021](https://github.com/dotnet/sdk/issues/1021), our meta-package project `Microsoft.PowerShell.SDK` starts to generate an empty assembly during the build and that results in an empty assembly `Microsoft.PowerShell.SDK.dll` appear in `publish` folder and in `.deps.json` file. We cannot simply remove the assembly because it's now part of the TPA, and removing it will cause powershell to crash at startup. We have to live with this empty assembly until that .NET Core SDK issue is fixed.  It's tracked by #3401.
2017-03-23 13:04:52 -07:00
Travis Plunk
27c819ce2e Add build support for OpenSUSE 42.1 (#3389) 2017-03-22 14:19:51 -07:00
Sergei Vorobev
1225977f14 Restore Microsoft.PowerShell.Archive module from www.powershellgallery.com 2017-03-22 12:43:38 -07:00
Steve Lee
76de340e79 corrected use of PSModulePath casing to be consistent with Windows PowerShell (#3255)
* corrected use of PSModulePath casing to be consistent with Windows PowerShell
addresses #3227

* addressing review feedback
make "PSModulePath" into const
fixed some test workarounds due to failures for external reasons that wasn't meant to be checked in

* addressing review feedback
make "PSModulePath" into const
fixed some test workarounds due to failures for external reasons that wasn't meant to be checked in
2017-03-15 12:04:28 -07:00
Travis Plunk
0fc4ef4c2e Add support for crossgen on OpenSUSE 13.2 (#3326) 2017-03-14 11:44:29 -07:00
Dongbo Wang
dd0fbd63a1 Fix $LinuxInfo to be a Hashtable instead of an array of Hashtable's. (#3276)
Get-Content /etc/os-release returns an array of strings, which get feeded to ConvertFrom-StringData. Therefore, $LinuxInfo is actually an array of Hashtable instances before this change. Property access on $LinuxInfo like $LinuxInfo.ID happens to work because powershell supports accessing a property or calling a method on a collection of object, but it's inefficient.
After this fix, $LinuxInfo will be a Hashtable, and it's efficient to access its members.
2017-03-07 16:23:18 -08:00
Travis Plunk
5d97bc558a update build.psm1 to support packaging for opensuse 13.2 (#3274) 2017-03-07 15:03:38 -08:00
Travis Plunk
e734d44199 Add OpenSUSE 13.2 build support (#3254) 2017-03-06 17:30:14 -08:00
Kevin Marquette
f29b99ec6a Add PassThru support to Start-PSPester (#3205) 2017-03-06 13:13:34 -08:00
Andrew Schwartzmeyer
8185fd9350 Add AppImage to CI 2017-02-17 11:09:36 -08:00
Francisco Gamino
f852e40b3c Enabling crossgen for the assemblies used by Add-Type, which are Microsoft.CodeAnalysis.CSharp.dll, Microsoft.CodeAnalysis.dll, Microsoft.CodeAnalysis.VisualBasic.dll, and Microsoft.CSharp.dll. This speeds up executing Add-Type from ~3 to 0.9 seconds. (#3086) 2017-02-03 15:19:05 -08:00
Sergei Vorobev
b37371b3dd Fix patching logic for .dotnet openssl dylib
Fixes #3062
2017-02-03 09:27:35 -08:00
Sergei Vorobev
9750297ce3 Add 'osx.10.12-x64' runtime to project.json files 2017-02-01 17:52:35 -08:00
Mike Richmond
1431105251 Adding Microsoft.PowerShell.Commands.Diagnostics to the list of packages published to our MyGet feed (#3050) 2017-01-30 16:44:23 -08:00
Joey Aiello
f41b94fe03 change '2k' years in build script (#3043) 2017-01-25 18:00:39 -08:00
Andrew Schwartzmeyer
3a34747913 Address code review issues 2017-01-20 11:05:24 -08:00
Andrew Schwartzmeyer
f1767dd24d Fix undefined variable in build.psm1
`$rpm_dist` used to be unconditionally defined,
but the changes to support Fedora made it defined only on
RedHat family platforms, so the variable was undefined on Ubuntu
but the flag still added to fpm's arguments, causing a build error.
Now we only add the flag and its argument when it's relevant.
2017-01-20 11:05:24 -08:00
Naadir Jeewa
01dfb88e4d Initial Support for Fedora 24 (#2738)
* Initial support for Fedora 24
This commit adds initial support for the Fedora distribution,
starting with Fedora 24.

Whereever possible, build tooling for CentOS has been reused.

Until the next release of PowerShell is compiled against .NET 1.1,
the Docker release image uses the CentOS 7 build, but loads
in the CentOS 7 version of `libicu50` via LD_LIBRARY_PATH.

* Update Dockerfile

Fix typos
2017-01-20 11:05:24 -08:00
Jason Shirk
8c08c7b382 use global nuget package cache (#2987) 2017-01-17 13:00:52 -08:00
Jason Shirk
02b5f357a2 Remove trailing whitespace (#3001) 2017-01-16 13:31:14 -08:00
Paul Allen
c43de5a19f Add dependent symlinks in package for libmi.so 2017-01-10 17:44:04 -08:00
James Truher [MSFT]
c97ca777df Jameswtruher/travisdailybuild (#2958)
* Stifle progress output in build.psm1 for some operations

Modify test failure presentation to use platform available XML methods

* Add timeout support for returning runtime parsing errors

Some of the language/parser tests have been hanging in a non-reproducable manner which
causes the CI system to invalidate the entire run. This change adds support for timeout
which will fail a test if it runs to long, rather than invalidate the entire run.

current behavior is still supported, and is not done in a new session:
PS> get-runtimeerror -src '1/'
At line:1 char:3
+ 1/
+   ~
You must provide a value expression following the '/' operator.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ExpectedValueExpression

Adding a timeout will do the operation in a async powershell session
PS> get-runtimeerror -src '1/' -timeout 5
You must provide a value expression following the '/' operator.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ExpectedValueExpression

If the operation takes longer than the supplied timeout, a timeout error will be returned
PS> get-runtimeerror -src 'start-sleep 6' -timeout 2
get-runtimeerror : Operation Timed Out ('start-sleep 6')
At line:1 char:1
+ get-runtimeerror -src 'start-sleep 6' -timeout 2
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Get-RuntimeError

* Modify native linux command tests to skip on Windows and pending on Mac

* remove verbose and progress output from help tests

* Be sure that Feature Counter tests only run on Windows

Also, only call add-type in CounterTestHelperFunctions.ps1 if we're going to actually run the tests

* do not run any get-computerinfo tests on non-windows systems

* suppress progress output from PowerShell Get tests

* remove -quiet from API and CRON Builds

Travis watches output from the build to ensure that it hasn't hung
we need to find a balance between too much output and not enough output.
A run which has too much output is killed because it looks like an error loop
A run which has too little output is killed because it looks like a hang

* Remove commented line in Import-Counter.Tests.ps1

Remove extraneous extra line in PowerShellGet.Tests.ps1

* Change `-as "type"` to `-as [type]` in build.psm1

Alter timeout to 10 seconds to be improve chances of not timing out for runtime parser checks
improve logic for counter tests to also skip for IoT

* use the existing function of SkipCounterTests rather than duplicate the logic in import-counter.tests.ps1
2017-01-10 14:42:27 -08:00
Mike Richmond
4eb1494442 Revert "Initial Support for Fedora 24" (#2970) 2017-01-06 13:09:40 -08:00
Naadir Jeewa
8262091b3a Initial Support for Fedora 24 (#2738)
* Initial support for Fedora 24
This commit adds initial support for the Fedora distribution,
starting with Fedora 24.

Whereever possible, build tooling for CentOS has been reused.

Until the next release of PowerShell is compiled against .NET 1.1,
the Docker release image uses the CentOS 7 build, but loads
in the CentOS 7 version of `libicu50` via LD_LIBRARY_PATH.

* Update Dockerfile

Fix typos
2017-01-06 10:04:18 -08:00
Manikyam Bavandla
3938cdb33a [Build] Update the logic to remove PSGetModuleInfo.xml from PowerShellGet module on Non-Windows platforms. (#2897) 2016-12-16 22:16:03 -08:00
Hemant Mahawar
e26c2a8752 Adding windows server names to the windows packages + Misc formatting fixes (#2757)
* Adding windows server names to the windows packages + Misc formatting fix

Misc fixes are:
- Added Get-PackageSemanticVersion function
- Added New-ZipPackage function to separate the Zip packaging code
- Removed ending ';' in hashtable syntax since entries are on new lines
- Standardized the variable name from $Source to $PackageSourcePath for
various packaging functions
- Removed 'return' in the function end to output the variable value
- Added -verbose to Write-Verbose to show the paths of various packages

* update

* Adding windows server names to the windows packages + Misc formatting fix

Misc fixes are:
- Added Get-PackageSemanticVersion function
- Added New-ZipPackage function to separate the Zip packaging code
- Removed ending ';' in hashtable syntax since entries are on new lines
- Standardized the variable name from $Source to $PackageSourcePath for
various packaging functions
- Removed 'return' in the function end to output the variable value
- Added -verbose to Write-Verbose to show the paths of various packages

* update

* Addressing review feedback

* Removed the $PackageVersion variable per review feedback

* Error message fix
2016-12-14 09:28:38 -08:00
Sergei Vorobev
cb378be1c8 Create Start-PSRelease helper function (#2753) 2016-12-12 09:34:17 -08:00
Naadir Jeewa
32a8601f92 Rebase onto .NET Core 1.1 (#2737)
* Rebase onto .NET Core 1.1

Modify `Build.psm1` and `project.json` files to use .NET Core 1.1.

.NET Core 1.1 ships with an older dotnet/cli than has currently been used,
so we revert to use case-sensitive directory names for dependencies.

.NET Core 1.1 is a pre-requisite for supporting Fedora 24.

* PSReadLine: Bump major version of PSReadline to 6.0.0-*

* Microsoft.PowerShell.Commands.Utility: Bump major version of Microsoft.CodeAnalysis.Csharp

* Microsoft.PowerShell.SDK: Revert attempt to import netcoreapp1.1 instead of dnxcore

* build.psm1: Restore ability to specify version of dotnet-install.sh
2016-12-07 18:29:21 -08:00
James Truher [MSFT]
8e360bffb1 modify Start-PSPester to accept -Quiet to eliminate Pester output (#2795)
* modify Start-PSPester to accept -Quiet to eliminate Pester output

also modify travis.ps1 to include -Quiet for Pester args to reduce
stdout log size which should hopefully allow daily builds to run
without being cancelled due to too much output

* Add error detail information as part of Test-PSPesterResults

Test-PSPesterResults will now also emit information about the errors
found during a test run rather than just the number of failed tests.
Created a new errorlog function so the output of errors will be red.
2016-12-01 11:23:14 -08:00
Manikyam Bavandla
67e9bf6376 - Fixed failing PackageManagement related tests in daily-builds (#2759)
- Updated Restore-PSModule function to delete the PSGetModuleInfo.xml so that this file will not be included in the PowerShell release.
- Since PackageManagement module gets installed with PowerShellGet module, removed PackageManagement module name in Restore-PSModule command invocation.
2016-11-21 17:36:51 -08:00
Mike Richmond
cac96e5fc9 Fixing powershell.exe lib paths and more thoroughly cleaning the powershell-native directory (#2758) 2016-11-21 16:55:03 -08:00
Mike Richmond
bfd6d65458 Add x86 CrossGen support (#2726) 2016-11-20 12:59:50 -08:00
Sergei Vorobev
471594c6ab Make Start-PSBootstrap on macOS better
No errors if brew dependencies already present
2016-11-19 23:52:16 -08:00
Sergei Vorobev
5ff63e50b7 Make Restore-PSModule -Name parameter a [string[]] 2016-11-19 23:52:16 -08:00
Jianyun Tao
1fff6760b6 Removed PowerShellGet source and replaced with ones from myget 2016-11-19 23:52:16 -08:00
Jianyun Tao
9b27d4a23a add psmodulerestore in travis.ps1 2016-11-19 23:52:16 -08:00
Jianyun Tao
bfe59b3495 # This is a combination of 3 commits.
# The first commit's message is:

Changed to PSModuleRestore switch, i.e., by default no PSModule install

# This is the commit message #2:

install PowerShell modules to publish folder as well as one level up

# This is the commit message #3:

removed workaround
2016-11-19 23:52:16 -08:00
Jianyun Tao
535f977d1a Update build.psm1 to pull PackageManagement assemblies 2016-11-19 23:52:16 -08:00
Mike Richmond
c9fb03edf2 Add x86 support to the MSI installer 2016-11-18 16:35:16 -08:00
Mike Richmond
e23b0b2002 Add runtime win7-x86 2016-11-18 16:35:16 -08:00
Mike Richmond
81b2339979 Add support to build x86 packages for PowerShell Core 2016-11-18 16:35:16 -08:00
Sergei Vorobev
dbc084537a Remove default value for version from Install-Dotnet, so it's controlled only in Start-PSBootstrap 2016-11-14 11:27:38 -08:00
Sergei Vorobev
f5ca586118 Temporarely pin dotnet obtain script url 2016-11-14 11:27:38 -08:00
Dongbo Wang
dad2c7d155 Update releasing doc to include steps to create Linux/macOS packages and NuGet packages (#2663)
* Update releasing.md with package creation steps for Linux and macOS

* Add documentation for creating NuGet Packages

* Minor fixes
2016-11-11 17:13:04 -08:00
Aditya Patwardhan
b18adb85d4 Add OpenCover PS Module to collect code coverage (#2585)
* Add OpenCover PS Module to collect code coverage

OpenCover PS Module helps is collecting Code Coverage using the OpenCover
toolset. The module helps in comparing two code coverage runs as well.

* Change OpenCover.psd1 to ASCII

* Fix an error in path for OpenCover

Fixed an error on path for OpenCover. Also used ZipFile class instead of
cmdlet as it might not be available on CI system.

* Convert module to be Powershell v4 compliant

Changed implementation from classes to PSObjects and implemented
Expand-ZipArchive.

* Added CodeCoverage as a configuration to project.json files

Added CodeCoverage as the new configuration for all the project.json
files. When Start-PSBuild is executed with configuration as CodeCoverage,
we change the degubType to 'full' as required by OpenCover toolset.

Also made changes to appveyor.psm1 to build a CodeCoverage package on
daily builds and publish it as a zip.

* Addressed code review comments

Changed from Add-Member to use pscustomobject type accelator. Removed
[gc]::collect.

* Added explicit garbage collection

* Addressed code review comments

- Make sure that the build Start-PSPackage gets is not a code coverage
  build
- Add debugType = full for FullCLR
- Remove configurations from PackageManagement files as it is not needed.
- Build CodeCoverage build first in AppVeyor.

* Resolve merge conflict

* Fix indentation

* Fix newline at end of file

* Added command discovery for locating OpenCover.console.exe
2016-11-11 11:12:07 -08:00
Hemant Mahawar
f315647214 Use the unabbreviated parameter names in Start-PSBootstrap (#2623) 2016-11-04 13:17:30 -07:00
Sergei Vorobev
a3afeee54e Fix Start-PSBootstrap install_name_tool call on macOS (#2601) 2016-11-03 14:30:11 -07:00
Sergei Vorobev
46ff660271 Fix crypto libs patching logic to accomodate multiply files (#2541)
Native library also changed from System.Security.Cryptography.Native.dylib
to System.Security.Cryptography.Native.OpenSsl.dylib

See discussion in #2510
2016-11-02 14:25:46 -07:00
Sergei Vorobev
2f233644f2 Pin dotnet-cli version to 1.0.0-preview3-003930 (#2573) 2016-10-31 17:55:29 -07:00
Mike Richmond
9b478dd531 Fixing the Win10 sdk presence check (#2568) 2016-10-31 15:02:44 -07:00
Steve Lee
44eb20dc8f Fixes #2534 by replacing expensive WMI query with Win32 API calls (#2535)
* Fixes #2534 by replacing expensive WMI query with Win32 API calls

* fix break on unix build

* added tests for #2535

* although test passed, fixing exception that shows up

* fixed Describe text

* addressing code review feedback

* addressing review feedback to comment on why sleep is needed
added check that test processes are created before we try to kill them

* fixed test to timeout and pending fix for #2561
2016-10-31 09:41:13 -07:00
Sergei Vorobev
5c6a11213b Wrap calls to choco install in Start-NativeExecution (#2547) 2016-10-27 13:06:17 -07:00
Dongbo Wang
1d29d42ff7 Remove crossgen'ed IL assemblies and then rename NI assemblies to the same as the corresponding IL images. (#2484)
* Remove crossgen'ed IL assemblies and then rename NI assemblies to the same as the corresponding IL images.
This is to make sure:
  1. The dependency existence check by powershell.exe will pass for all TPAs.
  2. CoreCLR by default will load the NI images even though it's using names of the IL images.

* Update the comment to make it easy to understand
2016-10-18 13:12:51 -07:00
Dongbo Wang
a1aac43f1b Update build.psm1 to not remove IL assemblies after crossgen because the latest dotnet.exe checks the existence of all TPA assemblies, including those built from the local projects 2016-10-14 10:02:44 -07:00
Dongbo Wang
2e402cfef1 Update powershell to depend on latest dotnet core packages (preview1-24530-04 from 9/30/2016) 2016-10-14 10:02:44 -07:00
Andrew Schwartzmeyer
f62dd4bf54 Allow Start-PSBuild -Output to take absolute path (#2398)
There was no point to using Join-Path here,
but it made it impossible to specify absolute paths
(or any path outside of the PowerShell repo).
2016-10-03 11:04:40 -07:00
Mike Richmond
374e1d1b21 Merge pull request #2280 from vors/admin-tests
Separate tests on Windows CI to Admin-Required and Non-Admin-Required
2016-09-29 16:28:29 -07:00
Aditya Patwardhan
f31d4a5ac2 Add archive with test content to AppVeyor artifacts for daily builds.
The change adds Compress-TestContent cmdlet to build.psm1 so that it can
compress the powershell test content. This is done only for daily builds.
2016-09-29 12:38:12 -07:00
Sergei Vorobev
5fe1c431fa Make Get-PesterTag allow only one scope tag (CI, Feature, Priority) 2016-09-29 12:29:27 -07:00
Sergei Vorobev
917bf5abc9 Fix bug about Admin tests defaults Start-PSPester in build.psm1 2016-09-29 12:29:27 -07:00
Sergei Vorobev
911c7d9976 Replace Transcription by *> redirection
due to the issue https://github.com/PowerShell/PowerShell/issues/2334
2016-09-29 12:29:27 -07:00
Sergei Vorobev
d1d82d03b4 Make Invoke-AppVeyorTest run elevated and non-elevated tests separately
- Add RequireAdminOnWindows to the list of blessed tags
- Fix a bug in Get-PesterTag where we accepted 'Slow' as a proper priority
- Fix missed comma in Start-PSPester parameters
- Add documentation about new Pester tag
- Fix finishing logic for Start-PSPester -Unelevate
2016-09-29 12:29:27 -07:00
Sergei Vorobev
339c7d80e4 Add Start-PSPester -Unelevated
That will enable running tests without Admin in CI
2016-09-29 12:29:27 -07:00
Dongbo Wang
18f732f1e0 Improve Start-PSPackage to support zip package, downlevel packages for win-plat. Fix the version issue and package name for creating msi and appx (#2361)
* Improve Start-PSPackage to support zip package, downlevel packages for win-plat. Fix the version issue and package name for creating msi and appx

* Address comments about New-PSOptions

* Update Start-PSPackage to not show the warning from New-PSOptions
2016-09-28 10:47:16 -07:00
Andrew Schwartzmeyer
8a24d26e8d Patch System.Net.Http.Native.dylib
Again, .NET Core expects users to forcibly link the third party OpenSSL
libraries into system directories, which the Homebrew team advises
strongly against (and attempts to prevent). This also affects the
System.Net.Http library, and results in runtime errors during SSL
certificate validation. So instead, we patch what we can, when we can.
2016-09-20 14:34:32 -07:00
Andrew Schwartzmeyer
5439d50710 Add all dependencies to New-UnixPackage
Now that I finally have a decent list of dependencies (though it may
still be too many), I have expanded the dependencies of the package so
that users get better error messages.

I've removed ca-certificates as that's not *necessarily* required (but
needed on Docker to download over HTTPS). This may be true of other
packages too.
2016-09-20 13:57:36 -07:00
Douglas Thrift
4d5d0a0034 Rename Publish-EchoArgs to Publish-PSTestTools
* Rename Publish-EchoArgs to Publish-PSTestTools so it can be used
  for other tools as well in the future
* Publish EchoArgs to the bin directory instead of run to match
  convention
* Add source URL to EchoArgs header comment
* Use wildcard of "*.nuget.props" to match
  "test/csharp/csharp.nuget.props" in .gitignore
2016-09-13 13:37:42 -07:00
Douglas Thrift
7e8070276f Move and "publish" EchoArgs for the tests
* Move EchoArgs from test/EchoArgs to test/tools/EchoArgs
* Use "dotnet publish" for building EchoArgs in build.psm1 so the test
  can call it directly
2016-09-13 13:37:42 -07:00
Andrew Schwartzmeyer
e1e014295b Add -powershell and -Pester options to Start-PSPester
When testing containers, we want to use the in-box PowerShell.
2016-09-12 15:01:19 -07:00
Andrew Schwartzmeyer
427435c8fd Refactor .NET CLI installation into Install-Dotnet
So that it can be reinstalled separately if desired.

Also removed the set validation as it was now wrong,
and removed the warning about no Invoke-WebRequest on Core PowerShell
(it is ported now).

I don't like the duplicate parameter logic,
especially around -NoSudo.
2016-09-12 15:01:18 -07:00
Andrew Schwartzmeyer
fc2c1b9f7d Update apt-get repo in Start-PSBootstrap
yum does not need this as yum install does it automatically.

This is needed when running, for example, in a container.
2016-09-12 15:01:18 -07:00
Andrew Schwartzmeyer
3a66c04f23 Add -NoSudo option to Start-PSBootstrap 2016-09-12 15:01:18 -07:00
Andrew Schwartzmeyer
3687692802 Guard fatal bootstrap steps with Start-NativeExecution 2016-09-12 15:01:18 -07:00
Andrew Schwartzmeyer
bb476d4aef Install groff when bootstrapping for packaging 2016-09-12 15:01:18 -07:00
coderdad
c531098f3b Working directory fix for googletest submodule update (#2151)
* Working directory fix for submodule update

The git submodule update for googletest must be run from the script's root directory

* Added try-finally block around Push-Location

Great recommendation from @vors! 

The edit is a best practice incase the user Ctrl-C's out of the script. 

Tested locally by exiting out of: 
try { Push-Location C:\Users\; Start-Sleep -Seconds 60 } finally { Pop-Location }
2016-08-31 19:42:27 -07:00
Keith Mosher
77a37f7773 Add powershell to /etc/shells (#1939)
Manages /etc/shells with after (un)install scripts for CentOS and Ubuntu

Fixes #1913
2016-08-31 13:16:11 -07:00
Travis Plunk
55f78781e9 Add message to make it clear what tests are running 2016-08-31 12:17:19 -07:00
Travis Plunk
6f1d1877de Address comments
Made AppVeyor and TravisCI use similar code
2016-08-30 11:47:40 -07:00
Travis Plunk
414cbe77a1 redirect mc error messages to stdout 2016-08-29 19:50:44 -07:00
Dongbo Wang
52e274f644 Publish nuget packages for 'Microsoft.WSMan.Management' and 'Microsoft.WSMan.Runtime' (#2119) 2016-08-29 19:01:38 -04:00
Josh Soref
eb3fd7ae6c Spelling comments (#2066)
* spelling: comments in src/Microsoft.Management.Infrastructure.CimCmdlets

* spelling: comments in src/Microsoft.PackageManagement.ArchiverProviders

* spelling: comments in src/Microsoft.PackageManagement.CoreProviders

* spelling: comments in src/Microsoft.PackageManagement.MetaProvider.PowerShell

* spelling: comments in src/Microsoft.PackageManagement.MsiProvider

* spelling: comments in src/Microsoft.PackageManagement.MsuProvider

* spelling: comments in src/Microsoft.PackageManagement.NuGetProvider

* spelling: comments in src/Microsoft.PackageManagement.PackageSourceListProvider

* spelling: comments in src/Microsoft.PackageManagement

* spelling: comments in src/Microsoft.PowerShell.Activities

* spelling: comments in src/Microsoft.PowerShell.Commands.Diagnostics

* spelling: comments in src/Microsoft.PowerShell.Commands.Management

* spelling: comments in src/Microsoft.PowerShell.Commands.Utility

* spelling: comments in src/Microsoft.PowerShell.ConsoleHost

* spelling: comments in src/Microsoft.PowerShell.Core.Activities

* spelling: comments in src/Microsoft.PowerShell.CoreCLR.AssemblyLoadContext

* spelling: comments in src/Microsoft.PowerShell.CoreCLR.Eventing

* spelling: comments in src/Microsoft.PowerShell.Diagnostics.Activities

* spelling: comments in src/Microsoft.PowerShell.GraphicalHost

* spelling: comments in src/Microsoft.PowerShell.LocalAccounts

* spelling: comments in src/Microsoft.PowerShell.Management.Activities

* spelling: comments in src/Microsoft.PowerShell.PSReadLine

* spelling: comments in src/Microsoft.PowerShell.PackageManagement

* spelling: comments in src/Microsoft.PowerShell.ScheduledJob

* spelling: comments in src/Microsoft.PowerShell.Security.Activities

* spelling: comments in src/Microsoft.PowerShell.Security

* spelling: comments in src/Microsoft.PowerShell.Utility.Activities

* spelling: comments in src/Microsoft.PowerShell.Workflow.ServiceCore

* spelling: comments in src/Microsoft.WSMan.Management.Activities

* spelling: comments in src/Modules

* spelling: comments in src/Schemas

* spelling: comments in src/libpsl-native

* spelling: comments in src/powershell-native

* spelling: comments in build.psm1

* spelling: comments in src/System.Management.Automation/CoreCLR

* spelling: comments in src/System.Management.Automation/DscSupport

* spelling: comments in src/System.Management.Automation/cimSupport

* spelling: comments in src/System.Management.Automation/commands

* spelling: comments in src/System.Management.Automation/engine/Modules
2016-08-26 13:46:03 -07:00
Adam Driscoll
998b458ac4 Changing the PATH for cmake. 2016-08-25 10:47:52 -05:00
Mike Richmond
02da250fc8 Revert "Pester tests wouldn't run from build directory with spaces" 2016-08-22 16:41:27 -07:00
Barry Nolte
d3538851c6 Pester tests won't run from directory with space (#1951)
Added quotes around file/pathnames as needed to get pester tests to run from build directory with a space in it.
2016-08-22 10:56:03 -07:00
Barry Nolte
890e80dd54 Getting tests to run from build directory with spaces in it (#1981)
* [build.psm1] - mc.exe input file needs quotes

For filenames that have spaces or paths to that file that have spaces, the input filename needs to have quotes around it.

* Quoted more paths so tests run from directories with spaces

Found a few locations where paths weren't qutoed or escaped with '& ...' that are needed to get tests to run from build directories with spaces in them.
2016-08-22 09:57:30 -04:00
Barry Nolte
dfae53d70d [build.psm1] - mc.exe input file needs quotes (#1943)
For filenames that have spaces or paths to that file that have spaces, the input filename needs to have quotes around it.
2016-08-19 10:53:49 -07:00
Keith Mosher
b60160977a Explicitly install 'which' on CentOS
which isn't on CentOS by default and is needed by the dotnet install scripts
2016-08-18 23:31:47 -07:00
Keith Mosher
b777d9ef2b Fix the rpm-build package name
The binary is rpmbuild, but the package that provides it is hyphenated.
2016-08-18 23:30:36 -07:00
Matt Wrock
33fcdf37e5 update googletet submodule in bootstrap on linux and osx (#1805) 2016-08-18 08:44:37 -07:00
Karol Kaczmarek
71ae1a69f7 Installing cmake instead of cmake.portable (#1840) 2016-08-17 21:13:52 -07:00
Matt Wrock
4e228e6b02 better win 10 sdk folder to test (#1796) 2016-08-17 15:08:37 -07:00
Jason Shirk
8b056776c0 Stop using 'Open PowerShell' and OPS in code (#1838) 2016-08-16 17:03:34 -07:00
Andrew Schwartzmeyer
a9e809c18a Fix naming of Unix packages
- .NET Core RID suffixes removed
- `el7.centos` suffix added to RPM
- `1ubuntu1.14.04.1` iteration used for DEB packages

`~` cannot be used after `ubuntu1` because GitHub release renames it to
a `.`; additionally, no packages lack the final suffix `.1`. While my
machine is `.5` I could find no packages that went past `.3`, so let's
use this to indicate that it works for `14.04.1` and forward.

We are *not* recreating the alpha.9 packages, but will we rename them
accordingly. This means that the filenames will be "correct" but the
meta-data will be out-of-date.
2016-08-16 16:07:54 -07:00
Matt Wrock
ff5060b449 provide a more actionable message when vcvarsall.bat is missing 2016-08-14 11:30:54 -07:00
Andrew Schwartzmeyer
3f9b1833ac Fix Start-PSPackage for Release build on Windows 2016-08-11 17:38:45 -07:00
Andrew Schwartzmeyer
349491be84 Support building Ubuntu 16.04 packages 2016-08-11 13:42:02 -07:00
Andrew Schwartzmeyer
39184852d9 Add logic to rename package with runtime suffixed 2016-08-11 13:38:54 -07:00
Andrew Schwartzmeyer
49d297c410 Fix permissions of package files
The DLLs should not be marked executable on Unix.

Also remove deb-build-depends as the `dotnet` package is not yet
universally available.
2016-08-11 13:38:54 -07:00
Andrew Schwartzmeyer
c0aac111d3 Enable side-by-side Unix packages 2016-08-11 13:38:54 -07:00
Andrew Schwartzmeyer
5235fed2c7 Refactor Start-PSPackage
Moved Unix package code into New-UnixPackage, switching on $Types to
call the appropriate function given the list of types.

Also fixed bug with chmod on a symlink; it was unnecessary.
2016-08-11 13:38:54 -07:00
Andrew Schwartzmeyer
a3f3734f09 Include license during build
Rather than including it only at packaging, we should include this
license as part of `dotnet build` and `dotnet publish`.
2016-08-11 13:38:54 -07:00
Alex Jordan
f78ed27597 Adding man page for linux 2016-08-10 14:37:44 -07:00
Andy Schwartzmeyer
800382f019 Merge pull request #1698 from PowerShell/raghushantha-packagemetadatabranch
Updated *nix package metadata fields: Issue #1422
2016-08-10 11:50:12 -07:00
Andrew Schwartzmeyer
0fc21db411 Fix Start-PSPester setup
Start-PSPester must ensure that the environment variable `PSMODULEPATH`
is not set before starting the new PowerShell process.
If it is set, then the tests are not guaranteed to be correct,
as they will be operating with the host process's `PSMODULEPATH`,
thus ignoring their own modules.

I also refactored the Start-PSPester command setup code.
2016-08-09 12:03:30 -07:00
Raghu Shantha [MSFT]
013580e7c1 Updated *nix package metadata fields: Issue #1422 2016-08-09 10:58:22 -07:00
Mike Richmond
73ea16f23c Adding WinRM registration script and pwrshplugin publishing. 2016-08-08 09:38:43 -07:00
Mike Richmond
2a8c04d6b0 Separated Windows binary build by CLR 2016-08-08 09:38:43 -07:00
Andy Schwartzmeyer
0c7573a71a Merge pull request #1638 from PowerShell/frangom/bugfixes
Fixing path to remove ILs after the ngen binary is generated. This fixes issue ##1636
2016-08-05 13:59:13 -07:00
Francisco Gamino
d82bbeca76 Fixing write-verbose call to let the user have control over it when calling the function 2016-08-05 13:30:04 -07:00
Andrew Schwartzmeyer
09e1683098 Add Ubuntu 16.04 RID 2016-08-05 10:09:40 -07:00
Mike Richmond
a7f5d28f5f Fixing Start-PSPester for non-Windows environments. 2016-08-04 16:46:44 -07:00
Jason Shirk
5676a44f38 Merge pull request #1650 from PowerShell/raghushantha-msieulabranch
EULA for MSI Installer
2016-08-04 15:47:03 -07:00
Francisco Gamino
20ce3cca2b Fixing path to remove ILs after the ngen binary is generated. 2016-08-04 15:33:57 -07:00
Andrew Schwartzmeyer
3143ccf97c Use default Ruby on OS X 2016-08-04 13:52:30 -07:00
Raghu Shantha [MSFT]
b6b95c4d63 EULA for MSI Installer 2016-08-04 13:30:00 -07:00
Mike Richmond
419db0e832 Removing dependency on JSON .Net for FullClr 2016-08-04 13:15:34 -07:00
Mike Richmond
33c1f2db23 Fixing execution policy so test automation works 2016-08-04 13:15:34 -07:00
Mike Richmond
f8b9b88986 Bug fixes and cleanup in preparation for push. 2016-08-04 13:15:34 -07:00
Andrew Schwartzmeyer
39faa3dd25 Fix OS X OpenSSL link for .NET Core
Due to https://github.com/Homebrew/brew/pull/597,
.NET Core's installation instructions of `brew link --force openssl` are
now invalid (for good reasons, due to security holes). Until .NET Core
updates their libraries to find the OpenSSL libraries correctly, we can
update them as part of `Start-PSBootstrap`.

See https://github.com/dotnet/cli/issues/3964
2016-08-04 11:21:48 -07:00
Andrew Schwartzmeyer
f866f8b06f Fix inconsistent braces and whitespace in build.psm1 2016-08-03 13:36:13 -07:00
Andrew Schwartzmeyer
c35c9e5ef2 Fix libclrjit name for OS X
It's a dylib, not a so.
2016-08-03 13:36:13 -07:00
Andrew Schwartzmeyer
9c205c6158 Fix crossgen search for Ubuntu/CentOS 2016-08-03 13:13:14 -07:00
Francisco Gamino
c16209e39d Enable crossgen on CI 2016-08-03 13:12:51 -07:00
Francisco Gamino
58e7f480c4 Addressing code review comments 2016-08-03 13:12:22 -07:00
Francisco Gamino
733c9f0ab9 Enable crossgen for PowerShell assemblies on Linux 2016-08-03 13:12:16 -07:00
Francisco Gamino
92a37b4675 Enable crossgen for PowerShell binaries on Windows 2016-08-03 10:48:27 -07:00
Alex Jordan
b1ea06aaef Merge pull request #1593 from PowerShell/ealexjordan/pscolors
Ealexjordan/pscolors
2016-08-03 10:37:20 -07:00
Sergei Vorobev
08fda6842a Replace powershell-based resgen by dotnet C# based one 2016-08-02 11:47:53 -07:00
Alex Jordan
e2846379b8 Fixing default and error colors for PSReadLine 2016-08-02 00:16:54 -07:00
Sergei Vorobev
aa0a00b6fb Fix Start-DevPowerShell to use upercase for PSMODULEPATH (unix) 2016-07-28 11:47:36 -07:00
James Truher [MSFT]
3ecac72baf Merge pull request #1526 from PowerShell/jameswtruher/TagPesterTests
Jameswtruher/tag pester tests
2016-07-27 14:39:32 -07:00
Sergei Vorobev
ce5cc3ca37 Fix Start-DevPowerShell for PowerShellCore edition on windows 2016-07-27 12:27:41 -07:00
James Truher
5e61213be9 update appveyor.yml to check for bad test tags
add the function to check tags to build.psm1
rename the parser tests so they actually execute
2016-07-27 12:06:51 -07:00
James Truher
19e1cc450b final changes for start-pspester 2016-07-27 12:06:51 -07:00
James Truher
a784149b36 all tests are now marked with proper tag
also, update build.psm1 to be more flexible
2016-07-27 12:06:51 -07:00
James Truher
362a807438 Add changes to build.psm1 to run only CI tests 2016-07-27 12:06:51 -07:00
Sergei Vorobev
2fe4764830 Fix Start-DevPowerShell for Unix 2016-07-27 10:55:42 -07:00
Sergei Vorobev
99e4b87cc6 Teach Start-DevPowerShell run CoreCLR version 2016-07-27 10:49:46 -07:00
Andy Schwartzmeyer
1349372b39 Merge pull request #1538 from PowerShell/vors/sma-only
Make Start-PSBuild -SMAOnly Unix-friendly
2016-07-27 10:29:16 -07:00
KarolKaczmarek
2405c65113 Merge pull request #1464 from PowerShell/kkaczma/mc
Fixing mc.exe detection and installing required tools in Start-PSBootstrap. Fixes #1451
2016-07-27 10:18:52 -07:00
Sergei Vorobev
6984d654b7 Make Start-PSBuild -SMAOnly Unix-friendly 2016-07-27 09:02:36 -07:00
Raghu Shantha [MSFT]
c0cd3f9347 Fix for handling alphanumeric characters in package build field 2016-07-26 21:22:37 -07:00
Sergei Vorobev
bcac0ece62 Improve Start-PSBuild -Clean
Always do the clean in the root folder
2016-07-26 17:45:49 -07:00
Sergei Vorobev
4450005a52 Fix TypeGen with the new layout 2016-07-26 16:59:45 -07:00
Sergei Vorobev
e97af44674 Rename src/powershell-windows to src/powershell-win-core
- Update build.psm1
- Update docs
2016-07-26 16:48:57 -07:00
Sergei Vorobev
6626720e44 Introduce Microsoft.PowerShell.SDK
- introduce SDK project with our dependencies and CoreCLR framework
  for runtime.
- Move dependencies for Full from ConsoleHost to powershell-win-full
- make powershell-win-full Top-level project
- Change build.psm1 to do publish for -FullCLR build
- Update docs
2016-07-26 16:48:57 -07:00
Andrew Schwartzmeyer
41173a3b65 Rename IsCore to IsCoreCLR 2016-07-26 11:54:08 -07:00
Karol Kaczmarek
05485c7a25 Confirming before installing choco and improving prompt message 2016-07-25 13:55:34 -07:00
Karol Kaczmarek
536085ea58 Not installing choco when prerequisites present and confirming before updating env variable 2016-07-25 13:55:33 -07:00
Karol Kaczmarek
83d5d95956 Installing Windows 10 SDK 2016-07-25 13:55:32 -07:00
Karol Kaczmarek
1c480ded72 Removing incorrect warning about supportability and using precheck 2016-07-25 13:55:02 -07:00
Karol Kaczmarek
38fc724a0b Installing cmake 2016-07-25 13:55:00 -07:00
Karol Kaczmarek
6a989e86a9 Installing chocolatey and updating machine path 2016-07-25 13:54:30 -07:00
Mike Richmond
0d49cb8aa5 Merge pull request #1490 from PowerShell/mirichmo/pwrshplugin-optimization-and-build-fix
Fixing bug in pwrshplugin config file reader and wrapping mc.exe call…
2016-07-25 09:00:32 -07:00
Sergei Vorobev
ea3e7db598 Simplify Start-PSPester
Pester already handles folder vs file.
There is no need to have custom logic in Start-PSPester.
2016-07-22 17:46:12 -07:00
Sergei Vorobev
3674bacfa8 Copy pwrshplugin into the Full CLR version artifacts 2016-07-22 16:11:37 -07:00
Sergei Vorobev
875402ad53 Create separate Top-level directory per platform
- Replace src\powershell top level project by two
  new root-level projects:
    - src\powershell-unix
    - src\powershell-windows
- Break src\Modules into more granular structure:
  - Shared
  - Windows+Unix-Core
  - Windows-Core
  - Windows-Core+Full
  - Windows-Full
  - To be created: Unix-Core. We will do it as a separate PR
- Fix #1122 : Platform-specific set of Modules (and assemblies)
- Fix Start-TypeGen to work with new top level folders layout
2016-07-22 16:11:29 -07:00
Mike Richmond
156418ceab Fixing bug in pwrshplugin config file reader and wrapping mc.exe calls in vcvarsall.bat. 2016-07-22 15:04:46 -07:00
Karol Kaczmarek
d490def51b Fixing mc.exe detection 2016-07-21 11:07:45 -07:00
Andy Schwartzmeyer
0a87a3d828 Merge pull request #1436 from PowerShell/vors/sma-only
Add Start-PSBuild -SMAOnly option for faster incremental builds
2016-07-20 17:17:33 -07:00
Sergei Vorobev
738d4ea005 Add Start-PSBuild -StopDevPowerShell switch 2016-07-19 19:55:49 -07:00
Sergei Vorobev
3f1ba7a605 Add Start-PSBuild -SMAOnly option for faster incremental builds 2016-07-19 19:55:49 -07:00
Mike Richmond
ee9418f6b6 Cleaning up build.psm1 per code review comments. 2016-07-19 16:41:13 -07:00
Mike Richmond
8ab10c52a9 Positioning powershell.exe in Microsoft.PowerShell.ConsoleHost for consumption by Start-DevPowerShell 2016-07-19 16:41:13 -07:00
Mike Richmond
4e7f582d43 Adding ConfigFileReader back into the plugin and fixing it to more efficiently parse the configuration file. 2016-07-19 16:41:13 -07:00
Mike Richmond
d7618d731d Additional fixes in preparation for review and pull request 2016-07-19 16:41:13 -07:00
Mike Richmond
c3bf2547e6 Backing up changes where the CoreCLR version runs on Nano Server. It still has the pwrshplugin!WSManPluginStartup call issue. 2016-07-19 16:41:13 -07:00
Mike Richmond
77a26b6b77 Additional code changes and link fixes 2016-07-19 16:41:13 -07:00
Mike Richmond
8948aa7efb Initial changes to split the CMake project into a hierarchical set of CMakeLists.txt files 2016-07-19 16:41:13 -07:00
Andrew Schwartzmeyer
a4dec332b4 Import Pester from new location
This is somewhat temporary as we're about to investigate using upstream
Pester without needing to have it as a submodule, and failing that,
moving it to a vendor folder.
2016-07-14 11:14:05 -07:00
Andrew Schwartzmeyer
92495065e8 Guard Linux native build steps
So that non-zero exit codes fail the build, and the tests are run
verbosely.
2016-07-13 15:46:25 -07:00
Raghu Shantha [MSFT]
05b350961c Add ability to perform SxS install in MSI package manifest 2016-07-12 15:37:40 -07:00
Andy Schwartzmeyer
12d378330a Merge pull request #1279 from PowerShell/andschwa/artifacts
Build Linux and OS X packages on Travis
2016-07-06 14:41:45 -07:00
dantraMSFT
767e706645 Fix grammer on comment 2016-07-05 13:13:47 -07:00
dantraMSFT
6fa898a4e8 Comment out mc.exe search logic.
- It's not currently not used
- Search fails on clean systems that are setup exclusively using PowerShell's Full CLR setup instructions.
2016-07-05 13:03:25 -07:00
Andrew Schwartzmeyer
b1621edbc9 Add packaging dependencies to Start-PSBootstrap 2016-07-05 11:37:42 -07:00
Andrew Schwartzmeyer
17a274b670 Update dependencies list 2016-07-05 10:41:43 -07:00
Raghu Shantha [MSFT]
934c73d4cd Disable verbosity during package creation - now that we are stable 2016-07-05 09:26:16 -07:00
Sergei Vorobev
b29948afbe Update docs\building\windows-full.md + typo fixes 2016-07-01 13:51:14 -07:00
Sergei Vorobev
ca321b9322 Improve Start-DevPowerShell
- Rename Start-DevPSGithub to Start-DevPowerShell
- Add Configuration parameter to Start-PSBuild
- Add -Command parameter to Start-DevPowerShell
2016-07-01 13:16:53 -07:00
Sergei Vorobev
916d17e958 Fix Microsoft.PowerShell.ConsoleHost/map.json 2016-07-01 12:20:48 -07:00
Sergei Vorobev
ffbdb41fe5 Add Convert-TxtResourceToXml function to build.psm1 2016-07-01 12:20:48 -07:00
Andrew Schwartzmeyer
19a4f4faf5 Fix IsUbuntu logic in build module
I previously broke the automatic uninstallation logic by changing how I
identified the Linux distribution.
2016-06-30 13:41:43 -07:00
Andy Schwartzmeyer
31d35f9c06 Merge pull request #1248 from PowerShell/kapil/nuget
Add CoreCLR nuget packages
2016-06-30 09:21:14 -07:00
Andrew Schwartzmeyer
2e927d8155 Disable xUnit tests
This is temporary. We need to rewrite the test context to ensure the
AssemblyLoadContext is used properly, since the default can no longer be
initialized.
2016-06-28 20:08:11 -07:00
Sergei Vorobev
ca6bc352b4 Remove extra output from Copy-MappedFiles 2016-06-28 15:52:38 -07:00
Andy Schwartzmeyer
b294a46d2e Merge pull request #1210 from PowerShell/andschwa/rtm
Update PowerShell to use .NET Core 1.0
2016-06-28 14:37:20 -07:00
Andrew Schwartzmeyer
5e3150f429 Use Start-TypeGen to generate type catalog dynamically 2016-06-28 12:57:44 -07:00
Sergei Vorobev
e647549d0d Exclude Microsoft.WSMan.Management from the list of default snapins
Fix #1180
2016-06-28 12:14:18 -07:00
Raghu Shantha [MSFT]
1c5cd64251 Added ability to choose install location, issue #1135 2016-06-27 16:04:57 -07:00
Raghu Shantha [MSFT]
e8145e056d Added Assets path to New-MSIPackage invocation 2016-06-27 11:50:14 -07:00
Raghu Shantha [MSFT]
3c9347b3bb MSI Installer enhancements Part 1 2016-06-27 11:39:49 -07:00
Kapil Borle
999197c6a6 Add CoreCLR nuget packages 2016-06-24 17:25:56 -07:00
Sergei Vorobev
9e84f86753 Start-XamlGen: ignore all errors from msbuild for all Xaml files 2016-06-24 15:45:31 -07:00
Sergei Vorobev
0203775a8c Redirect Xaml msbuild output into verbose 2016-06-24 15:45:31 -07:00
Sergei Vorobev
7ccb0bae95 Remove full paths from references assemlbies in XAML generation 2016-06-24 15:45:31 -07:00
Sergei Vorobev
c681acc952 Don't always use msbuild from the framework folder: causes problems with VS C++ 14 Tools 2016-06-24 15:45:31 -07:00
Sergei Vorobev
7498c20aa3 build.psm1 changes for Activities dlls
- Add Start-PSBuild -Clean
- Normalize $env:PATH references in .\build.psm1
- Add more logging in Resolve-Xaml for troubleshooting
- Always use msbuild from the Microsoft.NET v4.0.30319
- Rename Resolve-Xaml into Start-XamlGen for consistency with Start-TypeGen and Start-ResGen
- Disable pwrshplugin build temporarely
2016-06-24 15:45:31 -07:00
Jason Shirk (POWERSHELL)
283d596a20 Import local Pester version before running tests 2016-06-24 14:03:30 -07:00
Andrew Schwartzmeyer
f8e0c1a49e Change preview channel to rel-1.0.0
Recent CLI commits have changed the channel from which to download.
2016-06-23 13:23:03 -07:00
Sergei Vorobev
b833d6b957 Make Resolve-Xaml in build.psm1 compatible with GraphicalHost 2016-06-21 18:32:21 -07:00
Dongbo Wang
12c5094a69 Update build.psm1 to use the same MSBuild checking logic 2016-06-21 16:54:57 -07:00
Dongbo Wang
8fbedbd9ad Update build.psm1 to add Resolve-Xaml function because 'Microsoft.PowerShell.Activities' depends on .xaml files. 2016-06-21 15:19:34 -07:00
Sergei Vorobev
09238a9f1a Merge pull request #1148 from PowerShell/vors/pwrshplugin
Add pwrshplugin into windows build
2016-06-20 13:43:54 -07:00
Andrew Schwartzmeyer
36d982f7f5 Detect DEB and RPM package types
Instead of assuming DEB for Linux.
2016-06-20 13:03:54 -07:00
Andrew Schwartzmeyer
01b1b13344 Install gcc-c++ instead of just gcc on CentOS 2016-06-20 12:16:14 -07:00
Andrew Schwartzmeyer
bedcff49f6 Use VERSION_ID instead of Version from /etc/os-release
They are different fields and VERSION_ID is just the number.
2016-06-20 12:13:22 -07:00
Andrew Schwartzmeyer
f3070bf28b Install curl during bootstrap
Since the LLVM feed is no longer added, we do not need to update nor
require curl beforehand, nor install wget.
2016-06-20 12:12:21 -07:00
Andrew Schwartzmeyer
30dadb8dae Use -match instead of -eq
Since the use of quotes in /etc/os-release is inconsistent across
distributions, we have to match instead of exactly compare.
2016-06-20 12:08:08 -07:00
Andrew Schwartzmeyer
511936606e Add Find-Dotnet to make build module smarter
New function smartly adds the probable location of the .NET CLI tools to
the path if `dotnet` is not found. If it is still not found, it restores
the path. All functions using `dotnet` should call `Find-Dotnet` first.
2016-06-20 11:59:14 -07:00
Andrew Schwartzmeyer
42d1d05d85 Support CentOS 7 in build module 2016-06-20 11:39:39 -07:00
Sergei Vorobev
cfb8765a6e Merge pull request #1140 from PowerShell/vors/typegen
TypeGen enhancements
2016-06-17 15:05:48 -07:00
Sergei Vorobev
e73e72484b Fix name for pwrshplugin 2016-06-17 14:27:09 -07:00
Sergei Vorobev
d24bf35c22 Add pwrshplugin to cmake build 2016-06-17 14:09:00 -07:00
Sergei Vorobev
299d7798ce Merge pull request #1136 from PowerShell/vors/scheduledjobs
PSScheduledJobs Module
2016-06-17 11:26:24 -07:00
Sergei Vorobev
b374e2fd06 Add Start-TypeGen
Update Microsoft.PowerShell.CoreCLR.AssemblyLoadContext\project.json
Include Crypto package for new source code
2016-06-17 11:23:29 -07:00
Sergei Vorobev
7e26425e86 Make Start-ResGen smarter: don't need to explicitly list all modules 2016-06-17 11:12:30 -07:00
Andy Schwartzmeyer
4adfe9330a Merge pull request #1138 from PowerShell/vors/gitignore
Add uninstall script in .gitignore
2016-06-17 09:50:00 -07:00
Sergei Vorobev
7d9046ea05 Fix wrong heuristic to start ResGen 2016-06-17 07:51:32 -07:00
Sergei Vorobev
a64c0521a8 Ignore untracked files in Copy-MappedFiles pslMonadRoot check 2016-06-17 06:14:12 -07:00
Sergei Vorobev
2eba1d3973 Update Start-ResGen to have PSScheduledJob 2016-06-16 19:20:35 -07:00
Andrew Schwartzmeyer
b19be8c911 Fix CentOS RID in tests and build module 2016-06-16 18:39:29 -07:00
Andrew Schwartzmeyer
b8f88e75c4 Remove LLVM feed
The feed was switched off due to excess load.
2016-06-16 11:00:47 -07:00
Andrew Schwartzmeyer
38c2ba294a Unpin .NET CLI package
Use latest until further notice.
2016-06-16 10:55:11 -07:00
Sergei Vorobev
60b6f7287d Fix our ResGen to make LocalAccounts work 2016-06-15 20:16:38 -07:00
Sergei Vorobev
d5060bc7e3 build.psm1: Add Copy-MappedFiles -WhatIf switch 2016-06-15 19:07:49 -07:00
Andrew Schwartzmeyer
2192c31a64 Fix use of aliases in build.psm1
Also use git-dir to make Copy-MappedFiles location agnostic.
2016-06-15 13:56:29 -07:00
Sergei Vorobev
65acf49845 Replace aliases by full names to fix build 2016-06-15 10:34:10 -07:00
Sergei Vorobev
d92620dcf3 Move resgen artifacts from submodules into src subfolders
Submodule adds unnessesary complexity.
This commit removes dependency on pre-generated C# bindings.
Start-PsBuild -ResGen will call Start-ResGen.
It also has auto-detect logic to simplify first time expirience.
2016-06-15 10:34:10 -07:00
Dongbo Wang
69769cede7 Fix build.psm1 to account for LocalAccount dll 2016-06-14 16:53:30 -07:00
Andrew Schwartzmeyer
a184876b0a Pin .NET CLI to LKG version 1.0.0-preview2-003067
Also teach `Start-PSBootstrap` the parameters `Channel` and `Version` to
pass to .NET CLI's obtain scripts.
2016-06-14 13:33:19 -07:00
Sergei Vorobev
a03b8464f5 Change native powershell.exe from x86 to x64 2016-06-14 12:27:28 -07:00
Sergei Vorobev
4b51bbb976 Fix Start-ResGen to produce windows line-ends all the time 2016-06-14 12:18:30 -07:00
Sergei Vorobev
029086e27c Add some intelligence to Copy-MappedFiles 2016-06-13 18:50:15 -07:00
Sergei Vorobev
f3ab8b3f57 Enhance mappings story
- Split mappings.json into mappings.json for every project (folder under
  src)
- Throw away src\monad prefix, now it's not relevant
- Remove New-MappingsFile
- Rename Copy-SubmoduleFiles to Copy-MappedFiles
- Make Copy-MappedFiles flexible about set of mappings.json that it
  uses
2016-06-13 17:37:24 -07:00
Andrew Schwartzmeyer
896129652c Force link openssl on OS X 2016-06-10 16:12:01 -07:00
Andrew Schwartzmeyer
11d2c2c6e7 Update Start-PSBootstrap to use .NET CLI's scripts
Linux and OS X no longer install packages, instead they download the
1.0.0 uninstall and install scripts provided by .NET CLI, uninstall all
existing `dotnet` packages, and "install" the latest 1.0.0 preview2
version of `dotnet` to `~/.dotnet`, which `Start-PSBuild` automatically
picks up.

Additionally, `Start-PSBootstrap` only attempts to install dependencies
when it detects that it is on Ubuntu 14.04, otherwise it warns that
dependencies must be installed manually, and still installs `dotnet` via
their obtain script. This makes `Start-PSBootstrap` safe to run on
Debian, and usable on CentOS.
2016-06-10 16:12:01 -07:00
Raghu Shantha [MSFT]
061cf4a6a0 Moved MSI wxs file to assets ; Renamed MSI package creation function to be compliant with PowerShell verb-noun conventions 2016-06-06 13:20:00 -07:00
Andrew Schwartzmeyer
9c7e97e325 Add Debian 8 RID 2016-06-03 09:37:59 -07:00
Raghu Shantha [MSFT]
5a8e33d756 Capture the final build version field from the complete version field 2016-06-02 12:54:04 -07:00
Raghu Shantha [MSFT]
be3a146443 Added additional logging for the appx function 2016-06-02 11:44:17 -07:00
Raghu Shantha [MSFT]
9786be0a4b Added final version field for makeappx 2016-06-02 11:23:28 -07:00
Raghu Shantha [MSFT]
84823553cc Add Ability to generate Appx packages 2016-06-02 10:31:02 -07:00
Andrew Schwartzmeyer
66ddfcdaff Make git describe work relative to script
So that you don't have to watch your CWD when running commands from the
build module.
2016-06-01 11:15:09 -07:00
Andrew Schwartzmeyer
aa273571db Fix and improve Start-PSxUnit
* Last PR had a typo in "TestAruments" which caused the configuration
  not to get picked up
* Now bails appropriately if PowerShell wasn't built, instead of
  rebuilding it every time
* Passes `-verbose` to the xUnit runner, not dotnet, so we can see which
  test failed
2016-06-01 11:15:09 -07:00
Andrew Schwartzmeyer
4d5e7daf28 Fix Start-PSxUnit 2016-05-31 16:06:19 -07:00
Andy Schwartzmeyer
a6c04a5bd3 Redirect WIX native output to Write-Verbose 2016-05-24 15:02:24 -07:00
Andy Schwartzmeyer
b1436e991e Remove MMI from Publish-NuGetFeed
This project was removed and provided as a package in the windows-build
submodule. The artifact uploading to AppVeyor fails because this was not
updated.
2016-05-24 14:57:05 -07:00
Andy Schwartzmeyer
c5a81c2e6e Guard Remove-Item in Create-MSIPackage 2016-05-24 14:46:40 -07:00
Andy Schwartzmeyer
691618d335 Return path to built package in Start-PSBuild
For Windows only right now.
2016-05-24 14:46:40 -07:00
Andy Schwartzmeyer
b4ed5e2534 Call Create-MSIPackage from Start-PSBuild 2016-05-24 14:46:39 -07:00
Raghu Shantha [MSFT]
8f1a5194c5 Add MSI package creation capability 2016-05-24 14:23:38 -07:00
Sergei Vorobev
7033dc31f1 Merge pull request #1026 from PowerShell/vors/nuget
Adding Nuget artifacts to AppVeyor project nuget feed
2016-05-23 17:58:32 -07:00
Sergei Vorobev
53b8411111 dotnet team changed their script name, change our bootstrap 2016-05-22 01:06:34 -07:00
Sergei Vorobev
159dcee626 Add Publish-NuGetFeed function to build.psm1 2016-05-22 00:17:44 -07:00
Andrew Schwartzmeyer
29ec5f27b9 Run xUnit tests verbosely 2016-05-20 16:06:31 -07:00
James Truher [MSFT]
51d5491c54 Merge pull request #1009 from PowerShell/jimtru-psversion2
update PSVersionTable code to use powershell.version rather than .version…
2016-05-19 15:20:16 -07:00
Andrew Schwartzmeyer
8b6bcabdaf Skip slow tests in Start-PSPester
This will skip them for Linux and OS X (which are currently slower than
AppVeyor).
2016-05-19 14:30:55 -07:00
James Truher
8583cf5e96 update PSVersionTable code to use powershell.version rather than .version because on Linux the .version file doesn't seem to be binplaced. I postulate this is because it's a hidden file 2016-05-19 13:19:16 -07:00
Jim Truher (MSFT)
777b2ec7d8 Merge remote-tracking branch 'origin/master' into jimtru-AddGitCommitToPSVersionTable 2016-05-18 17:07:39 -07:00
Andrew Schwartzmeyer
811f052ae9 Improve error message of Start-NativeExecution 2016-05-18 14:53:21 -07:00
Andrew Schwartzmeyer
fcf4b38370 Rename PowerShellGitHubDev.psm1 to build.psm1 2016-05-18 13:58:59 -07:00
Renamed from PowerShellGitHubDev.psm1 (Browse further)