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

[Remove] ApplicationLogs from Plugin System #3619

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

cschuchardt88
Copy link
Member

@cschuchardt88 cschuchardt88 commented Dec 9, 2024

Description

Removing the plugins will be in a series of one by one.

Removes ApplicationLogs plugin from the Plugin system.

Type of change

  • Optimization (the change is only an optimization)
  • Style (the change is only a code style for better maintenance or standard purpose)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • Unit Tests

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@@ -26,63 +27,61 @@

namespace Neo.Plugins.ApplicationLogs
{
public class LogReader : Plugin, ICommittingHandler, ICommittedHandler, ILogHandler
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will this affect the function in CLI.Plugin? like when we list the plugins, can we still get the ApplicationLogs?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No you will not see ApplicationLogs in the plugins. Future we will not have plugins. It will be features.

@shargon
Copy link
Member

shargon commented Dec 12, 2024

When we talked about moving plugins to release, I didn't know that means removing the plugin and copying the code to core, why?

@Jim8y
Copy link
Contributor

Jim8y commented Dec 12, 2024

When we talked about moving plugins to release, I didn't know that means removing the plugin and copying the code to core, why?

ref #3611. in the last core-dev meeting we discussed this issue. built-in plugins will be released along with the neo-cli. Version management and release is a task of NGD and this has being discussed with NGD as well. But user experience will be the same, they still see plugins in the plugins folder, still has config and dll. The only difference is they dont need to manually install them, but enable them in a config file.

Just a brief explaination of this:

Plugin system in neo has lost its original intention, we dont really have many plugins out there to manage, just a few of them and they are not big. However, maintaining them is way more complex than having them directly integrated into the neo-cli:

  1. the build folders of plugins are seperate from the neo-cli, we can not directly run neo-cli with latest plugin updates. but manually copy them there.

  2. the plugin build output has different structure than the actual plugin folder, we need to manually create folder in neo-cli.

  3. We have to release neo-cli and plugins seperately, with the same version number, yet everytime when we release neo-cli, we have to release all plugins again, they release seperately.

  4. With just a few plugins, user have to install them before using them, as i stated above, we dont have a plugin market with 1000+ plugins, everytime user just install the same plugins.

@cschuchardt88
Copy link
Member Author

When we talked about moving plugins to release, I didn't know that means removing the plugin and copying the code to core, why?

ref #3611. in the last core-dev meeting we discussed this issue. built-in plugins will be released along with the neo-cli. Version management and release is a task of NGD and this has being discussed with NGD as well. But user experience will be the same, they still see plugins in the plugins folder, still has config and dll. The only difference is they dont need to manually install them, but enable them in a config file.

Just a brief explaination of this:

Plugin system in neo has lost its original intention, we dont really have many plugins out there to manage, just a few of them and they are not big. However, maintaining them is way more complex than having them directly integrated into the neo-cli:

  1. the build folders of plugins are seperate from the neo-cli, we can not directly run neo-cli with latest plugin updates. but manually copy them there.
  2. the plugin build output has different structure than the actual plugin folder, we need to manually create folder in neo-cli.
  3. We have to release neo-cli and plugins seperately, with the same version number, yet everytime when we release neo-cli, we have to release all plugins again, they release seperately.
  4. With just a few plugins, user have to install them before using them, as i stated above, we dont have a plugin market with 1000+ plugins, everytime user just install the same plugins.

You cant build them to the a different folder like plugins, they will have to be in the same folder as the neo-cli.exe.

@Jim8y
Copy link
Contributor

Jim8y commented Dec 13, 2024

@cschuchardt88 please dont go this fast, first we only update the output target of the plugins.

src/Neo.CLI/Neo.CLI.csproj Outdated Show resolved Hide resolved
Copy link
Member

@shargon shargon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How can we distinguish between plugins and released plugins?

@Jim8y
Copy link
Contributor

Jim8y commented Dec 13, 2024

How can we distinguish between plugins and released plugins?

why would we need to distinguish them? i mean in the future core and plugins will be together, when we release the neo-cli, plugins are in there. Currently i am suffering this plugin system, i need to debug the plugin in a testnet, but i can not do it cause i can not add breakpoint to plugin, have to manually copy the pdb file there.

@cschuchardt88
Copy link
Member Author

How can we distinguish between plugins and released plugins?

why would we need to distinguish them? i mean in the future core and plugins will be together, when we release the neo-cli, plugins are in there. Currently i am suffering this plugin system, i need to debug the plugin in a testnet, but i can not do it cause i can not add breakpoint to plugin, have to manually copy the pdb file there.

You can add a search path for pdb files in the your IDE or debugger.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants