Skip to content

Conversation

@cschuchardt88
Copy link
Member

@cschuchardt88 cschuchardt88 commented Sep 20, 2025

Description

Needs PR #4225

Fixed the whole project

  • Added $(PluginOutDir) msbuild property for easy CI work with build targets.
  • No more un needed dll in the OutDir for plugins
  • Updated CI workflow to reflect this PR.

CI Release output will look like this:

https://github.com/cschuchardt88/neo/releases/tag/v3.9.2
Hint: Extract the files to see.

image

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?

  • Test A
  • Test B

Test Configuration:

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

shargon
shargon previously approved these changes Sep 21, 2025
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.

@superboyiii could you test it, the change seems good to me

@cschuchardt88
Copy link
Member Author

cschuchardt88 commented Sep 21, 2025

next step is to output dlls to neo-cli plugins folder after this pr.

@superboyiii
Copy link
Member

superboyiii commented Sep 25, 2025

@superboyiii could you test it, the change seems good to me

Sure

@superboyiii
Copy link
Member

superboyiii commented Sep 25, 2025

Actually some removed dependencies are needed, for example, grpc for OralceService, Swagger related dlll for RestServer. I know this could make it clean but some of the plugins will not work without these dependencies.

@cschuchardt88
Copy link
Member Author

Actually some removed dependencies are needed, for example, grpc for OralceService, Swagger related dlll for RestServer. I know this could make it clean but some of the plugins will not work without these dependencies.

they're if you publish

@superboyiii
Copy link
Member

Actually some removed dependencies are needed, for example, grpc for OralceService, Swagger related dlll for RestServer. I know this could make it clean but some of the plugins will not work without these dependencies.

they're if you publish

I know. But I'm not sure what's this PR aims to? If we'd like to simplify dependency generation as much as possible without affecting functionality and it's able to be debugged after building. If this is our purpose, apparently this PR is not on that way.

@cschuchardt88
Copy link
Member Author

Actually some removed dependencies are needed, for example, grpc for OralceService, Swagger related dlll for RestServer. I know this could make it clean but some of the plugins will not work without these dependencies.

they're if you publish

I know. But I'm not sure what's this PR aims to? If we'd like to simplify dependency generation as much as possible without affecting functionality and it's able to be debugged after building. If this is our purpose, apparently this PR is not on that way.

fixed

@cschuchardt88 cschuchardt88 changed the title [Fix] Plugin's OutDir [Fix] Output Only Needed Dependencies For Plugins Sep 25, 2025
@superboyiii
Copy link
Member

superboyiii commented Sep 25, 2025

Why we remove basic plugins (LevelDB, RocksDB) in CLI‘s bin? It's a good feature before but now they're not there anymore.
image

@superboyiii
Copy link
Member

superboyiii commented Sep 25, 2025

Somewhere is incorrect, I can't start CLI this time:
image
Already added libleveldb.dll and Plugins, they should be there before.
I can start dev CLI, so it's not my environment's fault.
image
By the way, I always have Microsoft Visual C++ Redistributable
image

@cschuchardt88
Copy link
Member Author

@superboyiii fixed now

@superboyiii
Copy link
Member

Why we copy these empty Plugin folders into CLI when building completed?
66226597-926a-4f8a-bdc1-14eda1b9e1b5

@cschuchardt88
Copy link
Member Author

cschuchardt88 commented Sep 26, 2025

Why we copy these empty Plugin folders into CLI when building completed?

It shouldnt be empty. There should be all the files in there. You must not be building it right.

@superboyiii
Copy link
Member

No LevelDB or RocksDB plugin in CLI bin path now...
45910152b21c8544c69d6344b7a9df24

@vncoelho
Copy link
Member

vncoelho commented Oct 9, 2025

@cschuchardt88

Commit fe5d285 needs to be done in this PR or is generic?

@vncoelho
Copy link
Member

vncoelho commented Oct 9, 2025

@cschuchardt88, there are some problems with the plugins.

I checked again dev branch and here introduces some errors, maybe due to config files or something else.

I will double check.

But for now I see that there are compatibilities problems

@vncoelho
Copy link
Member

vncoelho commented Oct 9, 2025

I see here, some plugins were not copied, for example.

AppplicationLogs, OracleService, TokensTracker, StateService

@vncoelho
Copy link
Member

vncoelho commented Oct 9, 2025

No LevelDB or RocksDB plugin in CLI bin path now... 45910152b21c8544c69d6344b7a9df24

The same here @superboyiii , problems with some plugins

@cschuchardt88
Copy link
Member Author

No LevelDB or RocksDB plugin in CLI bin path now... 45910152b21c8544c69d6344b7a9df24

The same here @superboyiii , problems with some plugins

Ill look into it again.

In the meantime try this

dotnet clean
dotnet restore
dotnet build
dotnet run --project ./src/Neo.CLI/

@cschuchardt88 cschuchardt88 mentioned this pull request Oct 12, 2025
16 tasks
@cschuchardt88
Copy link
Member Author

needs #4225

@cschuchardt88
Copy link
Member Author

needs #4225

#4225 is no longer needed for this PR to work. However, unmanaged DLLs won't load until it is merged. But its still ok to merge this PR.

<PackageReference Include="Akka.TestKit.MSTest" Version="1.5.0" />
<PackageReference Include="Moq" Version="4.20.72" />
<PackageReference Include="MSTest" Version="$(MSTestVersion)" />
<PackageReference Include="System.IO.Hashing" Version="9.0.7" />
Copy link
Member

Choose a reason for hiding this comment

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

Why we need to modify the tests packages?

Copy link
Member Author

@cschuchardt88 cschuchardt88 Oct 18, 2025

Choose a reason for hiding this comment

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

All class library projets don't allow the parent to inherit from it! Also if you are using a class from a library and its not included in your project you shouldn't depend on another libraries to include it as a sub-library. Also it will include it in the output!!

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.

6 participants