public CompilationTaskSamples()
{
//Task.Build.Csc.Target.Executable(); //a command line exe
//Task.Build.Csc.Target.Library(); //a dll
//Task.Build.Csc.Target.Module(); //a module
//Task.Build.Csc.Target.WindowsExecutable(); //a windows EXE
var baseDir = new FluentFs.Core.Directory(Environment.CurrentDirectory);
var compileDir = baseDir.SubFolder("compile");
compileDir.Delete(OnError.Continue).Create();
var sampleOutput = compileDir.File("sample.dll");
var sourceFiles = new FileSet().Include(@"c:\Sample\*.cs").RecurseAllSubDirectories;
Task.Build.Csc.Target.Library(compiler => compiler.AddSources(sourceFiles)
.OutputFileTo(sampleOutput));
Task.Build.MsBuild(compiler => compiler.ProjectOrSolutionFilePath(@"c:\Sample\MyProject.csproj").OutputDirectory(compileDir));
var outputAssemblyInfoFile = compileDir.File("assemblyInfo.cs");
Task.CreateAssemblyInfo.Language.CSharp(build=>build.OutputPath(outputAssemblyInfoFile)
.ClsCompliant(true)
.ComVisible(true)
.Company("My Company")
.Copyright("Copyright " + DateTime.Now.Year)
.Culture("EN-US")
.DelaySign(false)
.Description("Sample Project")
.FileVersion("1.2.0.0")
.InformationalVersion("1.2.0.0")
.KeyFile(@"c:\mykey.snk")
.KeyName("KeyName")
.Product("Product Name")
.Title("Title")
.Trademark("TM")
.Version("1.2.0.0")
.AddCustomAttribute("namespace.for.attribute", "AttributeName", true, "attributeValue"));
var returnCode = Task.Run.Executable(exe => exe.ExecutablePath(@"c:\temp\myapp.exe").InWorkingDirectory(@"c:\temp\").AddArgument("c", "action1").AddArgument("s"));
Task.Run.Executable(exe => exe.ExecutablePath(@"c:\temp\myapp.exe").ContinueOnError.SetTimeout(200));
Task.Run.Zip.Compress(x=>x.SourceFile("temp.txt")
.UsingCompressionLevel.Eight
.UsingPassword("secretPassword")
.To("output.zip"));
Task.Run.Zip.Decompress(x=>x.Path("output.zip")
.To(@"c:\temp\")
.UsingPassword("secretPassword"));
Defaults.Logger.WriteDebugMessage("Debug message");
Defaults.Logger.WriteWarning("MyTask", "Warning");
Defaults.Logger.WriteError("MyTask", "Error");
Defaults.Logger.Verbosity = VerbosityLevel.None;
Defaults.Logger.Verbosity = VerbosityLevel.Full;
Defaults.Logger.Verbosity = VerbosityLevel.TaskDetails;
Defaults.Logger.Verbosity = VerbosityLevel.TaskNamesOnly;
Task.Run.Executable(exe => exe.ExecutablePath(@"c:\temp.exe"));
using(Defaults.Logger.ShowDebugMessages)
{
Task.Run.Executable(exe => exe.ExecutablePath(@"c:\TempProcess.exe"));
}
Task.Run.Debugger();
Properties.CommandLineProperties.GetProperty("ServerUsername");
Task.Publish.Ftp(ftp => ftp.Server("ftp.myserver.com")
.UserName("username")
.Password("password")
.LocalFilePath(@"c:\temp\project.zip")
.RemoteFilePath(@"\release\project.zip")
);
Task.Publish.ToGoogleCode(google => google.UserName("user")
.Password("pass")
.LocalFileName(@"c:\temp\project.zip")
.TargetFileName("project-1.0.0.0.zip")
.ProjectName("projectName")
.Summary("Summary for upload")
);
}