Commit graph

13 commits

Author SHA1 Message Date
Andrew Schwartzmeyer e6e4dcafbe Build with new framework and new CLI
All libraries now use the framework `netstandard1.5`, and import the
`dnxcore50` and `portable` frameworks. The app that is published,
Microsoft.PowerShell.Linux.Host, that is, the top-level dependency that
emits an executable, instead targets `netstandardapp1.5` and has a new
`runtimes` key so that .NET CLI's `restore` and `publish` commands know
which runtime implementations to resolve.

When switching to the new CLI, we needed to fix how we specified our
dependencies. In particular, the .NET CLI team helped me figure out how
to download packages that are reference assembly only on Linux, with
implementations on Windows. The result of this is the new `frameworks`
setup.

Additionally, we were incorrectly specifying our build dependencies;
that is, projects we also build (not packages). The solution was much
cleaner. We removed the `type: build` section and replaced it with the
version `1.0.0-*` that all our projects currently use.

The `project.json` files also had their names, descriptions,
indentation, and versions fixed.

The build scripts were simplified.
2016-02-18 10:06:56 -08:00
Andrew Schwartzmeyer dacaebefb8 Move Pester to submodule to Host/Modules
This way it can also be deployed automatically, removing the last manual
copy steps from our build scripts.

Travis and AppVeyor configurations updated for new submodule location.
2016-02-10 12:58:56 -08:00
Andrew Schwartzmeyer 74a3855602 Add Modules to tree for content
Same as ps1xml files: already deployed in the wild, i.e. not source
code. Allows to remove recursive copies from build scripts and rely just
on CLI's behavior.
2016-02-10 12:48:46 -08:00
Andrew Schwartzmeyer 9f95aa3203 Use content to publish PSL_profile.ps1 2016-02-10 12:44:49 -08:00
Andrew Schwartzmeyer 9a2a8555e3 Copy ps1xml files into tree to use content
This allows us to remove the duplicated copying steps from our Windows
and Linux build scripts. These files are already distributed to users of
Windows, and so are not "source code."
2016-02-10 12:38:00 -08:00
Andrew Schwartzmeyer 17a50a9f91 Remove temporary dotnet-publish workaround
Latest dotnet-nightly packages have not required this.
2016-02-03 15:21:29 -08:00
Andrew Schwartzmeyer 9cfe821bc2 Add NOETW preprocessor definition to Automation
This is necessary to disable Tracing on Core PowerShell until the
reimplementation of the Eventing library is ported to CLI.
2016-02-02 16:46:51 -08:00
Andrew Schwartzmeyer 3cfa68caa0 Remove executable bit from build.ps1 2016-02-02 16:11:37 -08:00
Andrew Schwartzmeyer ef1c718782 Use --configuration Linux for CorePS build 2016-02-02 16:11:36 -08:00
Andrew Schwartzmeyer 52a7095056 Use Modules instead of SnapIns
Proper deployment of the Modules we support allowed me to remove my
work-arounds using the deprecated SnapIn system to load all PowerShell
libraries via Modules.

I still don't like that this is done in build scripts, but we need
better asset support from .NET CLI to change how this is done.

PowerShell.Utility now deploys the CoreClr manifest, so unsupported
commands don't show up erroneously.
2016-01-29 17:24:49 -08:00
Andrew Schwartzmeyer fd782abe99 Make dotnet-nightly workaround version-agnostic
If the `Debug/dnxcore50` path does not exist, don't worry about it.
2016-01-29 17:24:49 -08:00
Andrew Schwartzmeyer 188598e4ca Temporarily fix build scripts due to CLI bug
Latest versions of .NET CLI ignore --output and instead publish to a
long path inside of it. Until this is resolved properly, we can work
around it by copying to the expected location.

Revert this when CLI is fixed.
2016-01-28 18:38:57 -08:00
Andrew Schwartzmeyer 46f0631f64 Add build.ps1 for Windows 2016-01-19 12:56:56 -08:00