Skip to content

Commit

Permalink
* NEW: Packing packages into .nupkg by using .nuspec
Browse files Browse the repository at this point in the history
* CHANGED: The `get` & `pack` commands for calling of main features.
* CHANGED: Attributes of packages.config is now are case sensitive. Use lowercase for `id`, `version`, `output`
* CHANGED: For `get` command: ignoring technical data from package like: /_rels, /package, etc.
  • Loading branch information
3F committed Dec 13, 2015
1 parent 9d9bcc3 commit e6e76c1
Show file tree
Hide file tree
Showing 6 changed files with 298 additions and 127 deletions.
58 changes: 48 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
# GetNuTool

The lightweight non-binary tool for getting the NuGet packages via basic MSBuild Tool (msbuild.exe without additional extensions etc.)
The lightweight non-binary tool for work with NuGet packages via basic MSBuild Tool (msbuild.exe without additional extensions etc.)

```bash
> msbuild.exe gnt.core
```

## Main features

* Getting the all selected .nupkg packages from NuGet server from user list with formats below.
* Two formats: list from .config files or direct from string.
* Extracting the all data from .nupkg 'as is' into path by default or specific for each package.
* Getting the all selected `.nupkg` packages from NuGet server from user list with formats below.
* Two formats: list from `.config` files or direct from string.
* Extracting the all data from `.nupkg` into path by default or specific for each package.
* +Custom naming for each package with ignoring for already downloaded packages.
* Dependencies are not considered! get it manually as other packages above.
* Packing packages as `.nupkg` by using `.nuspec`

### Settings
### Getting & Extracting packages

*The `get` command is used by default. You can also call it as `/t:get`*

Settings:

Property | Description
---------|------------
Expand All @@ -26,24 +31,28 @@ ngpath | Common path for all packages.
Samples:

```bash

> msbuild.exe gnt.core /p:ngpath="special-packages/new"
```
```bash

> msbuild.exe gnt.core /p:ngconfig=".nuget/packages.config" /p:ngpath="../packages"
```

#### Format of packages list

Attribute | Description
----------|-------------
id | Identifier of package.
version | Version of package.
output | Optional path for getting package.

Property:

```bash
/p:ngpackages="id[/version][:path]"
/p:ngpackages="id[/version][:output]"
```

```bash
/p:ngpackages="id[/version][:path];id2[/version][:path];..."
/p:ngpackages="id[/version][:output];id2[/version][:output];..."
```

packages.config:
Expand All @@ -55,6 +64,7 @@ packages.config:
<package id="ident.second" version="15.0" output="path" />
</packages>
```
**Note:** Attributes for v1.2+ is now are case sensitive. Use lowercase for `id`, `version`, `output` ...

#### Format of ngconfig

Expand All @@ -66,6 +76,22 @@ multiple:
/p:ngconfig=".nuget/packages.config|project1/packages.config|project2/packages.config|..."
```

### Packing

The `pack` command. Call it as `/t:pack`

Settings:

Property | Description
---------|------------
ngin | To select path to directory for packing with `.nuspec` file.
ngout | Optional path to output the final `.nupkg` package.

```bash
> msbuild.exe gnt.core /t:pack /p:ngin="path to .nuspec"
> msbuild.exe gnt.core /t:pack /p:ngin="path to .nuspec" /p:ngout="path for .nupkg"
```

## Examples

```bash
Expand All @@ -74,6 +100,11 @@ multiple:
> msbuild.exe gnt.core /p:ngpackages="7z.Libs/15.12.0;vsSBE.CI.MSBuild/1.5.1:../packages/CI.MSBuild"
```

```bash
> msbuild.exe gnt.core /t:pack /p:ngin="D:\tmp\7z.Libs"
> msbuild.exe gnt.core /t:pack /p:ngin="D:\tmp\7z.Libs" /p:ngout="newdir/"
```

### Paths to msbuild.exe

Sample locations:
Expand All @@ -90,7 +121,14 @@ C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe

## Compact version

Simply use compressor from [here](https://github.com/3F/GetNuTool/tree/master/compact) if needed. Currently compact version ~4 Kb.
Use our compressor from [here](https://github.com/3F/GetNuTool/tree/master/compact) if needed.

Currently compact version ~4 Kb for `get` command and ~4 Kb for `pack` command, i.e. ~8 Kb in total.

```bash
> msbuild.exe .compressor
> msbuild.exe .compressor /p:core="path to core" /p:output="output file"
```

## License

Expand Down
6 changes: 6 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
GetNuTool
____________________

[v1.2]
* NEW: Packing packages into .nupkg by using .nuspec
* CHANGED: The `get` & `pack` commands for calling of main features.
* CHANGED: Attributes of packages.config is now are case sensitive. Use lowercase for `id`, `version`, `output`
* CHANGED: For `get` command: ignoring technical data from package like: /_rels, /package, etc.

[v1.1]
* FIXED: Incorrect path to Microsoft.Build.Tasks.dll with new MSBuild 14.0
* NEW: Compact version - `gnt-compact.core`
Expand Down
1 change: 0 additions & 1 deletion compact/v12.bat

This file was deleted.

1 change: 0 additions & 1 deletion compact/v14.bat

This file was deleted.

1 change: 0 additions & 1 deletion compact/v4.0.30319.bat

This file was deleted.

Loading

0 comments on commit e6e76c1

Please sign in to comment.