Name: cement
Owner: Kontur
Description: C# dependency management tool
Created: 2017-03-28 13:20:14.0
Updated: 2018-03-28 10:51:57.0
Pushed: 2018-03-23 10:39:09.0
Size: 3630
Language: C#
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
dotnet\install.cmd
cm
shows you available commands in any directoryset VS150COMNTOOLS=D:\Program Files\Microsoft Visual Studio\2017\Professional\Common7\Tools\
(with your custom foler path) in cmd../install.sh
from the dotnet directory~/bin/
to your PATH
variable or run alias cm='mono ~/bin/dotnet/cm.exe'
cm
to see the list of commandsHere is a Dockerfile example of how to get Ubuntu image with cement installed
ubuntu
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/ubuntu xenial main" | tee /etc/apt/sources.list.d/mono-official.list
apt-get update
apt-get install -y mono-devel git wget
cd ~
git clone https://github.com/skbkontur/cement.git ~/cement
wget -O ~/cement/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
mkdir ~/bin
cd ~/cement && mono nuget.exe restore -OutputDir packages/ && msbuild /p:Configuration=Release
mono ~/bin/dotnet/cm.exe reinstall
Use cm help
to view all cement commands.
Use cm %command_name% /?
or cm help %command_name%
to view command description.
All module descriptions are stored in a special git repo.
In the beginning your cement will use sample modules from https://github.com/KungA/cement-sample-modules/blob/master/modules
Command cm ls
shows modules A, B, C, D.
Let some commands run to get and build module A, which uses modules B, C, D.
All modules should be downloaded into one 'cement tracked' directory.
Download module A with deps B, C, D.
Go to module directory.
Build dependencies for current module in the right order.
Build current module. You can use it now.
Get latest versions of dependencies from git
Need to build new version of modules, which were changed.
And current module.
Specify git repo witch will contain all module descriptions like https://github.com/KungA/cement-sample-modules
Add empty modules
file to it and push
Fill it into %userprofile%\.cement\settings
file instead of git@github.com:KungA/cement-sample-modules.git
Create repositories for your modules like
https://github.com/KungA/cement-sample-A
https://github.com/KungA/cement-sample-B
https://github.com/KungA/cement-sample-C
https://github.com/KungA/cement-sample-D
Run cm module add A git@github.com:KungA/cement-sample-A.git
to add your modules to cement
Fill module.yaml
file, describing cement modules (see appropriate documentation)