Process for publishing an open source plugin repository?

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
4 years ago
I've got some plugins that I want to move from private Azure DevOps repos to public GitHub.  This will require me to do things the "right way".  Currently I have a branch per version of Nop and each one has the full Nop solution with my plugin in the /Plugins folder.  I run the full solution locally and only commit the changes to the plugin as needed.  

What are other developers doing to have their plugin repo only contain the plugin but still make it easy to build and run?  Eventually I also want to be able to use GitHub actions to build output files on commit/PR merge but I can't seem to do that without the rest of the Nop projects.
4 years ago
One idea I've had is a directory of each version of Nop locally and then my repos clone a matching branch inside the Plugins directory.  This would make local development easy but wouldn't allow the project to build in a CI/CD manner.
4 years ago
AndyMcKenna wrote:
One idea I've had is a directory of each version of Nop locally and then my repos clone a matching branch inside the Plugins directory.  This would make local development easy but wouldn't allow the project to build in a CI/CD manner.


we don't know how other developers are managing but we are managing in this way.

We have created individual repositories of each versions of NopCommerce on github.

However repositories contains only plugins not nopCommerce solutions.

like below

https://github.com/nopcommerce-plugins/plugins-400
-----plugin-1 (Folder)
       ----- Plugin-1 Source
-----plugin-2(Folder)
      ------ Plugin-2 Source
-----plugin-3(Folder)
      ------ Plugin-3 Source

https://github.com/nopcommerce-plugins/plugins-410
-----plugin-1 (Folder)
       ----- Plugin-1 Source
-----plugin-2(Folder)
      ------ Plugin-2 Source
-----plugin-3(Folder)
      ------ Plugin-3 Source

https://github.com/nopcommerce-plugins/plugins-420
-----plugin-1 (Folder)
       ----- Plugin-1 Source
-----plugin-2(Folder)
      ------ Plugin-2 Source
-----plugin-3(Folder)
      ------ Plugin-3 Source


Now tricky part is below.
you need to clone or checkout repository at root level.

Build
Libraries
packages
Plugins
Presentation
plugins-400
Tests
Deploying.Readme.txt
LICENSE.md
NopCommerce.sln

So all your plugins with the same version will save in plugins-400 folder. You just need to add those to your solution from visual studio.


It would be great if you share your other ways better than this so that we can implement it for better productivity.  

Thank you.
4 years ago
Since we also have a lot of plugins that we keep separate repositories, we have developed for ourselves the following working scheme:
1. We have separate source code projects for each version of nopCommerce

2. Plugins are also located in separate folders according to versions and are repositories for Git.

3. In the folders with plugins for each version of nopCommerce, symbolic links to the necessary versions of plugins are created


For convenience, we have a .bat file for creating symbolic links for plugins, in which we change only the paths for a specific version of the plugin


Unfortunately, I think that our scheme is not suitable for CI / CD using GitHub Actions. But maybe it helps you to resolve part of your problems.
4 years ago
That does help because that's exactly what I was thinking.  I definitely want to have each plugin as their own repository and I guess I'll have to just figure out CI/CD down the road.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.