This commit is contained in:
Sewmina 2023-01-31 19:27:18 +05:30
commit 67b5e727ae
61 changed files with 1542 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

BIN
.vs/Titanic/v17/.suo Normal file

Binary file not shown.

25
Titanic.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33122.133
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Titanic", "Titanic\Titanic.csproj", "{53B9C60D-9C9B-44BC-A103-D423ABE0B941}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{53B9C60D-9C9B-44BC-A103-D423ABE0B941}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{53B9C60D-9C9B-44BC-A103-D423ABE0B941}.Debug|Any CPU.Build.0 = Debug|Any CPU
{53B9C60D-9C9B-44BC-A103-D423ABE0B941}.Release|Any CPU.ActiveCfg = Release|Any CPU
{53B9C60D-9C9B-44BC-A103-D423ABE0B941}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {30310D9E-CE3E-415E-86DE-3C5B31738146}
EndGlobalSection
EndGlobal

166
Titanic/Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,166 @@
namespace Titanic
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.listView1 = new System.Windows.Forms.ListView();
this.name = new System.Windows.Forms.ColumnHeader();
this.last_change = new System.Windows.Forms.ColumnHeader();
this.author = new System.Windows.Forms.ColumnHeader();
this.last_modifier = new System.Windows.Forms.ColumnHeader();
this.btn_new_project = new System.Windows.Forms.Button();
this.btn_remove_selected_project = new System.Windows.Forms.Button();
this.btn_exit = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.path = new System.Windows.Forms.ColumnHeader();
this.SuspendLayout();
//
// listView1
//
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.name,
this.path,
this.last_change,
this.author,
this.last_modifier});
this.listView1.Location = new System.Drawing.Point(12, 12);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(525, 426);
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
//
// name
//
this.name.Text = "Project";
this.name.Width = 150;
//
// last_change
//
this.last_change.Text = "Last When";
this.last_change.Width = 120;
//
// author
//
this.author.Text = "Author";
this.author.Width = 100;
//
// last_modifier
//
this.last_modifier.Text = "Last Who";
this.last_modifier.Width = 100;
//
// btn_new_project
//
this.btn_new_project.Location = new System.Drawing.Point(543, 108);
this.btn_new_project.Name = "btn_new_project";
this.btn_new_project.Size = new System.Drawing.Size(156, 23);
this.btn_new_project.TabIndex = 1;
this.btn_new_project.Text = "Add New Project";
this.btn_new_project.UseVisualStyleBackColor = true;
this.btn_new_project.Click += new System.EventHandler(this.btn_new_project_Click);
//
// btn_remove_selected_project
//
this.btn_remove_selected_project.Location = new System.Drawing.Point(543, 137);
this.btn_remove_selected_project.Name = "btn_remove_selected_project";
this.btn_remove_selected_project.Size = new System.Drawing.Size(156, 23);
this.btn_remove_selected_project.TabIndex = 2;
this.btn_remove_selected_project.Text = "Remove Selected Project";
this.btn_remove_selected_project.UseVisualStyleBackColor = true;
this.btn_remove_selected_project.Click += new System.EventHandler(this.btn_remove_selected_project_Click);
//
// btn_exit
//
this.btn_exit.Location = new System.Drawing.Point(543, 415);
this.btn_exit.Name = "btn_exit";
this.btn_exit.Size = new System.Drawing.Size(156, 23);
this.btn_exit.TabIndex = 3;
this.btn_exit.Text = "Exit";
this.btn_exit.UseVisualStyleBackColor = true;
this.btn_exit.Click += new System.EventHandler(this.btn_exit_Click);
//
// button1
//
this.button1.Location = new System.Drawing.Point(543, 12);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(156, 47);
this.button1.TabIndex = 4;
this.button1.Text = "Refresh";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(543, 65);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(156, 23);
this.button2.TabIndex = 5;
this.button2.Text = "Info";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// path
//
this.path.Text = "path";
this.path.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
this.path.Width = 15;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(708, 450);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.btn_exit);
this.Controls.Add(this.btn_remove_selected_project);
this.Controls.Add(this.btn_new_project);
this.Controls.Add(this.listView1);
this.Name = "Form1";
this.Text = "Titanic";
this.ResumeLayout(false);
}
#endregion
private ListView listView1;
private ColumnHeader name;
private ColumnHeader last_change;
private ColumnHeader author;
private ColumnHeader last_modifier;
private Button btn_new_project;
private Button btn_remove_selected_project;
private Button btn_exit;
private Button button1;
private Button button2;
private ColumnHeader path;
}
}

82
Titanic/Form1.cs Normal file
View File

@ -0,0 +1,82 @@
namespace Titanic
{
public partial class Form1 : Form
{
Settings settings;
public Form1()
{
InitializeComponent();
settings = Helpers.Settings;
Refresh();
}
private void btn_exit_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void btn_new_project_Click(object sender, EventArgs e)
{
new_project_form newProjectForm = new new_project_form(OnNewProjectSuccess);
newProjectForm.ShowDialog();
}
void OnNewProjectSuccess(KeyValuePair<string,string> newProject)
{
Logger.Log("New project info successfully added : " + newProject.Key + ":" + newProject.Value);
Helpers.AddNewProject(newProject);
Refresh();
}
public override void Refresh()
{
listView1.Items.Clear();
Dictionary<string, string> projects = Helpers.Settings.projects;
foreach(KeyValuePair<string,string> project in projects)
{
ListViewItem item = new ListViewItem();
item.Text = project.Key;
item.SubItems.Add(project.Value);
listView1.Items.Add(item);
ProjectInfo info = ProjectInfo.FromDirectory(project.Value);
}
base.Refresh();
}
private void button1_Click(object sender, EventArgs e)
{
Refresh();
}
private void btn_remove_selected_project_Click(object sender, EventArgs e)
{
if(listView1.SelectedItems.Count <= 0)
{
MessageBox.Show("No item selected to remove");
return;
}
Helpers.RemoveProject(listView1.SelectedItems[0].Text);
Refresh();
}
private void button2_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count <= 0)
{
MessageBox.Show("No item selected");
return;
}
ProjectInfoForm projectInfo = new ProjectInfoForm(listView1.SelectedItems[0].SubItems[1].Text);
projectInfo.ShowDialog();
}
}
}

60
Titanic/Form1.resx Normal file
View File

@ -0,0 +1,60 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

189
Titanic/Helpers.cs Normal file
View File

@ -0,0 +1,189 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace Titanic
{
static class Helpers
{
public const string GIT_LOG_CMD = "git log --pretty=format:\"%h%n%ce%n%at%n%s%n<td>\"";
private static Settings m_settings;
private static string SettingsLocation { get { return Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\Documents\\Titanic.json"; } }
public static Settings Settings {
get {
if(!File.Exists(SettingsLocation))
{
m_settings = new Settings();
File.WriteAllText(SettingsLocation, JsonConvert.SerializeObject(m_settings));
Logger.Log("Wrote new settings to file @ " + SettingsLocation);
}
else
{
try
{
m_settings = JsonConvert.DeserializeObject<Settings>(File.ReadAllText(SettingsLocation));
Logger.Log("Reading settings from file success");
}
catch(Exception e)
{
if(e is FileNotFoundException)
{
Logger.Log("No settings file was found, Creating new");
}
else
{
Logger.Log("Failed to read existing settings file. Creating new");
File.Move(SettingsLocation, SettingsLocation +".bkp");
}
m_settings = new Settings();
File.WriteAllText(SettingsLocation, JsonConvert.SerializeObject(m_settings));
Logger.Log("Wrote new settings to file @ " + SettingsLocation);
}
}
return m_settings;
}
}
public static void SaveSettings()
{
File.WriteAllText(SettingsLocation, JsonConvert.SerializeObject(m_settings));
Logger.Log("Saved new settings to file @ " + SettingsLocation);
}
public static void AddNewProject(KeyValuePair<string, string> project)
{
if (m_settings.projects.ContainsKey(project.Key))
{
MessageBox.Show("Project name already exists");
return;
}
m_settings.projects.Add(project.Key, project.Value);
SaveSettings();
}
public static void RemoveProject(string projectName)
{
foreach(KeyValuePair<string,string> project in Settings.projects)
{
if(project.Key == projectName)
{
m_settings.projects.Remove(projectName);
Logger.Log($"Removed {projectName}");
SaveSettings();
return;
break;
}
}
Logger.Log("Failed to remove project " + projectName);
}
public static string GetResponseFromCmd(string cmd, string directory)
{
Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.WorkingDirectory = directory;
p.StartInfo.FileName = "cmd.exe";
//p.StartInfo.Arguments = "/C git /b log";
p.Start();
p.StandardInput.WriteLine(cmd);
p.StandardInput.Flush();
p.StandardInput.Close();
// Do not wait for the child process to exit before
// reading to the end of its redirected stream.
// p.WaitForExit();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
return output;
}
public static string DeleteLines(string text, int lineCount)
{
string[] lines = text
.Split(Environment.NewLine.ToCharArray())
.Skip(lineCount)
.ToArray();
string output = string.Join(Environment.NewLine, lines);
return output;
}
public static DateTime UnixTimeStampToDateTime(double unixTimeStamp)
{
// Unix timestamp is seconds past epoch
DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
dateTime = dateTime.AddSeconds(unixTimeStamp).ToLocalTime();
return dateTime;
}
}
[Serializable]
class Settings
{
public Dictionary<string, string> projects = new Dictionary<string, string>();
}
class ProjectInfo
{
public string Directory;
public List<CommitData> Commits;
public static ProjectInfo FromDirectory(string directory)
{
ProjectInfo info = new ProjectInfo() { Directory = directory };
string gitLog = Helpers.GetResponseFromCmd(Helpers.GIT_LOG_CMD, directory);
string actualOutput = Helpers.DeleteLines(gitLog.Substring(gitLog.LastIndexOf(Helpers.GIT_LOG_CMD) + 1), 1);
List<CommitData> commitsList = new List<CommitData>();
string[] commits = actualOutput.Split("<td>");
for (int i = 0; i < commits.Length; i++)
{
// MessageBox.Show(commits[i]);
string[] commitData = commits[i].Split('\n');
if (commitData.Length < 5) { continue; }
DateTime time = Helpers.UnixTimeStampToDateTime(double.Parse(commitData[3]));
commitsList.Add(new CommitData() { hash = commitData[1], Author = commitData[2], time = time, comments = commitData[4] });
}
info.Commits = commitsList;
return info;
}
}
class CommitData
{
public string hash;
public string Author;
public DateTime time;
public string comments;
}
}

57
Titanic/Logger.cs Normal file
View File

@ -0,0 +1,57 @@
using System;
using System.IO;
public class Logger
{
public static bool Enabled = true;
private static Logger m_instance = null;
private static string ApplicationDirectory
{
get
{
string path = AppDomain.CurrentDomain.BaseDirectory;
return path;
}
}
public string LogFilePath {get; private set;}
public static Logger instance
{
get
{
if (m_instance == null)
{
m_instance = new Logger();
}
return m_instance;
}
}
public Logger()
{
if(!Enabled){return;}
if(LogFilePath == null){
LogFilePath = ApplicationDirectory + "Log.txt";
}
File.WriteAllText(LogFilePath, "Logger initiated at " + DateTime.Now + "\n\n");
}
public void log(string message){
if(!Enabled){return;}
File.AppendAllText(LogFilePath,$"[{DateTime.Now}] {message}\n");
}
public static void Log(string message){
instance.log(message);
}
public static void SetFileName(string fileName){
instance.LogFilePath = ApplicationDirectory+fileName + ".txt";
}
public static void SetFilePath(string path){
instance.LogFilePath= path;
}
}

19
Titanic/Program.cs Normal file
View File

@ -0,0 +1,19 @@
namespace Titanic
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
Logger.Log("Initiating Titanic, Infamous Syncer");
ApplicationConfiguration.Initialize();
Application.Run(new Form1());
}
}
}

92
Titanic/ProjectInfoForm.Designer.cs generated Normal file
View File

@ -0,0 +1,92 @@
namespace Titanic
{
partial class ProjectInfoForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.listView1 = new System.Windows.Forms.ListView();
this.hash = new System.Windows.Forms.ColumnHeader();
this.author = new System.Windows.Forms.ColumnHeader();
this.date = new System.Windows.Forms.ColumnHeader();
this.comment = new System.Windows.Forms.ColumnHeader();
this.SuspendLayout();
//
// listView1
//
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.hash,
this.author,
this.date,
this.comment});
this.listView1.Location = new System.Drawing.Point(12, 12);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(665, 426);
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
//
// hash
//
this.hash.Text = "hash";
//
// author
//
this.author.Text = "Author";
this.author.Width = 120;
//
// date
//
this.date.Text = "Date";
this.date.Width = 120;
//
// comment
//
this.comment.Text = "Comment";
this.comment.Width = 250;
//
// ProjectInfoForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(688, 450);
this.Controls.Add(this.listView1);
this.Name = "ProjectInfoForm";
this.Text = "ProjectInfoForm";
this.Load += new System.EventHandler(this.ProjectInfoForm_Load);
this.ResumeLayout(false);
}
#endregion
private ListView listView1;
private ColumnHeader hash;
private ColumnHeader author;
private ColumnHeader date;
private ColumnHeader comment;
}
}

View File

@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Titanic
{
public partial class ProjectInfoForm : Form
{
string directory;
public ProjectInfoForm(string directory)
{
InitializeComponent();
this.directory = directory;
Refresh();
}
private void ProjectInfoForm_Load(object sender, EventArgs e)
{
}
public override void Refresh()
{
base.Refresh();
listView1.Items.Clear();
ProjectInfo info = ProjectInfo.FromDirectory(directory);
foreach(CommitData commit in info.Commits)
{
ListViewItem item = new ListViewItem();
item.Text = commit.hash;
item.SubItems.Add(commit.Author);
item.SubItems.Add(commit.time.ToShortDateString() + " " + commit.time.ToShortTimeString());
item.SubItems.Add(commit.comments);
listView1.Items.Add(item);
}
}
}
}

View File

@ -0,0 +1,60 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

15
Titanic/Titanic.csproj Normal file
View File

@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Update="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="new_project_form.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="ProjectInfoForm.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,5 @@
Logger initiated at 1/31/2023 7:25:47 PM
[1/31/2023 7:25:47 PM] Initiating Titanic, Infamous Syncer
[1/31/2023 7:25:47 PM] Reading settings from file success
[1/31/2023 7:25:47 PM] Reading settings from file success

View File

@ -0,0 +1,4 @@
Logger initiated at 1/31/2023 12:59:32 PM
[1/31/2023 12:59:32 PM] Initiating Titanic, Infamous Syncer
[1/31/2023 12:59:33 PM] Wrote new settings to file @ C:\Users\warlock\Documents\Titanic.json

Binary file not shown.

View File

@ -0,0 +1,41 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"Titanic/1.0.0": {
"dependencies": {
"Newtonsoft.Json": "13.0.2"
},
"runtime": {
"Titanic.dll": {}
}
},
"Newtonsoft.Json/13.0.2": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.2.27524"
}
}
}
}
},
"libraries": {
"Titanic/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Newtonsoft.Json/13.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==",
"path": "newtonsoft.json/13.0.2",
"hashPath": "newtonsoft.json.13.0.2.nupkg.sha512"
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "6.0.0"
}
]
}
}

133
Titanic/new_project_form.Designer.cs generated Normal file
View File

@ -0,0 +1,133 @@
namespace Titanic
{
partial class new_project_form
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 75);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(79, 15);
this.label1.TabIndex = 0;
this.label1.Text = "Project Name";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(36, 20);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(55, 15);
this.label2.TabIndex = 1;
this.label2.Text = "Directory";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(99, 72);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(359, 23);
this.textBox1.TabIndex = 2;
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(99, 17);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(286, 23);
this.textBox2.TabIndex = 3;
//
// button1
//
this.button1.Location = new System.Drawing.Point(391, 17);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(67, 23);
this.button1.TabIndex = 4;
this.button1.Text = "Browse...";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(302, 101);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 5;
this.button2.Text = "Add";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button3
//
this.button3.Location = new System.Drawing.Point(383, 101);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 6;
this.button3.Text = "Cancel";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// new_project_form
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(470, 131);
this.Controls.Add(this.button3);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "new_project_form";
this.Text = "New Project";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private Label label1;
private Label label2;
private TextBox textBox1;
private TextBox textBox2;
private Button button1;
private Button button2;
private Button button3;
}
}

View File

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Titanic
{
public partial class new_project_form : Form
{
Action<KeyValuePair<string,string>> OnSuccess;
public new_project_form(Action<KeyValuePair<string,string>> onSuccess)
{
InitializeComponent();
OnSuccess = onSuccess;
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
if(textBox1.Text.Length < 3)
{
MessageBox.Show("Project name must be longer than 2 letters");
return;
}
if (!Directory.Exists(textBox2.Text)) {
MessageBox.Show("Invalid git link");
return;
}
OnSuccess.Invoke(new KeyValuePair<string, string>(textBox1.Text, textBox2.Text));
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
if(fbd.ShowDialog() == DialogResult.OK)
{
textBox2.Text= fbd.SelectedPath;
textBox1.Text = fbd.SelectedPath.Substring(fbd.SelectedPath.LastIndexOf("\\")+1);
}
}
}
}

View File

@ -0,0 +1,60 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]

View File

@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Titanic")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Titanic")]
[assembly: System.Reflection.AssemblyTitleAttribute("Titanic")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -0,0 +1 @@
2e3912672eb24ce5ea4a1771006d7e973aa1758b

View File

@ -0,0 +1,17 @@
is_global = true
build_property.ApplicationManifest =
build_property.StartupObject =
build_property.ApplicationDefaultFont =
build_property.ApplicationHighDpiMode =
build_property.ApplicationUseCompatibleTextRendering =
build_property.ApplicationVisualStyles =
build_property.TargetFramework = net6.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Titanic
build_property.ProjectDir = D:\Project\c#\shared\Titanic\Titanic\

View File

@ -0,0 +1,10 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Drawing;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
global using global::System.Windows.Forms;

Binary file not shown.

View File

@ -0,0 +1 @@
df9c89a8c95990cc221e7d13453b50470fc9fac4

View File

@ -0,0 +1,21 @@
D:\Project\c#\shared\Titanic\Titanic\bin\Debug\net6.0-windows\Titanic.exe
D:\Project\c#\shared\Titanic\Titanic\bin\Debug\net6.0-windows\Titanic.deps.json
D:\Project\c#\shared\Titanic\Titanic\bin\Debug\net6.0-windows\Titanic.runtimeconfig.json
D:\Project\c#\shared\Titanic\Titanic\bin\Debug\net6.0-windows\Titanic.dll
D:\Project\c#\shared\Titanic\Titanic\bin\Debug\net6.0-windows\Titanic.pdb
D:\Project\c#\shared\Titanic\Titanic\bin\Debug\net6.0-windows\Newtonsoft.Json.dll
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.csproj.AssemblyReference.cache
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.Form1.resources
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.new_project_form.resources
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.csproj.GenerateResource.cache
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.GeneratedMSBuildEditorConfig.editorconfig
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.AssemblyInfoInputs.cache
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.AssemblyInfo.cs
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.csproj.CoreCompileInputs.cache
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.csproj.CopyComplete
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.dll
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\refint\Titanic.dll
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.pdb
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.genruntimeconfig.cache
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\ref\Titanic.dll
D:\Project\c#\shared\Titanic\Titanic\obj\Debug\net6.0-windows\Titanic.ProjectInfoForm.resources

View File

@ -0,0 +1,28 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"Newtonsoft.Json/13.0.2": {
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.2.27524"
}
}
}
}
},
"libraries": {
"Newtonsoft.Json/13.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==",
"path": "newtonsoft.json/13.0.2",
"hashPath": "newtonsoft.json.13.0.2.nupkg.sha512"
}
}
}

View File

@ -0,0 +1,23 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "6.0.0"
}
],
"additionalProbingPaths": [
"C:\\Users\\warlock\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\warlock\\.nuget\\packages",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configProperties": {
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
}
}
}

Binary file not shown.

View File

@ -0,0 +1 @@
05f51c83c12e719f0705ab134990205d8641eb35

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,93 @@
{
"format": 1,
"restore": {
"D:\\Project\\c#\\shared\\Titanic\\Titanic\\Titanic.csproj": {}
},
"projects": {
"D:\\Project\\c#\\shared\\Titanic\\Titanic\\Titanic.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\Project\\c#\\shared\\Titanic\\Titanic\\Titanic.csproj",
"projectName": "Titanic",
"projectPath": "D:\\Project\\c#\\shared\\Titanic\\Titanic\\Titanic.csproj",
"packagesPath": "C:\\Users\\warlock\\.nuget\\packages\\",
"outputPath": "D:\\Project\\c#\\shared\\Titanic\\Titanic\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\warlock\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0-windows"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0-windows7.0": {
"targetAlias": "net6.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0-windows7.0": {
"targetAlias": "net6.0-windows",
"dependencies": {
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.2, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[6.0.12, 6.0.12]"
},
{
"name": "Microsoft.NETCore.App.Host.win-x64",
"version": "[6.0.12, 6.0.12]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[6.0.12, 6.0.12]"
},
{
"name": "Microsoft.WindowsDesktop.App.Ref",
"version": "[6.0.12, 6.0.12]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.101\\RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\warlock\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.4.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\warlock\.nuget\packages\" />
<SourceRoot Include="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -0,0 +1,146 @@
{
"version": 3,
"targets": {
"net6.0-windows7.0": {
"Newtonsoft.Json/13.0.2": {
"type": "package",
"compile": {
"lib/net6.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Newtonsoft.Json.dll": {
"related": ".xml"
}
}
}
}
},
"libraries": {
"Newtonsoft.Json/13.0.2": {
"sha512": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==",
"type": "package",
"path": "newtonsoft.json/13.0.2",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.md",
"README.md",
"lib/net20/Newtonsoft.Json.dll",
"lib/net20/Newtonsoft.Json.xml",
"lib/net35/Newtonsoft.Json.dll",
"lib/net35/Newtonsoft.Json.xml",
"lib/net40/Newtonsoft.Json.dll",
"lib/net40/Newtonsoft.Json.xml",
"lib/net45/Newtonsoft.Json.dll",
"lib/net45/Newtonsoft.Json.xml",
"lib/net6.0/Newtonsoft.Json.dll",
"lib/net6.0/Newtonsoft.Json.xml",
"lib/netstandard1.0/Newtonsoft.Json.dll",
"lib/netstandard1.0/Newtonsoft.Json.xml",
"lib/netstandard1.3/Newtonsoft.Json.dll",
"lib/netstandard1.3/Newtonsoft.Json.xml",
"lib/netstandard2.0/Newtonsoft.Json.dll",
"lib/netstandard2.0/Newtonsoft.Json.xml",
"newtonsoft.json.13.0.2.nupkg.sha512",
"newtonsoft.json.nuspec",
"packageIcon.png"
]
}
},
"projectFileDependencyGroups": {
"net6.0-windows7.0": [
"Newtonsoft.Json >= 13.0.2"
]
},
"packageFolders": {
"C:\\Users\\warlock\\.nuget\\packages\\": {},
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\Project\\c#\\shared\\Titanic\\Titanic\\Titanic.csproj",
"projectName": "Titanic",
"projectPath": "D:\\Project\\c#\\shared\\Titanic\\Titanic\\Titanic.csproj",
"packagesPath": "C:\\Users\\warlock\\.nuget\\packages\\",
"outputPath": "D:\\Project\\c#\\shared\\Titanic\\Titanic\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\warlock\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0-windows"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0-windows7.0": {
"targetAlias": "net6.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0-windows7.0": {
"targetAlias": "net6.0-windows",
"dependencies": {
"Newtonsoft.Json": {
"target": "Package",
"version": "[13.0.2, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[6.0.12, 6.0.12]"
},
{
"name": "Microsoft.NETCore.App.Host.win-x64",
"version": "[6.0.12, 6.0.12]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[6.0.12, 6.0.12]"
},
{
"name": "Microsoft.WindowsDesktop.App.Ref",
"version": "[6.0.12, 6.0.12]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.101\\RuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1,14 @@
{
"version": 2,
"dgSpecHash": "Ol4IX0IuZlcC9xH5LVwXhEnJ6ET5J0Kpd8v/wGXmTufCnbnNleJjMfEYxeF+bvCA72cYPkf+Mpkdls5dA3qLoQ==",
"success": true,
"projectFilePath": "D:\\Project\\c#\\shared\\Titanic\\Titanic\\Titanic.csproj",
"expectedPackageFiles": [
"C:\\Users\\warlock\\.nuget\\packages\\newtonsoft.json\\13.0.2\\newtonsoft.json.13.0.2.nupkg.sha512",
"C:\\Users\\warlock\\.nuget\\packages\\microsoft.windowsdesktop.app.ref\\6.0.12\\microsoft.windowsdesktop.app.ref.6.0.12.nupkg.sha512",
"C:\\Users\\warlock\\.nuget\\packages\\microsoft.netcore.app.ref\\6.0.12\\microsoft.netcore.app.ref.6.0.12.nupkg.sha512",
"C:\\Users\\warlock\\.nuget\\packages\\microsoft.aspnetcore.app.ref\\6.0.12\\microsoft.aspnetcore.app.ref.6.0.12.nupkg.sha512",
"C:\\Users\\warlock\\.nuget\\packages\\microsoft.netcore.app.host.win-x64\\6.0.12\\microsoft.netcore.app.host.win-x64.6.0.12.nupkg.sha512"
],
"logs": []
}