Commit graph

218 commits

Author SHA1 Message Date
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
Piotr Puszkiewicz
d1a257bff7 Merge pull request #625 from cdmihai/buildCommandWithSafetyChecks
Introduce --build-profile flag and precondition checking in the Build command
2015-12-28 10:46:27 -08:00
Enrico Sada
d52bc92155 add command dotnet-compile-fsc
used with "compilerName": "fsc" in project.json
2015-12-24 11:26:09 +01:00
Mihai Codoban
110b30ccdc Extract build from compile
Build becomes the new compile. It decides which project to compile and how. It checks for incremental preconditions
Compile's resonsibility is trimmed down to only knowing how to invoke the compiler on a project
2015-12-23 17:31:47 -08:00
Zlatko Knezevic
91990d3b37 Responding to PR feedback 2015-12-15 20:35:21 -08:00
Zlatko Knezevic
5ef832ee94 Fix the PKG permission issue and change the install location
A temporary fix for the PKG permission issue by using chmod -R 755 in the postinstall
script. Change the install location to remove the "cli" part of the path. Also
change the corehost to reflect this change.

Fixes #492 and #390
2015-12-15 15:24:50 -08:00
Krzysztof Wicher
9fe0df1a3f add dev to debian package name 2015-12-09 16:28:02 -08:00
Krzysztof Wicher
aed194acda add creating package for Microsoft.DotNet.ProjectModel.Loader 2015-12-09 00:53:00 -08:00
PiotrP
8fa642d424 PR Feedback 2015-12-08 10:54:03 -08:00
piotrp
568eb3aae7 dotnet-init --> dotnet new
Fixes issue #374
2015-12-08 10:37:31 -08:00
Piotr Puszkiewicz
88806eb7de Merge pull request #378 from krwq/ci_build_add_packaging
Step 1 to enable automatic nuget package upload
2015-12-07 10:04:30 -08:00
Krzysztof Wicher
413488f502 Create NuGet packages as part of the build 2015-12-04 18:03:57 -08:00
Bryan Thornbury
47ab17c447 Final Metadata Changes
Fixes #26

cc @blackdwarf
2015-12-03 11:14:16 -08:00
Bryan Thornbury
eba19b66da Add libcurl3 to debian dependencies
The debian package build usually detects dependencies of executables packaged inside, and adds those as dependencies of the package accordingly. It doesn't detect this for managed executables though, so libcurl3 needs to be added to support `dotnet restore` on Ubuntu.
2015-12-02 18:30:23 -08:00
Bryan Thornbury
96ffdf0fd6 Small fixes 2015-12-02 22:41:05 +00:00
Bryan Thornbury
c2d04d51b1 Changes to propagate errors in package build. 2015-12-02 22:11:31 +00:00
Krzysztof Wicher
ab9d1c48a8 fix according to feedback 2015-12-01 23:13:31 -08:00
Krzysztof Wicher
fcc6471618 nuget packages script for each project under src/ 2015-12-01 22:27:05 -08:00
Bryan Thornbury
861aae40c5 Add Clang Dependency for debian 2015-12-01 16:54:22 -08:00
Bryan Thornbury
69e52e8505 Add space after each newline in long_description
The long description format is somewhat fragile right now. Changes will need to be made to the package tool to handle this better because each line in the long description needs a leading space.
2015-12-01 13:21:42 -08:00
Bryan Thornbury
22b1b4905a Remove newline characters from long_description
Remove newlines
2015-12-01 11:50:33 -08:00
shahid-pk
e02c8e6f81 rename resgen to dotnet-resgen 2015-12-01 22:12:04 +05:00
PiotrP
a84a56a152 PR Feedback 2015-11-30 17:30:25 -08:00
piotrp
407c933480 add dotnet-test 2015-11-30 17:28:03 -08:00
Bryan Thornbury
ce4ddf39d3 Remove root debian_config.json and update descriptions 2015-11-30 12:10:28 -08:00
Sridhar Periyasamy
2ad820d983 Merge pull request #323 from Sridhar-MS/msi-unittests
Unit tests for Dotnet MSI
2015-11-26 11:26:17 -08:00
Bryan Thornbury
65d0388f5a Merge pull request #318 from brthor/docker_build_user
Set Docker Internal UID to Host UID, Remove Postbuild step
2015-11-25 13:37:43 -08:00
Zlatko Knezevic
9aa40106e2 Merge pull request #299 from blackdwarf/fix-1
Add a temporary step to cp corehost to /usr/local/bin
2015-11-25 11:00:22 -08:00
Sridhar Periyasamy
e131be5aaa Unit tests for Dotnet MSI
- Needs a clean machine without dotnet MSI installed for the tests to run.
- Needs admin privileges to run. Else test script exits silently.
- These xunit based tests run on Netfx46.

For now these tests are disabled until I figure out the right way to run
them in the CI machines.
2015-11-24 17:48:58 -08:00
Bryan Thornbury
b122190cd8 Set Docker Internal UID to Host UID, Remove Postbuild step
These changes will use docker's new Dockerfile Arguments to
pass the Host User ID to the docker container at build time.
This allows the docker container to set it's internal user
to match that of the host. When using shared volumes between
the host and container, this prevents files created in the
container from being owned by root.

This will solve our problem of needing a cleanup step after
every ubuntu CI run.
2015-11-25 00:33:53 +00:00
Zlatko Knezevic
9d9f141945 Adding dotnet-init to symlink list 2015-11-23 15:45:56 -08:00
Zlatko Knezevic
c91eb06b6e Add a temporary step to cp corehost to /usr/local/bin
This is a temporary fix to unblock dotnet compile on OS X. It copies the corehost
from the install location to /usr/local/bin in postinstall.

Fix 294
2015-11-23 12:21:26 -08:00
Sridhar Periyasamy
3f00cfbeb9 x64 installer now creates registry keys in both x64 and Wow32 hives.
This is required to enable 32-bit MSIs (like VS) that need to access the
registry key on a 64-bit OS. Refer #250
2015-11-20 18:32:58 -08:00
Sridhar Periyasamy
040e7f5d84 Change the install path, registry key path and environment component.
Install path is now %ProgramFiles%\dotnet
Registry root is now "HKLM\SOFTWARE\dotnet\Setup"
Env variables setup is now associated with a versioned component - the
registry keys. Environment resource cannot serve as a keypath hence it is
coupled with a registry key which is the key path for the component.
2015-11-20 17:44:48 -08:00
Bryan Thornbury
3adc3ed425 Fix permissions of moved package files 2015-11-19 16:29:31 -08:00
Bryan Thornbury
cefd1cbcfa Move Debian Package Tools to packaging folder 2015-11-19 14:45:20 -08:00
Zlatko Knezevic
f0f773f92c Add correct permissions and symlinks to PKG generation
Add proper symlinks to the postinstall script. Also, the permissions of the
resulting directory post-install were wrong (set to root:wheel). This is fixed
by using the --ownership preserve switch to pkgbuild.

Fix #247
2015-11-18 12:59:03 -08:00
Sridhar Periyasamy
c79f48a745 Add missing wxs files for building MSI. 2015-11-17 20:53:49 -08:00
Sridhar Periyasamy
57b1b5b290 Changes to dotnet MSI authoring based on netfx mtpack authoring.
- Added reg keys to detect installation.
- Added dependency provider keys
2015-11-17 20:32:02 -08:00
Sridhar Periyasamy
fb61e69a79 First pass at building Windows MSI for the dotnet CLI repo.
- Use the heat tool to harvest the stage2 dir and create install-files.wxs
- dotnet.wxs contains the XML code which is constant across builds for an MSI.
- Use Candle and Light to generate the MSI from install-files.wxs and dotnet.wxs.

Default Install Location - %ProgramFiles%/dotnet.
Adds <InstallRoot>\bin %PATH%
Creates %DOTNET_HOME% pointing to <InstallRoot>
2015-11-17 00:39:46 -08:00
PiotrP
e839b4debb Update Copyright headers in all source files. 2015-11-16 19:47:43 -08:00
Andrew Stanton-Nurse
4cc15b1246 restructure the output layout
also reorganize the scripts folder
2015-11-16 09:44:00 -08:00
glennc
7ae33f3154 fix permissions for installed files. 2015-11-06 15:58:55 -08:00
glennc
5624e37c3e Call publish for pkg 2015-11-06 12:48:34 -08:00
glennc
2dd124c635 Remove conclusion, modify welcome. Provide versions to package builds 2015-11-06 12:02:15 -08:00
glennc
713b7a1061 Initial commit of pkg authoring 2015-11-06 12:02:15 -08:00