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
missing automation options #76
Comments
Actually, I was already thinking about this through ~Install/Remove key: https://github.com/3F/DllExport/blob/master/Wizard/ActionType.cs#L42 So I will consider this later anyway, but I'm still not sure about elegant way to manage this. The one of the problems is selecting specific projects. Don't forget, it may be 1, 2, 7, 20+ projects in one solution. Thus you should provide list of id or name or path, probably together with pattern via wildcards/regexp. Then we can provide options, but for example, lot of the same for two or more related projects, ughm ... we should also to think how to avoid this excess: ~
or it may be only through external file like So please also suggest your preferences. |
Hi, thank you for responding. I think configuration file is fine. guid is
not too useful, i would go with just the project names.
regexp/glob string1 - cfg1
regexp/glob string1 - cfg1
It would save a lot of time and eh discontent on the cmake rebuilds :)
…On Mon, Jun 11, 2018 at 5:46 PM, Denis Kuzmin ***@***.***> wrote:
Actually, I was already thinking about this through ~Install/Remove key:
https://github.com/3F/DllExport/blob/master/Wizard/ActionType.cs#L42
So I will consider this later anyway, but I'm still not sure about elegant
way to manage this.
The one of the problems is selecting specific projects. Don't forget, it
may be 1, 2, 7, 20+ projects in one solution. Thus you should provide list
of id or name or path, probably together with pattern via wildcards/regexp.
Then we can provide options, but for example, lot of the same for two or
more related projects, ughm ... we should also to think how to avoid this
excess:
~
- -Install {guid-1} {cfg_format}; {guid-2} {cfg_format}; {guid-3}
{cfg_format}; ...
- -Remove {guid-2}, {guid-3}
or it may be only through external file like -Install {cfg.xml}, or via
some aggregation ~ {part_of_cfg1}:{guid-1},{guid-2};
need to think for different cases
So please also suggest your preferences.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#76 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/Ajnxu7MB2zUfp-ekNrdBriyaY5pEKQ5qks5t7pC6gaJpZM4Uh7DO>
.
|
@davidsanda, another important things that I forgot to say: Neither the project name (I mean Therefore, by default (without user's actions) only relative path to project file (.csproj, .vcxproj, ...) is an unique 'ident'. We can also use the Guid number from .sln definition, but this is another value and story at all. This is official/original internal logic in MS libraries when VS or msbuild works with any projects (searching, loading, parsing, etc). MvsSln follows this rules with some additions, but anyway ... So basically, seems like, we need to implement list only via relative path to project files. Please do not hesitate to comment if someone may have some problems for this way. |
/draft option 1 - *only through configuration file
...
<PropertyGroup Label="Default values to all other unspecified projects">
<DllExportNamespace>System.Runtime.InteropServices</DllExportNamespace>
<PlatformTarget>x86</PlatformTarget>
<DllExportOrdinalsBase>1</DllExportOrdinalsBase>
</PropertyGroup>
<PropertyGroup Condition="..." Label="Specific option only for ClassLibrary2\ClassLibrary2.csproj">
<DllExportNamespace>net.r_eg.DllExport</DllExportNamespace>
<DllExportDDNSCecil>false</DllExportDDNSCecil>
<PlatformTarget>x64</PlatformTarget>
<DllExportOrdinalsBase>0</DllExportOrdinalsBase>
<DllExportGenExpLib>false</DllExportGenExpLib>
<DllExportOurILAsm>false</DllExportOurILAsm>
<DllExportLeaveIntermediateFiles>true</DllExportLeaveIntermediateFiles>
<DllExportTimeout>60000</DllExportTimeout>
<DllExportSkipOnAnyCpu>false</DllExportSkipOnAnyCpu>
<DllExportILAsmCustomPath>$(SolutionDir)bin\</DllExportILAsmCustomPath>
</PropertyGroup>
<PropertyGroup Condition="..." Label="Use default values for ClassLibrary4.csproj from global section" />
...
option 2 - under .net.dllexport.targetsBasically we already have optional external configuration file. Thus we can try to combine this file for both purposes:
|
This is perfect. Path to project file is a logical choice.
…On Mon, Jun 11, 2018 at 11:28 PM, Denis Kuzmin ***@***.***> wrote:
draft 1 - *only through configuration file
- -Install mycfg.xml
- *only* through file - means that we'll not reserve some place for
future console commands like -Install path_to_project_file {...} or
for any its subcommands-Install -project path_to_project_file {...}
- Same format as for *.net.dllexport.targets* file - #49 (comment)
<#49 (comment)>
- This also supports properties by default and properties for specific
projects:
...
<PropertyGroup Label="Default values to all other unspecified projects">
<DllExportNamespace>System.Runtime.InteropServices</DllExportNamespace>
<PlatformTarget>x86</PlatformTarget>
<DllExportOrdinalsBase>1</DllExportOrdinalsBase>
</PropertyGroup>
<PropertyGroup Condition="..." Label="Specific option only for ClassLibrary2\ClassLibrary2.csproj">
<DllExportNamespace>net.r_eg.DllExport</DllExportNamespace>
<DllExportDDNSCecil>false</DllExportDDNSCecil>
<PlatformTarget>x64</PlatformTarget>
<DllExportOrdinalsBase>0</DllExportOrdinalsBase>
<DllExportGenExpLib>false</DllExportGenExpLib>
<DllExportOurILAsm>false</DllExportOurILAsm>
<DllExportLeaveIntermediateFiles>true</DllExportLeaveIntermediateFiles>
<DllExportTimeout>60000</DllExportTimeout>
<DllExportSkipOnAnyCpu>false</DllExportSkipOnAnyCpu>
<DllExportILAsmCustomPath>$(SolutionDir)bin\</DllExportILAsmCustomPath>
</PropertyGroup>
<PropertyGroup Condition="..." Label="Use default values for ClassLibrary4.csproj from global section" />
...
- Easy to implement because of similar logic as for mentioned
.net.dllexport.targets
- -Remove mycfg.xml vice versa.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#76 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AjnxuzfJMwnqRkaSZ3l8bUiQll7Pyf8jks5t7uDrgaJpZM4Uh7DO>
.
|
Good, I've plan to implement this feature via file and seems under an
existing .net.dllexport.targets
@davidsanda, temporarily try to use this external storage for your
settings. I think this is also suitable for your case.
12.06.2018 12:36, davidsanda:
… This is perfect. Path to project file is a logical choice.
On Mon, Jun 11, 2018 at 11:28 PM, Denis Kuzmin ***@***.***>
wrote:
> draft 1 - *only through configuration file
>
> - -Install mycfg.xml
> - *only* through file - means that we'll not reserve some place for
> future console commands like -Install path_to_project_file {...} or
> for any its subcommands-Install -project path_to_project_file {...}
> - Same format as for *.net.dllexport.targets* file - #49 (comment)
> <#49 (comment)>
> - This also supports properties by default and properties for specific
> projects:
>
> ...
> <PropertyGroup Label="Default values to all other unspecified projects">
> <DllExportNamespace>System.Runtime.InteropServices</DllExportNamespace>
> <PlatformTarget>x86</PlatformTarget>
> <DllExportOrdinalsBase>1</DllExportOrdinalsBase>
> </PropertyGroup>
> <PropertyGroup Condition="..." Label="Specific option only for
ClassLibrary2\ClassLibrary2.csproj">
> <DllExportNamespace>net.r_eg.DllExport</DllExportNamespace>
> <DllExportDDNSCecil>false</DllExportDDNSCecil>
> <PlatformTarget>x64</PlatformTarget>
> <DllExportOrdinalsBase>0</DllExportOrdinalsBase>
> <DllExportGenExpLib>false</DllExportGenExpLib>
> <DllExportOurILAsm>false</DllExportOurILAsm>
> <DllExportLeaveIntermediateFiles>true</DllExportLeaveIntermediateFiles>
> <DllExportTimeout>60000</DllExportTimeout>
> <DllExportSkipOnAnyCpu>false</DllExportSkipOnAnyCpu>
> <DllExportILAsmCustomPath>$(SolutionDir)bin\</DllExportILAsmCustomPath>
> </PropertyGroup>
> <PropertyGroup Condition="..." Label="Use default values for
ClassLibrary4.csproj from global section" />
> ...
>
>
> - Easy to implement because of similar logic as for mentioned
> .net.dllexport.targets
> - -Remove mycfg.xml vice versa.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#76 (comment)>,
or mute
> the thread
>
<https://github.com/notifications/unsubscribe-auth/AjnxuzfJMwnqRkaSZ3l8bUiQll7Pyf8jks5t7uDrgaJpZM4Uh7DO>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#76 (comment)>, or
mute the thread
<https://github.com/notifications/unsubscribe-auth/ADGJ_QIyroTKWzwm0SxSmPpumzax-0-eks5t74uOgaJpZM4Uh7DO>.
|
David, I implemented features for additional automation via new actions:
For all cases will be used same I implemented exactly For example:
Now your projects has been cleaned from our tool. But
Will recover one or more missed references from this file. For non-configured solution you can consider it as an Import feature. But some note:
Check this out. 662cb35 / build-90 I'll plan to release public 1.6.1 after #59. Hope for today, or tomorrow :) |
* FIXED: Fixed bug when some methods cannot be exported. Issue #59. * FIXED: Bug 'The node is not parented by this object' when Configuring projects. Issue: #77. * FIXED: Fixed GDI objects leak in Wizard. * FIXED: `-msb` key cannot affect for GetNuTool section. Issue #74. * FIXED: Bug when automatic restoring still uses default keys from manager after configuring with custom `-server`. * FIXED: Problem with double quotes for `-packages` key. * FIXED: Possible incorrect repetition of the relative path for `-packages` key. * FIXED: Possible problem 'The request was aborted: Could not create SSL/TLS secure channel.'. Issue: #77. * FIXED: Possible problem with path when `-msb` key contains round brackets, e.g.: `D:\C\Program Files (x86)\Microsoft Visual Studio\`... * NEW: Implemented features for additional automation. Issue #76. New actions: * `-action Export` * `-action Recover` * `-action Unset` Documentation: https://github.com/3F/DllExport/wiki/DllExport-Manager#automation * NEW: Added proxy support for manager. The common format: `[usr[:pwd]@]host[:port]` Documentation: https://github.com/3F/DllExport/wiki/DllExport-Manager#proxy * NEW: Wizard. Added sorting an projects in main window by its installing status and by availability. * NEW: Wizard. Added filter for list of projects in main wizard window. * NEW: New 'Offline' versions from our packages. See GitHub Releases page. * NEW: Added key to force update `Reference` without PublicKeyToken. Issue #65. * NEW: Added `-force` key for manager to use aggressive behavior, e.g. like removing pkg when updating. Wiki: https://github.com/3F/DllExport/wiki/DllExport-Manager#receiving-new-package-version * NEW: New action `-action Upgrade`. Aggregates an Update action with additions for upgrading. Today's an Upgrade action: ``` DllExport -action Upgrade ... ``` is equal to: ``` DllExport -action Update -mgr-up -force ... ``` Wiki: https://github.com/3F/DllExport/wiki/DllExport-Manager#updating * CHANGED: Case sensitivity for the Action names. * CHANGED: `-action Default` for nothing. * CHANGED: UI layout fixes for -Info form (Thanks @Genteure, Issue #61). * CHANGED: Allows absolute path for `-packages` key. * CHANGED: `-sln-file` key now can affect to `-action Configure` * CHANGED: hMSBuild tool now is also distributed inside root directory of the packages zip & nupkg. Use this for EXP0014 problem: "RunIlAsm. The library manager still cannot be found." Example: https://www.youtube.com/watch?v=zUejJ4vUPGw * CHANGED: Updated GetNuTool v1.6.2 * CHANGED: Updated MvsSln v2.1.0 * OTHER: Some other fixes and changes with manager and wizard. * NOTE: To upgrade configured version: `DllExport -action Upgrade ...` * NOTE: Configuring projects: `DllExport -action Configure ...` * NOTE: Screencasts: * Quick start: https://www.youtube.com/watch?v=sBWt-KdQtoc * Basic examples for C++ and C#: https://www.youtube.com/watch?v=9Hyg3_WE9Ks * Complex types and Strings: https://www.youtube.com/watch?v=QXMj9-8XJnY * NOTE: Our actual wiki - https://github.com/3F/DllExport/wiki * Documentation for manager: https://github.com/3F/DllExport/wiki/DllExport-Manager
It would be awesome, if the projects and options to configure them could be entered via command line to allow for greater automation.
The text was updated successfully, but these errors were encountered: