From 890fa1abd552302500e635791f6ad9366f00bb6d Mon Sep 17 00:00:00 2001 From: Danil Kislov Date: Mon, 18 Mar 2019 22:54:40 +0300 Subject: [PATCH] ok --- .travis.yml | 9 +++++---- release.cmd | 16 ++++++++++++++++ semver.txt | 1 + JiraTimeBot.sln => src/JiraTimeBot.sln | 0 {JiraTimeBot => src/JiraTimeBot}/App.config | 0 .../Configuration/PasswordEncryptionClass.cs | 0 .../JiraTimeBot}/Configuration/Settings.cs | 0 .../JiraTimeBot}/DI/ContainerBuilder.cs | 0 .../Comments/IJiraDescriptionSource.cs | 0 .../Comments/JiraDescriptionSource.cs | 0 .../JiraTimeBot}/JiraIntegration/JiraApi.cs | 0 .../JiraIntegration/JiraCommitEmulator.cs | 0 .../JiraTimeBot}/JiraTimeBot.csproj | 0 {JiraTimeBot => src/JiraTimeBot}/Job.cs | 0 {JiraTimeBot => src/JiraTimeBot}/Logger.cs | 0 .../Mercurial/IAllMercurialProviders.cs | 0 .../JiraTimeBot}/Mercurial/IMercurialLog.cs | 0 .../JiraTimeBot}/Mercurial/MercurialLog.cs | 0 .../Mercurial/Modifiers/CommitSkipper.cs | 0 .../Mercurial/Modifiers/ICommitSkipper.cs | 0 .../Modifiers/ITechnicalInfoSkipper.cs | 0 .../Mercurial/Modifiers/TechnicalInfoSkipper.cs | 0 .../Mercurial/Objects/MercurialCommitItem.cs | 0 {JiraTimeBot => src/JiraTimeBot}/Program.cs | 0 .../JiraTimeBot}/Properties/AssemblyInfo.cs | 0 .../Properties/Resources.Designer.cs | 0 .../JiraTimeBot}/Properties/Resources.resx | 0 .../Properties/Settings.Designer.cs | 0 .../JiraTimeBot}/Properties/Settings.settings | 0 .../TaskTime/ITaskTimeCalculator.cs | 0 .../TaskTime/Objects/TaskTimeItem.cs | 0 .../TaskTime/TaskTimeByCommitsCalculator.cs | 0 .../TasksProcessors/IAllTasksProcessors.cs | 0 .../TasksProcessors/ITasksProcessor.cs | 0 .../TasksProcessors/MeetingProcessor.cs | 0 .../TasksProcessors/WorkLogTasksProcessor.cs | 0 .../JiraTimeBot}/UI/Tray/ITrayMenu.cs | 0 .../JiraTimeBot}/UI/Tray/RestoreFromTray.cs | 0 .../JiraTimeBot}/UI/Tray/TrayMenu.cs | 0 .../JiraTimeBot}/UI/frmMain.Designer.cs | 0 {JiraTimeBot => src/JiraTimeBot}/UI/frmMain.cs | 0 .../JiraTimeBot}/UI/frmMain.resx | 0 .../JiraTimeBot}/UI/frmSettings.Designer.cs | 0 .../JiraTimeBot}/UI/frmSettings.cs | 0 .../JiraTimeBot}/UI/frmSettings.resx | 0 {JiraTimeBot => src/JiraTimeBot}/app.ico | Bin .../JiraTimeBot}/packages.config | 0 tools/semverstain/svs.exe | Bin 0 -> 41472 bytes 48 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 release.cmd create mode 100644 semver.txt rename JiraTimeBot.sln => src/JiraTimeBot.sln (100%) rename {JiraTimeBot => src/JiraTimeBot}/App.config (100%) rename {JiraTimeBot => src/JiraTimeBot}/Configuration/PasswordEncryptionClass.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Configuration/Settings.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/DI/ContainerBuilder.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/JiraIntegration/Comments/IJiraDescriptionSource.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/JiraIntegration/Comments/JiraDescriptionSource.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/JiraIntegration/JiraApi.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/JiraIntegration/JiraCommitEmulator.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/JiraTimeBot.csproj (100%) rename {JiraTimeBot => src/JiraTimeBot}/Job.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Logger.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Mercurial/IAllMercurialProviders.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Mercurial/IMercurialLog.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Mercurial/MercurialLog.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Mercurial/Modifiers/CommitSkipper.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Mercurial/Modifiers/ICommitSkipper.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Mercurial/Modifiers/ITechnicalInfoSkipper.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Mercurial/Modifiers/TechnicalInfoSkipper.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Mercurial/Objects/MercurialCommitItem.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Program.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Properties/AssemblyInfo.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Properties/Resources.Designer.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Properties/Resources.resx (100%) rename {JiraTimeBot => src/JiraTimeBot}/Properties/Settings.Designer.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/Properties/Settings.settings (100%) rename {JiraTimeBot => src/JiraTimeBot}/TaskTime/ITaskTimeCalculator.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/TaskTime/Objects/TaskTimeItem.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/TaskTime/TaskTimeByCommitsCalculator.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/TasksProcessors/IAllTasksProcessors.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/TasksProcessors/ITasksProcessor.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/TasksProcessors/MeetingProcessor.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/TasksProcessors/WorkLogTasksProcessor.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/UI/Tray/ITrayMenu.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/UI/Tray/RestoreFromTray.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/UI/Tray/TrayMenu.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/UI/frmMain.Designer.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/UI/frmMain.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/UI/frmMain.resx (100%) rename {JiraTimeBot => src/JiraTimeBot}/UI/frmSettings.Designer.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/UI/frmSettings.cs (100%) rename {JiraTimeBot => src/JiraTimeBot}/UI/frmSettings.resx (100%) rename {JiraTimeBot => src/JiraTimeBot}/app.ico (100%) rename {JiraTimeBot => src/JiraTimeBot}/packages.config (100%) create mode 100644 tools/semverstain/svs.exe diff --git a/.travis.yml b/.travis.yml index 87dc905..5162ab4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,11 @@ language: csharp -solution: JiraTimeBot.sln +solution: src/JiraTimeBot.sln -before_deploy: "tar -czf app.tgz JiraTimeBot/bin/Release/*" +before_deploy: "zip -j JiraTimeBot.zip src/JiraTimeBot/bin/Release/*" deploy: provider: releases api_key: $GITHUB_OAUTH_TOKEN - file_glob: true - file: app.tgz + file: JiraTimeBot.zip skip_cleanup: true + on: + tags: true \ No newline at end of file diff --git a/release.cmd b/release.cmd new file mode 100644 index 0000000..0586863 --- /dev/null +++ b/release.cmd @@ -0,0 +1,16 @@ +@echo off +for /f "tokens=1 delims=." %%G IN (semver.txt) DO set MAJOR=%%G +for /f "tokens=2 delims=." %%G IN (semver.txt) DO set MINOR=%%G +for /f "tokens=3 delims=." %%G IN (semver.txt) DO set PATCH=%%G +set VERSION_CURRENT=%MAJOR:~0,1%.%MINOR:~0,1%.%PATCH% +echo Current: %VERSION_CURRENT% + +SET /a PATCH1 = %PATCH%+1 +set VERSION=%MAJOR:~0,1%.%MINOR:~0,1%.%PATCH1% +echo %VERSION%>semver.txt +echo Updating to %VERSION% + +git add . +git tag -a v%VERSION% +git push +pause \ No newline at end of file diff --git a/semver.txt b/semver.txt new file mode 100644 index 0000000..7dea76e --- /dev/null +++ b/semver.txt @@ -0,0 +1 @@ +1.0.1 diff --git a/JiraTimeBot.sln b/src/JiraTimeBot.sln similarity index 100% rename from JiraTimeBot.sln rename to src/JiraTimeBot.sln diff --git a/JiraTimeBot/App.config b/src/JiraTimeBot/App.config similarity index 100% rename from JiraTimeBot/App.config rename to src/JiraTimeBot/App.config diff --git a/JiraTimeBot/Configuration/PasswordEncryptionClass.cs b/src/JiraTimeBot/Configuration/PasswordEncryptionClass.cs similarity index 100% rename from JiraTimeBot/Configuration/PasswordEncryptionClass.cs rename to src/JiraTimeBot/Configuration/PasswordEncryptionClass.cs diff --git a/JiraTimeBot/Configuration/Settings.cs b/src/JiraTimeBot/Configuration/Settings.cs similarity index 100% rename from JiraTimeBot/Configuration/Settings.cs rename to src/JiraTimeBot/Configuration/Settings.cs diff --git a/JiraTimeBot/DI/ContainerBuilder.cs b/src/JiraTimeBot/DI/ContainerBuilder.cs similarity index 100% rename from JiraTimeBot/DI/ContainerBuilder.cs rename to src/JiraTimeBot/DI/ContainerBuilder.cs diff --git a/JiraTimeBot/JiraIntegration/Comments/IJiraDescriptionSource.cs b/src/JiraTimeBot/JiraIntegration/Comments/IJiraDescriptionSource.cs similarity index 100% rename from JiraTimeBot/JiraIntegration/Comments/IJiraDescriptionSource.cs rename to src/JiraTimeBot/JiraIntegration/Comments/IJiraDescriptionSource.cs diff --git a/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs b/src/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs similarity index 100% rename from JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs rename to src/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs diff --git a/JiraTimeBot/JiraIntegration/JiraApi.cs b/src/JiraTimeBot/JiraIntegration/JiraApi.cs similarity index 100% rename from JiraTimeBot/JiraIntegration/JiraApi.cs rename to src/JiraTimeBot/JiraIntegration/JiraApi.cs diff --git a/JiraTimeBot/JiraIntegration/JiraCommitEmulator.cs b/src/JiraTimeBot/JiraIntegration/JiraCommitEmulator.cs similarity index 100% rename from JiraTimeBot/JiraIntegration/JiraCommitEmulator.cs rename to src/JiraTimeBot/JiraIntegration/JiraCommitEmulator.cs diff --git a/JiraTimeBot/JiraTimeBot.csproj b/src/JiraTimeBot/JiraTimeBot.csproj similarity index 100% rename from JiraTimeBot/JiraTimeBot.csproj rename to src/JiraTimeBot/JiraTimeBot.csproj diff --git a/JiraTimeBot/Job.cs b/src/JiraTimeBot/Job.cs similarity index 100% rename from JiraTimeBot/Job.cs rename to src/JiraTimeBot/Job.cs diff --git a/JiraTimeBot/Logger.cs b/src/JiraTimeBot/Logger.cs similarity index 100% rename from JiraTimeBot/Logger.cs rename to src/JiraTimeBot/Logger.cs diff --git a/JiraTimeBot/Mercurial/IAllMercurialProviders.cs b/src/JiraTimeBot/Mercurial/IAllMercurialProviders.cs similarity index 100% rename from JiraTimeBot/Mercurial/IAllMercurialProviders.cs rename to src/JiraTimeBot/Mercurial/IAllMercurialProviders.cs diff --git a/JiraTimeBot/Mercurial/IMercurialLog.cs b/src/JiraTimeBot/Mercurial/IMercurialLog.cs similarity index 100% rename from JiraTimeBot/Mercurial/IMercurialLog.cs rename to src/JiraTimeBot/Mercurial/IMercurialLog.cs diff --git a/JiraTimeBot/Mercurial/MercurialLog.cs b/src/JiraTimeBot/Mercurial/MercurialLog.cs similarity index 100% rename from JiraTimeBot/Mercurial/MercurialLog.cs rename to src/JiraTimeBot/Mercurial/MercurialLog.cs diff --git a/JiraTimeBot/Mercurial/Modifiers/CommitSkipper.cs b/src/JiraTimeBot/Mercurial/Modifiers/CommitSkipper.cs similarity index 100% rename from JiraTimeBot/Mercurial/Modifiers/CommitSkipper.cs rename to src/JiraTimeBot/Mercurial/Modifiers/CommitSkipper.cs diff --git a/JiraTimeBot/Mercurial/Modifiers/ICommitSkipper.cs b/src/JiraTimeBot/Mercurial/Modifiers/ICommitSkipper.cs similarity index 100% rename from JiraTimeBot/Mercurial/Modifiers/ICommitSkipper.cs rename to src/JiraTimeBot/Mercurial/Modifiers/ICommitSkipper.cs diff --git a/JiraTimeBot/Mercurial/Modifiers/ITechnicalInfoSkipper.cs b/src/JiraTimeBot/Mercurial/Modifiers/ITechnicalInfoSkipper.cs similarity index 100% rename from JiraTimeBot/Mercurial/Modifiers/ITechnicalInfoSkipper.cs rename to src/JiraTimeBot/Mercurial/Modifiers/ITechnicalInfoSkipper.cs diff --git a/JiraTimeBot/Mercurial/Modifiers/TechnicalInfoSkipper.cs b/src/JiraTimeBot/Mercurial/Modifiers/TechnicalInfoSkipper.cs similarity index 100% rename from JiraTimeBot/Mercurial/Modifiers/TechnicalInfoSkipper.cs rename to src/JiraTimeBot/Mercurial/Modifiers/TechnicalInfoSkipper.cs diff --git a/JiraTimeBot/Mercurial/Objects/MercurialCommitItem.cs b/src/JiraTimeBot/Mercurial/Objects/MercurialCommitItem.cs similarity index 100% rename from JiraTimeBot/Mercurial/Objects/MercurialCommitItem.cs rename to src/JiraTimeBot/Mercurial/Objects/MercurialCommitItem.cs diff --git a/JiraTimeBot/Program.cs b/src/JiraTimeBot/Program.cs similarity index 100% rename from JiraTimeBot/Program.cs rename to src/JiraTimeBot/Program.cs diff --git a/JiraTimeBot/Properties/AssemblyInfo.cs b/src/JiraTimeBot/Properties/AssemblyInfo.cs similarity index 100% rename from JiraTimeBot/Properties/AssemblyInfo.cs rename to src/JiraTimeBot/Properties/AssemblyInfo.cs diff --git a/JiraTimeBot/Properties/Resources.Designer.cs b/src/JiraTimeBot/Properties/Resources.Designer.cs similarity index 100% rename from JiraTimeBot/Properties/Resources.Designer.cs rename to src/JiraTimeBot/Properties/Resources.Designer.cs diff --git a/JiraTimeBot/Properties/Resources.resx b/src/JiraTimeBot/Properties/Resources.resx similarity index 100% rename from JiraTimeBot/Properties/Resources.resx rename to src/JiraTimeBot/Properties/Resources.resx diff --git a/JiraTimeBot/Properties/Settings.Designer.cs b/src/JiraTimeBot/Properties/Settings.Designer.cs similarity index 100% rename from JiraTimeBot/Properties/Settings.Designer.cs rename to src/JiraTimeBot/Properties/Settings.Designer.cs diff --git a/JiraTimeBot/Properties/Settings.settings b/src/JiraTimeBot/Properties/Settings.settings similarity index 100% rename from JiraTimeBot/Properties/Settings.settings rename to src/JiraTimeBot/Properties/Settings.settings diff --git a/JiraTimeBot/TaskTime/ITaskTimeCalculator.cs b/src/JiraTimeBot/TaskTime/ITaskTimeCalculator.cs similarity index 100% rename from JiraTimeBot/TaskTime/ITaskTimeCalculator.cs rename to src/JiraTimeBot/TaskTime/ITaskTimeCalculator.cs diff --git a/JiraTimeBot/TaskTime/Objects/TaskTimeItem.cs b/src/JiraTimeBot/TaskTime/Objects/TaskTimeItem.cs similarity index 100% rename from JiraTimeBot/TaskTime/Objects/TaskTimeItem.cs rename to src/JiraTimeBot/TaskTime/Objects/TaskTimeItem.cs diff --git a/JiraTimeBot/TaskTime/TaskTimeByCommitsCalculator.cs b/src/JiraTimeBot/TaskTime/TaskTimeByCommitsCalculator.cs similarity index 100% rename from JiraTimeBot/TaskTime/TaskTimeByCommitsCalculator.cs rename to src/JiraTimeBot/TaskTime/TaskTimeByCommitsCalculator.cs diff --git a/JiraTimeBot/TasksProcessors/IAllTasksProcessors.cs b/src/JiraTimeBot/TasksProcessors/IAllTasksProcessors.cs similarity index 100% rename from JiraTimeBot/TasksProcessors/IAllTasksProcessors.cs rename to src/JiraTimeBot/TasksProcessors/IAllTasksProcessors.cs diff --git a/JiraTimeBot/TasksProcessors/ITasksProcessor.cs b/src/JiraTimeBot/TasksProcessors/ITasksProcessor.cs similarity index 100% rename from JiraTimeBot/TasksProcessors/ITasksProcessor.cs rename to src/JiraTimeBot/TasksProcessors/ITasksProcessor.cs diff --git a/JiraTimeBot/TasksProcessors/MeetingProcessor.cs b/src/JiraTimeBot/TasksProcessors/MeetingProcessor.cs similarity index 100% rename from JiraTimeBot/TasksProcessors/MeetingProcessor.cs rename to src/JiraTimeBot/TasksProcessors/MeetingProcessor.cs diff --git a/JiraTimeBot/TasksProcessors/WorkLogTasksProcessor.cs b/src/JiraTimeBot/TasksProcessors/WorkLogTasksProcessor.cs similarity index 100% rename from JiraTimeBot/TasksProcessors/WorkLogTasksProcessor.cs rename to src/JiraTimeBot/TasksProcessors/WorkLogTasksProcessor.cs diff --git a/JiraTimeBot/UI/Tray/ITrayMenu.cs b/src/JiraTimeBot/UI/Tray/ITrayMenu.cs similarity index 100% rename from JiraTimeBot/UI/Tray/ITrayMenu.cs rename to src/JiraTimeBot/UI/Tray/ITrayMenu.cs diff --git a/JiraTimeBot/UI/Tray/RestoreFromTray.cs b/src/JiraTimeBot/UI/Tray/RestoreFromTray.cs similarity index 100% rename from JiraTimeBot/UI/Tray/RestoreFromTray.cs rename to src/JiraTimeBot/UI/Tray/RestoreFromTray.cs diff --git a/JiraTimeBot/UI/Tray/TrayMenu.cs b/src/JiraTimeBot/UI/Tray/TrayMenu.cs similarity index 100% rename from JiraTimeBot/UI/Tray/TrayMenu.cs rename to src/JiraTimeBot/UI/Tray/TrayMenu.cs diff --git a/JiraTimeBot/UI/frmMain.Designer.cs b/src/JiraTimeBot/UI/frmMain.Designer.cs similarity index 100% rename from JiraTimeBot/UI/frmMain.Designer.cs rename to src/JiraTimeBot/UI/frmMain.Designer.cs diff --git a/JiraTimeBot/UI/frmMain.cs b/src/JiraTimeBot/UI/frmMain.cs similarity index 100% rename from JiraTimeBot/UI/frmMain.cs rename to src/JiraTimeBot/UI/frmMain.cs diff --git a/JiraTimeBot/UI/frmMain.resx b/src/JiraTimeBot/UI/frmMain.resx similarity index 100% rename from JiraTimeBot/UI/frmMain.resx rename to src/JiraTimeBot/UI/frmMain.resx diff --git a/JiraTimeBot/UI/frmSettings.Designer.cs b/src/JiraTimeBot/UI/frmSettings.Designer.cs similarity index 100% rename from JiraTimeBot/UI/frmSettings.Designer.cs rename to src/JiraTimeBot/UI/frmSettings.Designer.cs diff --git a/JiraTimeBot/UI/frmSettings.cs b/src/JiraTimeBot/UI/frmSettings.cs similarity index 100% rename from JiraTimeBot/UI/frmSettings.cs rename to src/JiraTimeBot/UI/frmSettings.cs diff --git a/JiraTimeBot/UI/frmSettings.resx b/src/JiraTimeBot/UI/frmSettings.resx similarity index 100% rename from JiraTimeBot/UI/frmSettings.resx rename to src/JiraTimeBot/UI/frmSettings.resx diff --git a/JiraTimeBot/app.ico b/src/JiraTimeBot/app.ico similarity index 100% rename from JiraTimeBot/app.ico rename to src/JiraTimeBot/app.ico diff --git a/JiraTimeBot/packages.config b/src/JiraTimeBot/packages.config similarity index 100% rename from JiraTimeBot/packages.config rename to src/JiraTimeBot/packages.config diff --git a/tools/semverstain/svs.exe b/tools/semverstain/svs.exe new file mode 100644 index 0000000000000000000000000000000000000000..52f786639dfe42609581d7f2593be6276f147da0 GIT binary patch literal 41472 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
{Co~pBzaRJeBDq` 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 literal 0 HcmV?d00001