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

Optimize folder structure part 2 #828

Open
Barsonax opened this issue May 29, 2020 · 0 comments
Open

Optimize folder structure part 2 #828

Barsonax opened this issue May 29, 2020 · 0 comments
Assignees
Labels
DevTool Area: Development tools and environment Discussion Nothing to be done until decided otherwise Editor Area: Duality editor or support libraries Usability Related to API and UI usability

Comments

@Barsonax
Copy link
Member

Barsonax commented May 29, 2020

Summary

In #822 we already did some changes to the folder structure but in the end decided to keep duality itself in the root folder as that was simpler to do since changing the folder structure also impact how a duality game will be published. However it might still be worth to look into changing this after v4 is released.

As of #827 the currently used folder structure is like so:

[Project Folder]
|
+- [Project].sln
|
+- DualityEditor.exe
+- Data
+- Plugins
+- all the other project files and binaries
|
+- Import
|
+- Source
   +- Launchers
      +- GameLauncher
      +- GameEditor
   +- Plugins
      +- GamePlugin

Some optionally desired features:

  • Cleaner folder structure in general where everything has a clear purpose and we are not mixing buildoutput and source in the same folder. This also makes it easier to see what files need to be under source control.
  • Support multi targeting. In this case there might be multiple versions of the DualityLauncher and Editor but only 1 version of the data. So what we need to do is to separate the binaries from the data.
  • Separate the editor and launcher build outputs in separate folders instead of manually excluding files with the publish game functionality. This should also solve some transitive dependency edge cases where libraries that a editor plugin needs are still included in the publish even if the editor is not included.

To achieve these features I propose that we use this folder structure:

[Project Folder]
+- Source
   +- [Project].sln
   +- Launchers
      +- GameLauncher
      +- GameEditor
   +- Plugins
      +- GamePlugin
|
+- Data
|
+- Import
|
+- Duality
   +- net472
       +- Launcher
          +- Plugins
          +- DualityLauncher.exe
          +- all the other binaries
       +- Editor
          +- Plugins
          +- DualityEditor.exe
          +- DualityLauncher.exe
          +- all the other binaries
   +- someothertargetframework
       +- ...
   +- etc...

Obviously some logic has to be changed in duality to achieve this, especially the way we publish a duality game.

This was referenced May 29, 2020
@Barsonax Barsonax added Discussion Nothing to be done until decided otherwise DevTool Area: Development tools and environment Usability Related to API and UI usability labels May 30, 2020
@ilexp ilexp added the Editor Area: Duality editor or support libraries label May 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DevTool Area: Development tools and environment Discussion Nothing to be done until decided otherwise Editor Area: Duality editor or support libraries Usability Related to API and UI usability
Development

No branches or pull requests

3 participants