From 0a6bb634b92c5f65ed256c918ad199b5fd70ab9e Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Wed, 21 Aug 2019 17:23:58 +0100 Subject: [PATCH] packaging+fs --- .travis.yml | 2 +- ...elpers.cs => AbstractFileSystemHelpers.cs} | 30 +++++++++++-------- .../FileSystem/DirectoryShortInfo.cs | 9 ++++++ .../FileSystem/UserDirectoryInfo.cs | 6 +--- .../Blogspot/FileSystemApiController.cs | 19 ++++++++++-- .../Business/BillingController.cs | 27 ++++++++--------- .../Contracting/EstimateController.cs | 6 ++-- .../Contracting/FrontOfficeController.cs | 2 +- src/Yavsc/Helpers/FileSystemHelpers.cs | 22 ++++---------- .../Yavsc.YavscLocalisation.Designer.cs | 6 ++++ src/Yavsc/Startup/Startup.FileServer.cs | 2 +- src/Yavsc/Startup/Startup.cs | 1 + src/Yavsc/ViewComponents/BillViewComponent.cs | 3 +- .../ViewComponents/DirectoryViewComponent.cs | 6 ++-- .../ViewModels/Streaming/LiveCastHandler.cs | 3 +- src/Yavsc/project.json | 4 +++ src/Yavsc/wwwroot/css/main/site.min.css | 2 +- src/Yavsc/wwwroot/css/yavsc.min.css | 1 - src/cli/project.json | 2 +- src/test/project.json | 6 ++-- version.txt | 2 +- 21 files changed, 95 insertions(+), 66 deletions(-) rename src/Yavsc.Abstract/FileSystem/{FileSystemHelpers.cs => AbstractFileSystemHelpers.cs} (71%) create mode 100644 src/Yavsc.Abstract/FileSystem/DirectoryShortInfo.cs diff --git a/.travis.yml b/.travis.yml index c9f3ea62..1f2543ba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ mono: - beta sudo: false install: -- curl --insecure -sSL https://freespeech.pschneider.fr/files/Paul/dnx-install.sh | bash +- curl --insecure -sSL https://lua.pschneider.fr/files/Paul/pub/dnx-install.sh | bash - DNX_USER_HOME=`pwd -P`/dnx . ./dnx/dnvm/dnvm.sh - cd src/OAuth.AspNet.Token && dnu restore - cd ../OAuth.AspNet.AuthServer && dnu restore diff --git a/src/Yavsc.Abstract/FileSystem/FileSystemHelpers.cs b/src/Yavsc.Abstract/FileSystem/AbstractFileSystemHelpers.cs similarity index 71% rename from src/Yavsc.Abstract/FileSystem/FileSystemHelpers.cs rename to src/Yavsc.Abstract/FileSystem/AbstractFileSystemHelpers.cs index c7d41c64..fbea3127 100644 --- a/src/Yavsc.Abstract/FileSystem/FileSystemHelpers.cs +++ b/src/Yavsc.Abstract/FileSystem/AbstractFileSystemHelpers.cs @@ -1,14 +1,17 @@ -using System.IO; +using System.IO; using System.Linq; using System.Security.Claims; using System.Text; using Yavsc.ViewModels.UserFiles; -namespace Yavsc.Abstract.FileSystem +using System; +using System.Threading; +using Yavsc.ViewModels; + +namespace Yavsc.Helpers { public static class AbstractFileSystemHelpers { - public static string UserBillsDirName { set; get; } public static string UserFilesDirName { set; get; } @@ -20,12 +23,12 @@ namespace Yavsc.Abstract.FileSystem if (!IsValidDirectoryName(name) || name.Equals("..") || name.Equals(".")) return false; } - if (path[path.Length-1]==FileSystemConstants.RemoteDirectorySeparator) return false; + if (path[path.Length-1]==RemoteDirectorySeparator) return false; return true; } public static bool IsValidDirectoryName(this string name) { - return !name.Any(c => !FileSystemConstants.ValidFileNameChars.Contains(c)); + return !name.Any(c => !ValidFileNameChars.Contains(c)); } // Ensure this path is canonical, // No "dirto/./this", neither "dirt/to/that/" @@ -37,24 +40,27 @@ namespace Yavsc.Abstract.FileSystem StringBuilder sb = new StringBuilder(); foreach (var c in fileName) { - if (FileSystemConstants.ValidFileNameChars.Contains(c)) + if (ValidFileNameChars.Contains(c)) sb.Append(c); else sb.Append('_'); } return sb.ToString(); } - public static UserDirectoryInfo GetUserFiles(this ClaimsPrincipal user, string subdir) + public static UserDirectoryInfo GetUserFiles(string userName, string subdir) { - UserDirectoryInfo di = new UserDirectoryInfo(UserFilesDirName, user.Identity.Name, subdir); + UserDirectoryInfo di = new UserDirectoryInfo(UserFilesDirName, userName, subdir); return di; } - } - - public static class FileSystemConstants - { public const char RemoteDirectorySeparator = '/'; public static char[] ValidFileNameChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-=_~. ".ToCharArray(); + + + public static Func + SignFileNameFormat = new Func ((signType,billingCode,estimateId) => $"sign-{billingCode}-{signType}-{estimateId}.png"); + + + } } \ No newline at end of file diff --git a/src/Yavsc.Abstract/FileSystem/DirectoryShortInfo.cs b/src/Yavsc.Abstract/FileSystem/DirectoryShortInfo.cs new file mode 100644 index 00000000..1da034a9 --- /dev/null +++ b/src/Yavsc.Abstract/FileSystem/DirectoryShortInfo.cs @@ -0,0 +1,9 @@ +using Yavsc.Abstract.FileSystem; + +namespace Yavsc.ViewModels.UserFiles +{ + public class DirectoryShortInfo: IDirectoryShortInfo { + public string Name { get; set; } + public bool IsEmpty { get; set; } + } +} diff --git a/src/Yavsc.Abstract/FileSystem/UserDirectoryInfo.cs b/src/Yavsc.Abstract/FileSystem/UserDirectoryInfo.cs index 0e500657..30a53dd0 100644 --- a/src/Yavsc.Abstract/FileSystem/UserDirectoryInfo.cs +++ b/src/Yavsc.Abstract/FileSystem/UserDirectoryInfo.cs @@ -2,6 +2,7 @@ using System; using System.IO; using System.Linq; using Yavsc.Abstract.FileSystem; +using Yavsc.Helpers; namespace Yavsc.ViewModels.UserFiles { @@ -49,9 +50,4 @@ namespace Yavsc.ViewModels.UserFiles } } } - - public class DirectoryShortInfo: IDirectoryShortInfo { - public string Name { get; set; } - public bool IsEmpty { get; set; } - } } diff --git a/src/Yavsc/ApiControllers/Blogspot/FileSystemApiController.cs b/src/Yavsc/ApiControllers/Blogspot/FileSystemApiController.cs index 875a77e7..e20d5b27 100644 --- a/src/Yavsc/ApiControllers/Blogspot/FileSystemApiController.cs +++ b/src/Yavsc/ApiControllers/Blogspot/FileSystemApiController.cs @@ -11,7 +11,7 @@ namespace Yavsc.ApiControllers { using System.Threading.Tasks; using Microsoft.Extensions.Logging; - using Yavsc.Abstract.FileSystem; + using Yavsc.Helpers; using Yavsc.Exceptions; using Yavsc.Models.FileSystem; @@ -48,7 +48,7 @@ namespace Yavsc.ApiControllers if (subdir !=null) if (!subdir.IsValidYavscPath()) return new BadRequestResult(); - var files = User.GetUserFiles(subdir); + var files = AbstractFileSystemHelpers.GetUserFiles(User.Identity.Name, subdir); return Ok(files); } @@ -89,7 +89,7 @@ namespace Yavsc.ApiControllers return Ok(received); } - [Route("/api/addquota/{len}")] + [Route("/api/fs/addquota/{len}")] [Authorize("AdministratorOnly")] public IActionResult AddQuota(int len) { @@ -102,6 +102,19 @@ namespace Yavsc.ApiControllers return Ok(len); } + [Route("/api/fs/move")] + [Authorize()] + public IActionResult Move(string from, string to) + { + var uid = User.GetUserId(); + var user = dbContext.Users.Single( + u => u.Id == uid + ); + + return Ok(); + } + + [HttpDelete] public async Task Delete (string id) { diff --git a/src/Yavsc/ApiControllers/Business/BillingController.cs b/src/Yavsc/ApiControllers/Business/BillingController.cs index 11dcb2e0..b3f6b6af 100644 --- a/src/Yavsc/ApiControllers/Business/BillingController.cs +++ b/src/Yavsc/ApiControllers/Business/BillingController.cs @@ -2,26 +2,25 @@ using System.IO; using Microsoft.AspNet.Authorization; using Microsoft.AspNet.Mvc; using System.Web.Routing; - using System.Linq; - using Microsoft.Data.Entity; - using System.Threading.Tasks; - using Microsoft.Extensions.Logging; - using Microsoft.Extensions.Localization; - using Microsoft.Extensions.OptionsModel; - using System; - using System.Security.Claims; +using System.Linq; +using Microsoft.Data.Entity; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Localization; +using Microsoft.Extensions.OptionsModel; +using Newtonsoft.Json; +using System; +using System.Security.Claims; +using Yavsc.Helpers; +using Yavsc.ViewModels; namespace Yavsc.ApiControllers { using Models; - using Helpers; using Services; using Models.Messaging; using ViewModels.Auth; - using Newtonsoft.Json; - using Yavsc.ViewModels; - using Yavsc.Abstract.FileSystem; [Route("api/bill"), Authorize] public class BillingController : Controller @@ -144,7 +143,7 @@ namespace Yavsc.ApiControllers return new ChallengeResult(); } - var filename = FileSystemHelpers.SignFileNameFormat("pro",billingCode,id); + var filename = AbstractFileSystemHelpers.SignFileNameFormat("pro", billingCode, id); FileInfo fi = new FileInfo(Path.Combine(AbstractFileSystemHelpers.UserBillsDirName, filename)); if (!fi.Exists) return HttpNotFound(new { Error = "Professional signature not found" }); return File(fi.OpenRead(), "application/x-pdf", filename); ; @@ -179,7 +178,7 @@ namespace Yavsc.ApiControllers return new ChallengeResult(); } - var filename = FileSystemHelpers.SignFileNameFormat("pro",billingCode,id); + var filename = AbstractFileSystemHelpers.SignFileNameFormat("pro", billingCode, id); FileInfo fi = new FileInfo(Path.Combine(AbstractFileSystemHelpers.UserBillsDirName, filename)); if (!fi.Exists) return HttpNotFound(new { Error = "Professional signature not found" }); return File(fi.OpenRead(), "application/x-pdf", filename); ; diff --git a/src/Yavsc/Controllers/Contracting/EstimateController.cs b/src/Yavsc/Controllers/Contracting/EstimateController.cs index a65a742d..64e6b655 100644 --- a/src/Yavsc/Controllers/Contracting/EstimateController.cs +++ b/src/Yavsc/Controllers/Contracting/EstimateController.cs @@ -9,6 +9,7 @@ using Microsoft.AspNet.Http; using Microsoft.AspNet.Mvc; using Microsoft.Data.Entity; using Microsoft.Extensions.OptionsModel; + using Yavsc.Helpers; namespace Yavsc.Controllers { @@ -16,7 +17,6 @@ namespace Yavsc.Controllers using Models.Billing; using Models.Workflow; using ViewModels.Auth; - using Yavsc.Abstract.FileSystem; [Authorize] public class EstimateController : Controller @@ -163,7 +163,9 @@ namespace Yavsc.Controllers return HttpNotFound(); } - ViewBag.Files = User.GetUserFiles(null); + ViewBag.Files = Yavsc.Helpers.FileSystemHelpers.GetFileName(null); + + // Yavsc.Helpers.GetUserFiles(User, null); return View(estimate); } diff --git a/src/Yavsc/Controllers/Contracting/FrontOfficeController.cs b/src/Yavsc/Controllers/Contracting/FrontOfficeController.cs index 80e1dd86..619c3b74 100644 --- a/src/Yavsc/Controllers/Contracting/FrontOfficeController.cs +++ b/src/Yavsc/Controllers/Contracting/FrontOfficeController.cs @@ -99,7 +99,7 @@ namespace Yavsc.Controllers public IActionResult EstimatePdf(long id) { ViewBag.TempDir = Startup.SiteSetup.TempDir; - ViewBag.BillsDir = AbstractFileSystemHelpers.UserBillsDirName; + ViewBag.BillsDir = AbstractFileSystemHelpers.UserBillsDirName; var estimate = _context.Estimates.Include(x => x.Query) .Include(x => x.Query.Client) .Include(x => x.Query.PerformerProfile) diff --git a/src/Yavsc/Helpers/FileSystemHelpers.cs b/src/Yavsc/Helpers/FileSystemHelpers.cs index b64648d0..75bf9bad 100644 --- a/src/Yavsc/Helpers/FileSystemHelpers.cs +++ b/src/Yavsc/Helpers/FileSystemHelpers.cs @@ -1,18 +1,13 @@ using System; -using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; -using System.Net.Mime; using System.Security.Claims; using System.Threading; -using System.Threading.Tasks; using System.Web; using Microsoft.AspNet.Http; -using Microsoft.Extensions.Logging; -using Yavsc.Abstract.FileSystem; using Yavsc.Exceptions; using Yavsc.Models; using Yavsc.Models.FileSystem; @@ -21,16 +16,12 @@ using Yavsc.ViewModels; namespace Yavsc.Helpers { - public static class FileSystemHelpers + public static class FileSystemHelpers { - public static Func - SignFileNameFormat = new Func ((signType,billingCode,estimateId) => $"sign-{billingCode}-{signType}-{estimateId}.png"); - - -public static FileRecievedInfo ReceiveProSignature(this ClaimsPrincipal user, string billingCode, long estimateId, IFormFile formFile, string signtype) + public static FileRecievedInfo ReceiveProSignature(this ClaimsPrincipal user, string billingCode, long estimateId, IFormFile formFile, string signtype) { var item = new FileRecievedInfo(); - item.FileName = SignFileNameFormat("pro",billingCode,estimateId); + item.FileName = AbstractFileSystemHelpers.SignFileNameFormat("pro",billingCode,estimateId); item.MimeType = formFile.ContentDisposition; var destFileName = Path.Combine(Startup.SiteSetup.Bills, item.FileName); @@ -129,7 +120,7 @@ public static FileRecievedInfo ReceiveProSignature(this ClaimsPrincipal user, st long usage = user.DiskUsage; var item = new FileRecievedInfo(); - item.FileName = Yavsc.Abstract.FileSystem.AbstractFileSystemHelpers.FilterFileName (destFileName); + item.FileName = AbstractFileSystemHelpers.FilterFileName (destFileName); item.MimeType = contentType; item.DestDir = root; var fi = new FileInfo(Path.Combine(root, item.FileName)); @@ -165,9 +156,8 @@ public static FileRecievedInfo ReceiveProSignature(this ClaimsPrincipal user, st public static HtmlString FileLink(this RemoteFileInfo info, string username, string subpath) { - return new HtmlString( Startup.UserFilesOptions.RequestPath+"/"+ username + - "/" + (( subpath == null ) ? "" : "/" + subpath ) + - info.Name ); + return new HtmlString( + $"{Startup.UserFilesOptions.RequestPath}/{username}/{subpath}/{info.Name}" ); } public static FileRecievedInfo ReceiveAvatar(this ApplicationUser user, IFormFile formFile) { diff --git a/src/Yavsc/Resources/Yavsc.YavscLocalisation.Designer.cs b/src/Yavsc/Resources/Yavsc.YavscLocalisation.Designer.cs index 7f4b1753..c35cebb1 100644 --- a/src/Yavsc/Resources/Yavsc.YavscLocalisation.Designer.cs +++ b/src/Yavsc/Resources/Yavsc.YavscLocalisation.Designer.cs @@ -2094,5 +2094,11 @@ namespace Yavsc { return ResourceManager.GetString("LiveFlow", resourceCulture); } } + + public static string Instrumentation { + get { + return ResourceManager.GetString("Instrumentation", resourceCulture); + } + } } } diff --git a/src/Yavsc/Startup/Startup.FileServer.cs b/src/Yavsc/Startup/Startup.FileServer.cs index ce855b7e..8b64831b 100644 --- a/src/Yavsc/Startup/Startup.FileServer.cs +++ b/src/Yavsc/Startup/Startup.FileServer.cs @@ -7,7 +7,7 @@ using Microsoft.AspNet.Hosting; using Microsoft.AspNet.Http; using Microsoft.AspNet.StaticFiles; using Microsoft.Extensions.Logging; -using Yavsc.Abstract.FileSystem; +using Yavsc.Helpers; using Yavsc.Services; using Yavsc.ViewModels.Auth; diff --git a/src/Yavsc/Startup/Startup.cs b/src/Yavsc/Startup/Startup.cs index 9e386b76..dd8f40c1 100755 --- a/src/Yavsc/Startup/Startup.cs +++ b/src/Yavsc/Startup/Startup.cs @@ -36,6 +36,7 @@ namespace Yavsc using Services; using Yavsc.Abstract.FileSystem; using Yavsc.AuthorizationHandlers; + using Yavsc.Helpers; using static System.Environment; public partial class Startup diff --git a/src/Yavsc/ViewComponents/BillViewComponent.cs b/src/Yavsc/ViewComponents/BillViewComponent.cs index cb9caf0f..fce17e1b 100644 --- a/src/Yavsc/ViewComponents/BillViewComponent.cs +++ b/src/Yavsc/ViewComponents/BillViewComponent.cs @@ -81,7 +81,8 @@ namespace Yavsc.ViewComponents } ViewComponentContext.ViewContext.Writer = oldWriter; - var genrtrData = new PdfGenerationViewModel{ + var genrtrData = new PdfGenerationViewModel + { Temp = Startup.Temp, TeXSource = tex, DestDir = AbstractFileSystemHelpers.UserBillsDirName, diff --git a/src/Yavsc/ViewComponents/DirectoryViewComponent.cs b/src/Yavsc/ViewComponents/DirectoryViewComponent.cs index 70dc2bb7..676ff3d6 100644 --- a/src/Yavsc/ViewComponents/DirectoryViewComponent.cs +++ b/src/Yavsc/ViewComponents/DirectoryViewComponent.cs @@ -1,10 +1,10 @@ using Microsoft.AspNet.Mvc; +using System.Threading.Tasks; +using Yavsc.Helpers; +using Yavsc.ViewModels.UserFiles; namespace Yavsc.ViewComponents { - using System.Threading.Tasks; - using Yavsc.Abstract.FileSystem; - using Yavsc.ViewModels.UserFiles; public class DirectoryViewComponent : ViewComponent { diff --git a/src/Yavsc/ViewModels/Streaming/LiveCastHandler.cs b/src/Yavsc/ViewModels/Streaming/LiveCastHandler.cs index 630e7c85..d959263d 100644 --- a/src/Yavsc/ViewModels/Streaming/LiveCastHandler.cs +++ b/src/Yavsc/ViewModels/Streaming/LiveCastHandler.cs @@ -7,6 +7,7 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Newtonsoft.Json; +using Yavsc.Helpers; using Yavsc.Models; using Yavsc.Models.FileSystem; @@ -41,7 +42,7 @@ namespace Yavsc.ViewModels.Streaming long usage = user.DiskUsage; var item = new FileRecievedInfo(); - item.FileName = Yavsc.Abstract.FileSystem.AbstractFileSystemHelpers.FilterFileName (destFileName); + item.FileName = AbstractFileSystemHelpers.FilterFileName (destFileName); item.MimeType = contentType; item.DestDir = root; var fi = new FileInfo(Path.Combine(root, item.FileName)); diff --git a/src/Yavsc/project.json b/src/Yavsc/project.json index 656c0b9b..bc498286 100644 --- a/src/Yavsc/project.json +++ b/src/Yavsc/project.json @@ -132,9 +132,11 @@ "Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final", "System.Json": "4.0.20126.16343", "OAuth.AspNet.Token": { + "target": "project", "type": "build" }, "OAuth.AspNet.AuthServer": { + "target": "project", "type": "build" }, "PayPalMerchant-net451": { @@ -142,9 +144,11 @@ }, "Gapi.net45": "1.0.1", "Yavsc.Abstract": { + "target": "project", "type": "build" }, "Yavsc.Server": { + "target": "project", "type": "build" }, "GoogleTranslate": "1.0.5" diff --git a/src/Yavsc/wwwroot/css/main/site.min.css b/src/Yavsc/wwwroot/css/main/site.min.css index 32bee6ce..42142e93 100644 --- a/src/Yavsc/wwwroot/css/main/site.min.css +++ b/src/Yavsc/wwwroot/css/main/site.min.css @@ -1,4 +1,4 @@ -.navbar-link,.navbar-brand,.navbar-nav.dropdown>a{background-color:rgba(0,0,0,.2);border-radius:2em;}.navbar-link:hover,.navbar-brand:hover,.navbar-link:focus,.navbar-brand:focus{background-color:rgba(0,0,0,.4);}.navbar-inverse.navbar-brand{background-color:unset}.ql-editor{border:outset 1em rgb(238,144,62);padding:1em;}.badge{margin:1em;}.badge img{height:2em;}.row img{max-width:100%;max-height:6em;} +.navbar-link,.navbar-nav.dropdown>a{background-color:rgba(0,0,0,.2);border-radius:2em;}.navbar-link:hover,.navbar-link:focus{background-color:rgba(0,0,0,.4);}.navbar-brand:focus{background-color:unset;}.ql-editor{border:outset 1em rgb(238,144,62);padding:1em;}.badge{margin:1em;}.badge img{height:2em;}.row img{max-width:100%;max-height:6em;} main img{max-width:100%;max-height:100%;}.userinfo{display:block;padding:.8em;margin:.6em;background-repeat:no-repeat;background-attachment:local;background-size:contain;background-image:url('/images/lis.svg');overflow:auto;padding-left:2em;}.performer{border-radius:1.5em;background-color:#f1e4f1;padding:1em;}.performer ul{margin-left:2.5em;}.smalltofhol{align-self:left;padding:.1em;border-radius:50%;}.commentmeta{margin:.5em;padding:.5em;border-right:#444 dashed 1px;border-top:#444 solid 1px;}.price{font-weight:bold;font-size:large;padding:.2em;margin:.2em;}.total{font-weight:bold;font-size:xx-large;background-color:#f8f;border:solid black 3px;border-radius:1em;padding:.2em;margin:.2em;}.blog{padding:1em;}.blog a{font-weight:900;}.blog a:active,.blog a:hover{outline:0;}.discussion{color:black;}.notif{color:#555;}.pv{color:#540;font-style:bold;}.discussion{font-family:monospace;}.notif{color:#006;font-family:monospace;}.pv{color:#251;font-family:monospace;font-style:bold;}#targets{display:block;} tr.visiblepost{max-height:3em;} tr.visiblepost img{max-height:3em;} diff --git a/src/Yavsc/wwwroot/css/yavsc.min.css b/src/Yavsc/wwwroot/css/yavsc.min.css index c6e7de36..e69de29b 100644 --- a/src/Yavsc/wwwroot/css/yavsc.min.css +++ b/src/Yavsc/wwwroot/css/yavsc.min.css @@ -1 +0,0 @@ -nav{background:url(/images/logo-lua.png) no-repeat local;background-size:contain} \ No newline at end of file diff --git a/src/cli/project.json b/src/cli/project.json index a3499dbf..ebf6ee39 100644 --- a/src/cli/project.json +++ b/src/cli/project.json @@ -48,7 +48,7 @@ "Newtonsoft.Json": "9.0.1", "NJsonSchema.CodeGeneration.CSharp": "9.10.65", "Yavsc": { - "version": "1.0.6-rc04", + "version": "1.0.6-rc05", "target": "package" }, "Microsoft.Dnx.Host": "1.0.0-rc1-final", diff --git a/src/test/project.json b/src/test/project.json index 195d3875..85177e8b 100644 --- a/src/test/project.json +++ b/src/test/project.json @@ -48,10 +48,12 @@ "Microsoft.Dnx.Runtime": "1.0.0-rc1-final", "xunit.runner.dnx": "2.1.0-rc1-build204", "Yavsc.Server": { - "target": "project" + "target": "project", + "type": "build" }, "Yavsc": { - "target": "project" + "target": "project", + "type": "build" } }, "frameworks": { diff --git a/version.txt b/version.txt index 6a95c8e9..724e9bb5 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.0.6-rc04 +1.0.6-rc05