Status & Roadmap
Authors & License
Funding Ultimate++
Search on this site
Search in forums

SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Packages » Assemblies, Nests, Packages & Main...huh?! (How are these features actually used for a software project)
Assemblies, Nests, Packages & Main...huh?! [message #49415] Tue, 06 February 2018 18:08 Go to next message
Woozle is currently offline  Woozle
Messages: 3
Registered: February 2018
Location: London
Junior Member
Hi, I'm brand new to U++ for please forgive stupid questions from a newbie. A bit of background about me to set the context: I co-wrote enterprise scale C++ applications back in the 90s and also Java Enterprise B2B gateways. Since then I evolved into a IT security professional, but tinkered at home with Java SE on & off over the years. Of late I've got fed up with Java and decided to go back to C++, but discovered I had forgotten so much! Anyway, I stumbled across U++ and thought it looked really good and might overcome some of the verboseness (is that a word?) of C++, so here I am. I've downloaded U++, fired up the IDE and started reading. Trouble is, I was up at 5am today and I am also quite a few years older (hem, hem) than I was back in my C++ days, and I'm just not getting the concept of assemblies, nests, packages and mains in my head, so hoping someone can help (I did read a couple of posts here on the same subject but after several message ping-pongs it just all got confusing).

So, can someone please explain the relationship between these items and how they are used...a diagram or two might help.

Maybe you could explain in another way...Let's say I want to write a number of mathematical functions (or methods, whichever terminology you prefer) and then bundle these up into a library. And let's also say I want to bundle into another library a number of drawing functions....oh, and I want to store a number of image files in a resource. I now want to write a drawing application (MyPaintApp), so I'll be using some GUI controls, writing some application code, linking in these mathematical and drawing functions to the MyPaintApp code and pulling in the images for use as icons for splash, buttons, decoration etc.

So, with assemblies, nests, packages and main in mind, how do I use these to build/store my libraries, resources and application?...

• Where does my maths library live? (...in terms of assemblies, packages etc.)
• Where does my drawing library live? (...in terms of....)
• Where does my application code live? (...in terms of....)
(Bear in mind my libraries and image resources will also be needed when I build my follow up application MyNextGreatApp)
• Where does main fit into this? Do I need a different main for MyNextGreatApp or do I reuse the main I had for MyPaintApp?
• Is an assembly what I would have known way back as a 'Project'?

There are probably other questions around this but you get the idea. I'm hoping for a light bulb moment soon when it suddenly all drops into place, but I need to get this clear in my mind before I move on, as I'm keen to get going with U++.

Many thanks in advance for all guidance offered.
Re: Assemblies, Nests, Packages & Main...huh?! [message #49419 is a reply to message #49415] Wed, 07 February 2018 11:33 Go to previous messageGo to next message
Woozle is currently offline  Woozle
Messages: 3
Registered: February 2018
Location: London
Junior Member
Ok, so here I am replying to my own post. Having played and pondered some more on this, here's what I think is a partial answer, but happy to receive any corrections to my thinking...

• Library code goes into a package (e.g. maths library package, drawing library package)
• Application code goes into a package (e.g. MyPaintApp package, MyNextGreatApp package)
• For what we used to call a 'Project', there will be a package that holds the primary code for the application (Project) in question. This package will be the main package (e.g. MyPaintApp package, MyNextGreatApp package)
• Library packages used by the main package (probably) won't be main packages themselves.
• Thus each new application (MyPaintAppt) will be a different main package from the next application (MyNextGreatApp), although in practice the build settings etc. may be the same or not.
• A collection of packages (whether they be main or not) can be bundled together under an assembly (I guess you might use this if you do projects for different customers, in which case each customer could be an assembly, under which you could bundle a view of all the packages you use for that customer.)

Have I got this right so far?

Still not sure yet where a nest fits into this...
Re: Assemblies, Nests, Packages & Main...huh?! [message #49420 is a reply to message #49419] Thu, 08 February 2018 09:13 Go to previous messageGo to next message
Messages: 1217
Registered: March 2007
Senior Contributor

In my opinion, your impression of the hierarchy is just about right.

The nest is basically a directory (or folder if you like) somewhere in your accessible directory tree that contains a set of sub directories containing packages belonging to that nest. One package per sub directory that is.

An assembly is a collection of nests where all the required packages reside. Likely you will need uppsrc nest to be included in your assembly. Also, the nest holding your main package should be (the first) part of your assembly. For this reason, a default "MyApps" assembly is automatically generated. The main packages you create therein, will have access to other packages in MyApps and also all the packages in uppsrc nest. The other automatically generated "MyApps-bazaar" assembly will additionally have access to all packages contained in the bazaar nest.

If you are just starting up with U++, I suggest you do some investigation (open, read, compile, run ...) in the examples assembly first. And the same goes for the reference assembly too to find out how to correctly utilize different U++ packages available.

Have fun!

Re: Assemblies, Nests, Packages & Main...huh?! [message #49427 is a reply to message #49420] Fri, 09 February 2018 09:48 Go to previous message
Woozle is currently offline  Woozle
Messages: 3
Registered: February 2018
Location: London
Junior Member
Thanks, Tom

Ok so I'm on the right lines. I feel it's starting to take a bit of shape in my mind, as you say best to play and it'll increasingly make sense as I go along. In fact I have been tinkering with some examples so I'll see how it goes.

Previous Topic: Package (Library)
Goto Forum:

Current Time: Fri Jun 21 07:10:17 CEST 2024

Total time taken to generate the page: 0.01869 seconds