|
|
Home » U++ TheIDE » U++ TheIDE: Packages » Why each package should reside in its own directory?
Why each package should reside in its own directory? [message #15263] |
Sun, 13 April 2008 19:12  |
Novo
Messages: 1430 Registered: December 2006
|
Ultimate Contributor |
|
|
Directory per project seems to be a strong constraint.
Why not just use a name of an UPP project file to name a project if there is more than one project file in a directory?
Otherwise it is hard to adapt old projects to TheIDE, especially when they are third-party projects and TheIDE is used as a build tool.
Please correct me if I'm wrong.
Regards,
Novo
[Updated on: Sun, 13 April 2008 19:14] Report message to a moderator
|
|
|
|
Re: Why each package should reside in its own directory? [message #15270 is a reply to message #15264] |
Mon, 14 April 2008 17:01   |
Novo
Messages: 1430 Registered: December 2006
|
Ultimate Contributor |
|
|
I do have some experience in commercial software development 
And I’m not saying that packages are a bad idea. 
The problem is that the package system in its current state cannot be used to build non package-organized software. For example, I have a bunch of third-party libraries I’m using in my projects, sometimes I need to improve these third-party libraries. That means that I cannot change structure of somebodies code because I want to keep that code up-to-date using different version control systems, and I cannot use TheIDE to build that code because it is non package-organized.
I also have approximately 50 my own libraries. Many of them are package-organized, but several reside in one directory. Restructuring that bunch of code just to be able to build it under TheIDE is quite painful.
I’ll try to restructure my own code. But what I’m supposed to do with somebodies code?
TIA
Regards,
Novo
[Updated on: Tue, 15 April 2008 22:31] Report message to a moderator
|
|
|
|
Re: Why each package should reside in its own directory? [message #15298 is a reply to message #15280] |
Tue, 15 April 2008 22:27   |
Novo
Messages: 1430 Registered: December 2006
|
Ultimate Contributor |
|
|
masu wrote on Tue, 15 April 2008 05:13 | I would keep them separately and add includes and libs as needed.
Then you can update the external libs as you want and also use it within TheIDE.
It is equivalent of handling for example OpenGL libs within TheIDE.
|
GLCtrl is using a prebuilt version of OpenGL.
In case of prebuilt third-party libraries I would lose such nice features of TheIDE’s like BLITZ, code navigation, and code completion. Actually, I’d like to use BLITZ because in large projects changing of one line of code can cause 15-30 minutes of recompilation. UPP files are easy to create and they work on Windows and Linux.
B.T.W. Creating of a package, which includes only one file, seems to be overkill. (I mean one cpp file per directory.)
Quote: |
You could even use TheIDE's command line feature to automate your building tasks (update external libs, rebuild them, recompile TheIDE project).
I do not see any disadvantages in doing so.
Matthias
|
Sorry, I couldn’t figure out how to use it.
Regards,
Novo
[Updated on: Tue, 15 April 2008 22:29] Report message to a moderator
|
|
|
Re: Why each package should reside in its own directory? [message #15302 is a reply to message #15298] |
Tue, 15 April 2008 23:39   |
Novo
Messages: 1430 Registered: December 2006
|
Ultimate Contributor |
|
|
Novo wrote on Tue, 15 April 2008 16:27 |
Quote: |
You could even use TheIDE's command line feature to automate your building tasks (update external libs, rebuild them, recompile TheIDE project).
I do not see any disadvantages in doing so.
Matthias
|
Sorry, I couldn’t figure out how to use it.
|
I found that in the manual. 
An -h command-line key for umk would make that process much easier. 
Putting command-line keys into first position would make umk even easier to use, because the very first thing I (and probably everybody else) would do is to call "umk -h". It is somewhat complicated to figure out that you have to call "umk assembly package build_method -h" to get a help screen. 
Thanks for pointing out.
Regards,
Novo
[Updated on: Fri, 02 May 2008 03:32] Report message to a moderator
|
|
|
|
|
Re: Why each package should reside in its own directory? [message #18304 is a reply to message #18301] |
Sun, 21 September 2008 22:37   |
Novo
Messages: 1430 Registered: December 2006
|
Ultimate Contributor |
|
|
luzr wrote on Sun, 21 September 2008 14:34 |
Also, sometimes when adopting 3rdparty sources, you can use approach demonstrated in plugin/png...
Mirek
|
In case of plugin/png and other plugins you copy files into plugin/<pakage> directory. I do not want to do that because I want to keep original source code structure, and I want that because I want to be able to update third-party source code from original VCS (CVS, SVN, Mercurial, Monotone, etc).
Another issue with UPP-project files is that project-files use absolute absolute paths. That makes impossible to move project files between computers and different OS. Actually, it is possible, but you need to fix directory names all the time. It is complicated if you have a hundred of them.
Regards,
Novo
|
|
|
Re: Why each package should reside in its own directory? [message #18305 is a reply to message #18304] |
Mon, 22 September 2008 00:23   |
 |
mirek
Messages: 14257 Registered: November 2005
|
Ultimate Member |
|
|
Novo wrote on Sun, 21 September 2008 16:37 |
luzr wrote on Sun, 21 September 2008 14:34 |
Also, sometimes when adopting 3rdparty sources, you can use approach demonstrated in plugin/png...
Mirek
|
In case of plugin/png and other plugins you copy files into plugin/<pakage> directory. I do not want to do that because I want to keep original source code structure, and I want that because I want to be able to update third-party source code from original VCS (CVS, SVN, Mercurial, Monotone, etc).
|
Why cannot your original source code structure start at package folder? (with U++ wrapper if needed).
Quote: |
Another issue with UPP-project files is that project-files use absolute absolute paths. That makes impossible to move project files between computers and different OS.
|
Huh? The main purpose is to AVOID the need for absolute paths. All package file paths are package directory relative, UNLESS you use "Add any file" (which is only for the use in very specific situations).
Mirek
|
|
|
Re: Why each package should reside in its own directory? [message #18308 is a reply to message #18305] |
Mon, 22 September 2008 06:25   |
Novo
Messages: 1430 Registered: December 2006
|
Ultimate Contributor |
|
|
luzr wrote on Sun, 21 September 2008 18:23 |
Why cannot your original source code structure start at package folder? (with U++ wrapper if needed).
|
Because they are big and have complicated structure.
Actually, as I wrote previously, I found a solution.
I can create a fake package structure with no source code in it. The source code resides somewhere else. Absolute and relative path seem to work with project files, but the ability to use environment variables in project files (like SOMETHING_ROOT) would make them even more flexible. (Probably, it is already possible, and I just do not know how to do that.)
Quote: |
Quote: |
Another issue with UPP-project files is that project-files use absolute absolute paths. That makes impossible to move project files between computers and different OS.
|
Huh? The main purpose is to AVOID the need for absolute paths. All package file paths are package directory relative, UNLESS you use "Add any file" (which is only for the use in very specific situations).
Mirek
|
Sorry, it passed a long time since I opened this discussion, so I forgot the details . I meant var-files. I believe they are assembly-files.
Basically, everything is fine with the assembly-package-etc structure. I like BLITZ and I'd like to convert all my projects to TheIDE. It is just not that easy because I have more than fifty of them. I cannot afford to wait for an hour till they all rebuild. So, I'm spending my time developing parsers and project-file generators.
Regards,
Novo
[Updated on: Mon, 22 September 2008 06:27] Report message to a moderator
|
|
|
|
Goto Forum:
Current Time: Sun May 11 14:45:59 CEST 2025
Total time taken to generate the page: 0.03686 seconds
|
|
|