Commit graph

195 commits

Author SHA1 Message Date
Sridhar Periyasamy
ccef10b70c Windows Installer changes
- Make CLI SDK MSI non-upgradable. It must alwasy be installed SxS.
- The CLI bundle and SharedFx bundle are non-upgradeable.They are also
  installed SxS.
- Make host\muxer upgradeable. It will be upgradeable till v1.0.0 RTM.
  Post RTM will be installed SxS with v.1.0.0.
- SharedFx MSI was using the CLI MSI version. Fixing it to use the
  SharedFx version.
- Do not allow bundles to uninstall. User will be able to uninstall the
  individual MSIs.
2016-03-24 18:39:28 -07:00
Bryan Thornbury
f596b8ddce Refactor PublishTargets.cs, add publishing of all installers and archives to azure, change all versions to nuget versions. 2016-03-23 17:24:48 -07:00
Bryan Thornbury
96664f31c2 Add publishing for sdk, sharedhost, sharedfx deb files
small fix

disable dotnet-nightly train avoidance, alawys use the same debian config for now
2016-03-22 15:01:06 -07:00
Bryan Thornbury
1c38b17f8b make sdk package sdk only
fix dependencies between packages

re-disable upgrade test

another fi to add_dir_to_install

fix sdk package name

update the package name functino in monikers
2016-03-22 15:01:04 -07:00
Bryan Thornbury
08091d72bc fix version override, remove dependencies of host package 2016-03-22 15:01:03 -07:00
Bryan Thornbury
6ed82a1a3f put all deb packages in the same root, small fix to package tool, renable upgrade tests 2016-03-22 15:01:03 -07:00
Piotr Puszkiewicz
e1ba3f23ef Reference Shared Framework from Shared Host 2016-03-22 15:01:03 -07:00
Piotr Puszkiewicz
63585087f8 Install SharedHost before building shared framework 2016-03-22 15:01:03 -07:00
Bryan Thornbury
97a01213ac Fix debian packages 2016-03-22 15:01:01 -07:00
Sridhar Periyasamy
6c446c033a Address PR feedback.
Change 'Dotnet' to '.Net' in the bundles.
2016-03-22 09:59:47 -07:00
Sridhar Periyasamy
aeaced5b63 Chain the sharedfx and sharedhost MSIs into a single dotnet redist bundle. 2016-03-21 21:00:46 -07:00
Sridhar Periyasamy
ae83a73e35 Create 'dotnet-dev' and 'dotnet' pkg.
- 'dotnet-dev' contains the sharedfx, shared host and CLI SDK.
- 'dotnet' contains the sharedfx and the shared host.
2016-03-17 13:42:10 -07:00
Eric Mellino
9fb3b8788e Add hostfxr.dll to windows host msi 2016-03-15 12:12:28 -07:00
Sridhar Periyasamy
dea1e3242d Create dotnet bundle with CLI SDK, SharedFx MSI and Shared Host MSI. 2016-03-15 11:18:11 -07:00
Eric Mellino
9f3feda606 Add sharedframework and sharedhost debian installer tests
These are basic tests for now, which validate installation, upgrade,
uninstall, etc. of the debian package itself. When the shared framework is
fully functional, we will add more tests that cover real functionality.
2016-03-11 15:10:33 -08:00
Eric Mellino
d77fad4e68 Bring the OSX installer 'title' in line with Windows
It now includes the shared framework 'name' (NuGet package name) in the installer. In this case, the installer is called '.NET Core Shared Framework (NETStandard.Library 1.0.0-*)'
2016-03-10 15:19:54 -08:00
Eric Mellino
edbbc64b03 Fill out pkg installer targets
This causes three pkg files to be produced:

* A component pkg for the shared framework.
* A component pkg for the shared host.
* A product archive which includes the above two components.

The product archive also needs a distribution.xml file which contains
metadata about the package (name, title, images, etc.).

The installer for the "SDK" itself is still using logic implemented in
package-osx.sh. We should move this logic into the build target as well,
but we may want to wait until the CLI is using the shared framework to do so.
2016-03-10 10:31:45 -08:00
Matt Ellis
56e5a99c54 Add Shared Host Debian Package 2016-03-10 03:42:45 -08:00
Matt Ellis
696f4dc167 Add Shared Framework debian packaging 2016-03-10 03:42:45 -08:00
Matt Ellis
e6bcfee4a4 Add SharedFramework MSI Authoring 2016-03-10 03:37:41 -08:00
Matt Ellis
04d21e6693 Add Shared Host MSI Authoring
Ideally in the project.json for the shared host we would just list the
actual package that holds the shared host, instead of all of
NetStandard.Library, but doing some leads to compliation errors, since
publish wants to include a compile step that has a generated
AssemblyAttributes file which references types like System.String.
2016-03-10 03:37:41 -08:00
Sridhar Periyasamy
1737fa8cbc Fix debian package tests 2016-03-09 18:55:26 +00:00
Sridhar Periyasamy
b99e40bfab Address PR feedback and remove Azure CLI from dockerfiles
We no longer need Azure CLI since publish is now via C#.
2016-03-08 18:46:54 -08:00
Sridhar Periyasamy
ae041c8f61 Address some PR feedback.
- Make the MSI scripts to use parameters instead of environment variables.
2016-03-08 23:31:14 +00:00
Sridhar Periyasamy
d4a3190bfc Refactor the build scripts
- Bifurcate Package and Publish targets to enable signing.
- Move publish from bash/ps into c#.
- Create multiple targets to create MSIs and Bundles.
2016-03-07 12:20:50 -08:00
Sridhar Periyasamy
de89da6a3a Merge pull request #1551 from Sridhar-MS/cli-x86-support
Add support for building Windows x86 version of dotnet CLI
2016-02-29 14:59:51 -08:00
Zlatko Knezevic
9d742e41ac Merge pull request #1538 from blackdwarf/buildscriptfix
Fixing the name of the OS X package
2016-02-29 11:23:50 -08:00
Zlatko Knezevic
18b0273850 Responding to PR feedback 2016-02-29 06:57:47 -08:00
Sridhar Periyasamy
01d2656be1 Merge branch 'rel/1.0.0' of https://github.com/dotnet/cli into cli-x86-support 2016-02-26 14:34:25 -08:00
Bryan Thornbury
ea4f15bb5a delete left over file 2016-02-24 14:30:13 -08:00
Sridhar Periyasamy
834edfbc9c Add support for building Windows x86 version of dotnet CLI
- Changes to build scripts to produce Winx86 build artifacts like
  zip/installer.
- Change to run Nuget-xplat in the same process as dotnet.exe instead of
  spinning up a new 'corerun' process.
2016-02-23 18:04:49 -08:00
Zlatko Knezevic
5ea34f66ec Fixing the name of the OS X package
There was a bug in naming the versioned PKG for OSX when it is being packaged. This resulted
in two different names for the latest and versioned, which is not what we want.

Fix #1537
2016-02-23 11:31:10 -08:00
Sridhar Periyasamy
e9d2a37427 Download Wix tools v3.10.2
Security vulnerability with earlier Wix versions -
https://www.firegiant.com/blog/2016/1/20/wix-v3.10.2-released/
2016-02-22 15:24:34 -08:00
Sridhar Periyasamy
8179958342 Upgrade Wix to stable version 3.10.1.
Get rid of dummy project and instead download Wix tools directly.
2016-02-22 11:57:43 -08:00
Piotr Puszkiewicz
e625cbcf7a Removes usage of DOTNET_HOME in CLI repo.
DOTNET_HOME is no longer required, though it is a documented override, so this change removes all unnecessary references to DOTNET_HOME from the CLI Repo.
2016-02-18 15:38:23 -08:00
Eric Erhardt
5b84d9df00 Merge pull request #1317 from eerhardt/MovePackageTool
Move the debian package_tool into our \tools directory.
2016-02-17 16:21:48 -06:00
Eric Erhardt
7b09f3fcac Move the debian package_tool into our \tools directory.
The package_tool isn't really part of our product, so moving it to the tools directory.
2016-02-17 15:50:37 -06:00
Bryan Thornbury
73050f535f Clean up symlinks and fix conflict with mono-runtime-common
remove dotnet_home workaround in debian package
2016-02-17 19:56:22 +00:00
Piotr Puszkiewicz
fa9a9dc7b4 fix up casing of PS1 environment variables 2016-02-16 19:31:09 -08:00
Sridhar Periyasamy
56e3d8f903 Upload bundles instead of MSI 2016-02-10 13:06:48 -08:00
Pavel Krymets
5c3bc7f340 Merge pull request #1321 from dotnet/pakrym/package-fix
Fix location for package signing
2016-02-09 14:38:31 -08:00
Pavel Krymets
9c9c726d82 Fix location for package signing 2016-02-09 14:17:48 -08:00
Eric Erhardt
faa88ae155 Move Msi tests into the \test directory.
Partial #1250
2016-02-09 13:15:01 -06:00
Pavel Krymets
0f82ae37f3 Refactor output directory code 2016-02-09 08:52:59 -08:00
Sridhar Periyasamy
da081d0c31 Merge pull request #1130 from robmen/1064-bundle
Create a bundle for .NET Core
2016-02-03 11:50:51 -08:00
Rob Mensching
4806977ee2 Create bundle for Windows
Creates a nice looking bundle that installs the .NET Core MSI package.
Prerequisites and additional packages can be added as needed.

Resolves #1064
2016-01-29 12:50:12 -08:00
Livar
c4f834b4e0 Merge pull request #1114 from livarcocc/fix_compile_stage
Updating build scripts to publish to stage\bin flat folder again
2016-01-29 10:26:34 -08:00
Sridhar Periyasamy
cbdd098ef6 Merge pull request #1063 from robmen/msi-perf
Improve MSI performance
2016-01-29 08:54:35 -08:00
Andrew Stanton-Nurse
91f229ea80 fix versions in packaged command consumer tests 2016-01-28 22:33:22 -08:00
Livar Cunha
325d25235a Removing the publishing of the CLI to a separate compilation folder, we don't need it anymore after allowing publish to publish to flat output folders again. This simplifies the scripts. I kept packaging happening in a separate compilation folder because for that we need the tfm folder structure. This also fixes a bug where binaries were only being copied for the first time we built, because we checked that compilationfolder/bin/config/tfm was there. After fowler changes, this was not true for the published CLI, but the packaged folders were still creating this structure, which cause in subsequent build to only the binaries under compilationfolder/bin/debug/dnxcore50 to be copied to stage2dir/bin, instead of everything. 2016-01-28 20:34:19 -08:00
Sridhar Periyasamy
c6f060d9e9 Merge pull request #1062 from robmen/fix-component-rules
Fix Component Rules violations.
2016-01-28 10:06:04 -08:00
Rob Mensching
252456a28e Enable all MSIFASTINSTALL optimizations
The dotnet/cli is a very self contained installation package primarily
composed of files. Thus system restore adds little value and costing
only files is sufficient to verify disk space. The result is a 20%
install time reduction, ~2 seconds, on my machine where system restore
is disabled. The win is *much* larger where system restore is still on
(the default).
2016-01-27 00:10:26 -08:00
Rob Mensching
ceb9c90d54 Better compression for smaller package
Increasing the compression from "mszip" (which is notoriously out of
 date) to "high" reduces the package size by 17% with no appreciable
change in build or install time. In other words, this is a free 8 MB
savings off the download size/time.
2016-01-27 00:10:25 -08:00
Rob Mensching
f866bb6830 Minor code clean up.
There is now less code and it is more consistent with the other code in
the project.
2016-01-27 00:10:24 -08:00
Rob Mensching
d4fbfd51bf Ensure LaunchCondition will not prevent repair/uninstall
A typical LaunchCondition should not block the user from removing a
package. LaunchConditions should also not prevent repair from fixing
the machine state, especially if the machine state needs to be repaired
for the LaunchCondition to evaluate. To avoid both problems the
condition was updated such that once installed the package can always
be repaired and uninstalled.
2016-01-27 00:10:23 -08:00
Rob Mensching
49a992dd2d Remove unnecessary custom action
Type 51 custom actions, SetProperty, are mostly benign but if possible
custom actions should be avoided at all costs. Here we centralize the
build type check in a single location and use preprocessor variable to
remove the need for the custom action.
2016-01-26 23:28:02 -08:00
Andrew Stanton-Nurse
066bebcc6c bootstrap using nuget instead of dnx 2016-01-26 23:25:37 -08:00
Rob Mensching
74f0c7a839 Remove ProgramFiesFolder name
Providing a name, particularly a long name, for ProgramFilesFolder in
a compressed MSI only bloats the installation.
2016-01-26 23:24:50 -08:00
Rob Mensching
b6c72d725d Fix Component Rules violations.
All resources should be installed by one and only one Component, where
Component is defined by the Component/@Guid. The SetupRegistry_x64 and
SetupRegistry_x86 Components were sharing the env vars across the 32-bit
and 64-bit packages. That is a Component Rule violation.

The fix is simple. Since the 32-bit registration is always required, let
it handle the env var installation. The code is cleaner as well.
2016-01-26 22:48:39 -08:00
Piotr Puszkiewicz
9e8f101ae3 Merge pull request #976 from jhendrixMSFT/rel/1.0.0
The dotnet MSI doesn't properly set ALLUSERS property.
2016-01-26 01:22:21 -08:00
Bryan Thornbury
4a8b4116aa Fix Nuget package creation arg passing 2016-01-23 16:56:22 -08:00
Livar Cunha
91fcb62611 Introducing a separate script that initializes the projects that are going to be packaged, so that it can be shared between build and pack. 2016-01-22 23:08:49 -08:00
Livar Cunha
fdea0b87e0 Making some of the testbase methods protected.
Renaming variables according to code review comments. Adding the folder logic to the builder tests. Creating a separate compilation folder during the build.
2016-01-22 15:22:45 -08:00
Livar Cunha
b459c3665e Passing the configuration parameter to dotnet pack in the windows package script 2016-01-22 15:22:44 -08:00
Livar Cunha
ac2d0e36a9 Changing multiple dotnet commands to be aware of $configuration/$tfm folder structure under the --output path option.
Changing the build scripts to copy files over from debug\dnxcore and to check for the folders existence before trying that.
Making the build command aware of the subfolders and making E2E tests aware of subfolders.
Fixing compiler tests to look for the xml in the right plae taking into consideration the configuration and tfm.
Modifying publish tests to not take into consideration the runtime. This is a temporary change. will bring it back once the commands all understand rid.
Making the packaging step work by placing binaries where dotnet pack expects.
2016-01-22 15:22:44 -08:00
Joel Hendrix
bea47e6675 The dotnet MSI doesn't properly set ALLUSERS property.
The dotnet installer writes content under %ProgramFiles% which is
machine-wide and requires elevation. The Package@InstallScope attribute
must be set to perMachine in this case and will ensure that the Burn
bootstrapper prompts for elevation during install.
2016-01-22 13:53:39 -08:00
Zlatko Knezevic
76527424b2 Merge pull request #880 from blackdwarf/pkgosxfix
Add a custom conclusion file
2016-01-19 15:17:15 -08:00
Andrew Stanton-Nurse
3d493f7d9d switch from DNX to cross-plat NuGet! 2016-01-19 11:43:09 -08:00
Zlatko Knezevic
ae1ed900c6 Responding to PR feedback pt. 2 2016-01-18 08:54:20 -08:00
Zlatko Knezevic
2ed9c2a727 Responding to PR feedback 2016-01-18 08:31:31 -08:00
Piotr Puszkiewicz
cc54048e74 Merge pull request #872 from brthor/fix_dotnet-nightly
Resolve dotnet-nightly cannot find coreclr issue
2016-01-15 17:09:38 -08:00
Zlatko Knezevic
fb7733951e Add a custom conclusion file
Add a custom conclusion file that lists out the need for the user to install
OpenSSL 1.0.1/1.0.2.

Solves a bit #647
2016-01-15 17:00:15 -08:00
Sridhar Periyasamy
43b63d499c Merge pull request #856 from Sridhar-MS/msi-upgrade
Prevent upgrades between 'nightly' and 'release' builds of Dotnet CLI.
2016-01-15 13:57:48 -08:00
Bryan Thornbury
31f27c9c93 Resolve dotnet-nightly cannot find coreclr issue 2016-01-15 20:22:15 +00:00
Zlatko Knezevic
bc8fdaf38a Moving PKG postinstall to use the path
Since we are still waiting for the fix in CoreCLR to resolving
symlinks, moving the PKG postinstall to add dotnet bin dir
to systemwide path using /etc/paths.d/dotnet file.

Fix #786, #771, #841
2016-01-15 11:06:44 -08:00
Sridhar Periyasamy
4b433af7fe Update variables.wxi
Fix typo in error message.
2016-01-14 16:39:10 -08:00
Sridhar Periyasamy
fc8c6666fd Prevent upgrades between 'nightly' and 'release' builds of Dotnet CLI.
Set a new registry 'BuildType' when installing. Check for this reg key
when upgrading to a newer version. Show error message and exit
if the previous installation does not have the same 'BuildType'.
2016-01-14 15:03:32 -08:00
schellap
b4b482006b Fix host name, debuggability and embed CRT 2016-01-14 12:06:18 -08:00
Sridhar Periyasamy
f2ac0d341b Merge pull request #836 from Sridhar-MS/msi-upgrade
Enable build-to-build major upgrades for MSI.
2016-01-14 11:36:03 -08:00
Andrew Stanton-Nurse
845f2c56e6 let RID detection do its thing
also:
* fix up pjvalidate to handle versionless deps
* fix up package-command-test
2016-01-14 09:06:13 -08:00
Zlatko Knezevic
1a7a971d4b Merge pull request #831 from blackdwarf/pkgosxfix
Adding more symlinks to postinstall
2016-01-13 16:33:14 -08:00
Sridhar Periyasamy
1308e27a74 Enable build-to-build major upgrades for MSI.
Encode the CLI version into MSI supported ProductVersion documented here -
https://msdn.microsoft.com/en-us/library/windows/desktop/aa370859(v=vs.85).aspx
Example: CLI Version - 1.0.0.000930 is encoded in MSI as 4.0.930

Prevent downgrading by failing installation with error message.
Also display the original CLI version in the ProductName.
2016-01-13 15:48:45 -08:00
Bryan
8fb2537e87 Remove -O option from curl invocation to ensure file is named consistently in test_package.bats 2016-01-13 14:34:16 -08:00
Bryan Thornbury
bfde94528c Enable Debian package upgrade tests. 2016-01-13 14:34:12 -08:00
Zlatko Knezevic
ccba7ac397 Adding more symlinks to postinstall
Adding symlinks for the following commands:

* dotnet-dnx
* csc

Also adding symlink for libclihost.dylib because it is needed
for the corehost.

Fix #823, #786
2016-01-13 13:52:24 -08:00
Zlatko Knezevic
4879d27d45 Merge pull request #830 from dotnet/linkdnx
link dotnet-dnx
2016-01-13 13:46:48 -08:00
Glenn Condron
a446bb220c link dotnet-dnx
link dotnet-dnx so that `dotnet restore` works when installed from pkg
2016-01-13 12:02:37 -08:00
Bryan
7011f9e604 update everything to DOTNET_CLI_VERSION
Some package_tool fixes
2016-01-13 02:22:53 -08:00
Bryan
797e436547 Package Tool Changes to support versioning changes.
1. Support CONFLICTS in debian packages
2. Associated Build Changes
3. Better cmd line option support in package_tool
2016-01-13 02:22:47 -08:00
Piotr Puszkiewicz
1e423d4f1b Merge pull request #798 from piotrpMSFT/piotrpMSFT/issue797/emptyNuget
Fix empty NuGets
2016-01-13 00:32:02 -08:00
piotrp
ce34927dfb Fixes issue #797
Builds all to-be-packaged assemblies, fixes packaging script.
2016-01-12 14:32:51 -08:00
Bryan Thornbury
93ce6af677 Add dotnet-build and dotnet-dnx to the debian package
Fixes #778
2016-01-11 18:17:29 -08:00
Krzysztof Wicher
acac8d0063 exclude symbols packages from upload 2016-01-11 13:53:47 -08:00
Livar
770026eef7 Merge pull request #734 from livarcocc/pack_input_folder
Adding an input folder param to dotnet pack.
2016-01-08 12:13:04 -08:00
Livar Cunha
ae7ec0427c Changing the input parameter to basepath to match nuget pack 2016-01-07 23:09:37 -08:00
Bryan Thornbury
51d5b5baef Merge pull request #731 from brthor/manpage_fixes
Fix Manpages in Debian Package
2016-01-07 13:30:15 -08:00
Livar Cunha
d2e06f0ebf Adding an input folder param to dotnet pack. If this param is present, pack does not do a build and instead tries to get the contents of the package from the input folder. Also refactored a bunch, separating the concerns in different classes and making just program just handle the arguments and invokes the builders. 2016-01-07 10:24:07 -08:00
Pavel Krymets
5216a9e839 Add DependencyModel to packages output 2016-01-07 09:34:00 -08:00
Bryan Thornbury
f77cdb9c36 Fix Iteration over bash arrays so manpages are packed properly in package_tool. 2016-01-06 21:19:23 +00:00
Piotr Puszkiewicz
4b217db9c0 Clean up build scripts
Decompose into self-contained granular components
Provide reasonable defaults for cross cutting concerns, allowing for independent execution of steps
Start unifying Windows/Bash architecture

fix Bash CI scripts

dockerbuild.sh _common.sh path

Add missing restore-packages.sh

Copy/paste issues

Quote $SOURCE
fix .gitignore

PR Feedback

Merge in @SridarMS's work to avoid redownloading DNX

enabling build of dotnet-build

merge in @SridharMS's CentOS changes

Enable building FSC

enable restoring specific subdirectories

Fix dnx version check

Add missed dependency

Fix pathing to tests

Match Linux build version to Windows, fixing linux tests as a side effect.

workaround for coreclr#2215

fix pathing issue

disable building in docker

BUILD_IN_DOCKER was set, somehow...

fix headers
2015-12-29 01:59:02 -08:00