Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implemented vanilla pack #6

Merged
merged 63 commits into from
Feb 20, 2024
Merged

Implemented vanilla pack #6

merged 63 commits into from
Feb 20, 2024

Commits on Dec 16, 2023

  1. refactor: Added interface usage to AutomationInterface

    - Added `IPlcProject`, `ITwincatProject`, and `IAutomationInterface`
    - Added `README` with a brief description
    ahuca committed Dec 16, 2023
    Configuration menu
    Copy the full SHA
    d7fd8df View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    245b7ca View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5a7d6c8 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2023

  1. Configuration menu
    Copy the full SHA
    999defa View commit details
    Browse the repository at this point in the history
  2. feat: Added XmlSerializer to TwinGet.Utils

    Refactor code to use the newly added generic deserializing method for less code duplications when deserializing project files.
    ahuca committed Dec 17, 2023
    Configuration menu
    Copy the full SHA
    ca7554b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a54ca84 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e8c9ea3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0d2aa66 View commit details
    Browse the repository at this point in the history
  6. build: Migrated DTO objects to a TwinGet.AutomationInterface.Dto pr…

    …oject
    
    Updated all projects to .NET 8 for consistency.
    ahuca committed Dec 17, 2023
    Configuration menu
    Copy the full SHA
    308e53d View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. Configuration menu
    Copy the full SHA
    d479d15 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. feat: Added several TwinCAT utils

    - Including `PlcProjectBelongToSolution()` and `IsTwincatProjectFileExtension()`
    - Resolving the appsettings.json absolution path
    ahuca committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    35a9305 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. chore: Extracted test utilities to a separate project Test.Utils

    It used to be under `TwinGet.AutomationInterface.Test` project.
    ahuca committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    b5148dd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c357ee7 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. refactor: extracted TwinGet.AutomationInterface.Dto.Test project

    - Fixed namespace for `PackCommandValidatorTests.cs`
    - Added docs to `Test.Utils`
    ahuca committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    9fe360b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce203c6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    aa4521b View commit details
    Browse the repository at this point in the history

Commits on Dec 25, 2023

  1. Configuration menu
    Copy the full SHA
    c59de25 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cacb5b5 View commit details
    Browse the repository at this point in the history
  3. refactor: Prefered using EnumerateFiles() for lazy evaluation

    Using `Directory.EnumerateFiles()` instead of `Directory.GetFiles()`
    ahuca committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    f9eb89a View commit details
    Browse the repository at this point in the history
  4. test: Removed TwinGet.TwincatInterface.Dto.Test

    DTO classes need not be tested.
    ahuca committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    740afe9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4eae98c View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2023

  1. Configuration menu
    Copy the full SHA
    1b72ce9 View commit details
    Browse the repository at this point in the history
  2. refactor: Extracted some methods at PackageService.cs

    Added more logging information during packaging.
    ahuca committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    02e5f86 View commit details
    Browse the repository at this point in the history
  3. fix: Added missing path comparison to PlcProjectBelongToSolution

    In `TwincatUtils.cs`.
    ahuca committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    cef43d4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c9a8e71 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    30288a6 View commit details
    Browse the repository at this point in the history
  6. refactor: Added validation for solution option

    When a solution is provided, we validate whether the file exists.
    ahuca committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    7230dba View commit details
    Browse the repository at this point in the history
  7. refactor: Remove the library file after we are done packing

    In `PackageService.PackFromProjectFileAsync()`.
    ahuca committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    9851251 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0be36f7 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2023

  1. refactor: Made IPackCommand properties readonly

    - In case for IPackCommand is propagated, we don't really want any side-effects from changing the its members.
    - Also added some functions for safe execute in `Thread` to `PackageService.cs`. For instance, `SafeExecute` and `SafeExecuteAsync`.
    ahuca committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    8f0295c View commit details
    Browse the repository at this point in the history
  2. chore: Updated .editorconfig

    ahuca committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    703aaf6 View commit details
    Browse the repository at this point in the history
  3. build: Added several test projects

    - Migrated `TestTwincatProjectTests.cs` to the new `Test.Test.Utils.Test` project
    - Created `TwinGet.Cli.FuncTest` for functional tests
    ahuca committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    307ccbe View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c1ed35d View commit details
    Browse the repository at this point in the history
  5. test: Added TestDirectory

    ahuca committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    0a8e7bf View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b96d65d View commit details
    Browse the repository at this point in the history
  7. fix: fixed IsManagedLibrary property

    - Extracted `IPlcProjectMetadata`.
    - `TestPlcProject` implements `IPlcProjectMetadata`
    ahuca committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    8b55b13 View commit details
    Browse the repository at this point in the history
  8. refactor: Renamed IPlcProjectMetadata.FilePath

    - To `AbsolutePath`
    - Added `AbsolutePath` to `ITwincatProject` delegating to `EnvDTE.Project.FullName` since `AbsolutePath` is a better name.
    ahuca committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    5c23826 View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2023

  1. refactor: PackCommand.InvokeAsync returns non-zero value

    - When it fail to pack
    - Added some functional tests to `TwinGet.Cli.FuncTest`
    ahuca committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    c8e0534 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a984d55 View commit details
    Browse the repository at this point in the history
  3. ci: Added config.ps1

    - For automation installation of CI tooling.
    - Added husky for running `pre-commit.ps1` which format and compile the code. We don't run tests at this stage and only in CI stage.
    ahuca committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    5901191 View commit details
    Browse the repository at this point in the history
  4. fix: Added return value based on result to PackCommand

    - Added more assertions to `PackCommandTests.Pack_WithUnmanagedPlcProject_ShouldFail()`
    - Added some XML docs
    - Refactored some CI scripts
    ahuca committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    ee407e6 View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2023

  1. refactor: Migrated some implementation from TwincatUtils to `PlcPro…

    …jectFileHelper` [skip ci]
    
    The refactored methods from `TwincatUtils` remains but its logic delegated to `PlcProjectFileHelper`
    ahuca committed Dec 29, 2023
    Configuration menu
    Copy the full SHA
    5ab61cf View commit details
    Browse the repository at this point in the history
  2. ci: Added test reporting

    ahuca committed Dec 29, 2023
    Configuration menu
    Copy the full SHA
    4dadd46 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1f27956 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1e54cbd View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2023

  1. refactor: Reduced resposiblities for TwincatUtils

    - By separating some logics to `ProjectFileUtils` folder/namespace
    ahuca committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    aee2d5d View commit details
    Browse the repository at this point in the history
  2. refactor: Added StaTaskScheduler

    `PackageService` now uses that instead of `Thread`
    ahuca committed Dec 31, 2023
    Configuration menu
    Copy the full SHA
    f38d6ae View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5386e43 View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2024

  1. refactor: Fixed all warnings and some suggestions

    Added try-catch block for `PackFromProjectFileAsync` when saving PLC project as library so we can return gracefully.
    ahuca committed Jan 1, 2024
    Configuration menu
    Copy the full SHA
    a57bf80 View commit details
    Browse the repository at this point in the history
  2. refactor: Added PackagingExceptionExtensions

    With `LogWith` method for logging a `PackagingException` given an `ILogger`
    ahuca committed Jan 1, 2024
    Configuration menu
    Copy the full SHA
    0eccba6 View commit details
    Browse the repository at this point in the history
  3. refactor: Fixed PackageService.SavePlcLibraryAsync

    The use of ThreadLocal with `AutomationInterface` is not good.
    ahuca committed Jan 1, 2024
    Configuration menu
    Copy the full SHA
    c3aa0cc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2109b9f View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2024

  1. refactor: Improved IsManagedLibrary

    `IsManagedLibrary` extracted to a extension method in `PlcProjectMetadataExtensions`
    ahuca committed Jan 2, 2024
    Configuration menu
    Copy the full SHA
    aaa9ef9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7670b88 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2024

  1. refactor: Added pack strategy

    ahuca committed Jan 6, 2024
    Configuration menu
    Copy the full SHA
    4989026 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2024

  1. refactor: cleaned up PlcProjectPackStrategy

    - Renamed methods to match the strategy pattern
    - Removed `DoCustomValidation` as the parameters used to initialize a strategy should have been validated
    ahuca committed Jan 7, 2024
    Configuration menu
    Copy the full SHA
    f89b4d4 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2024

  1. Configuration menu
    Copy the full SHA
    37b6732 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2024

  1. chore: Removed unnecessary launch setting

    By default it launches with only the root command.
    ahuca committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    82588ed View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2024

  1. Configuration menu
    Copy the full SHA
    2703298 View commit details
    Browse the repository at this point in the history
  2. build: Bumped version for some NuGet packages

    Due to [CVE-2024-005](GHSA-68w7-72jg-6qpp).
    ahuca committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    feb6d6e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    90bf6fa View commit details
    Browse the repository at this point in the history
  4. ci: Updated actions/checkout to v4

    Since Node.js 16 actions is being deprecated. See this [blog post](https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/).
    ahuca committed Feb 17, 2024
    Configuration menu
    Copy the full SHA
    d66a262 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2024

  1. Configuration menu
    Copy the full SHA
    d4be1a5 View commit details
    Browse the repository at this point in the history