> On 28 Nov 2017, at 22:08, Torsten Bergmann <asta...@gmx.de> wrote: > > You do not have to use "src" or "repository" - you can store your packages > directly in the root if you > like. You are free to choose. But over time it can "bloat" the topmost level > of your project with the > Smalltalk packages folders and it might get confusing the more packages you > have or the more other > stuff you add to your project. > > Often it depends on personal style or the complexity of the overall contents > of the project. > > Having the code directly in the root is possible but not a good style or to > be recommended - because > often projects include more than just the source code and over time include > more and more things like docu > or other. > > Thats why usually projects are STRUCTURED with subdirectories and these > subfolders helping you or a user of your > project to easily find out about what to expect as contents. Some possible > subdirectories you might find in one or the > other projects are: > > root (Project root dir) > !- src - for source code and source packages > !- bin - for built binaries or executables > !- doc - for documentation, sometimes also "docs" > !- www - for web related stuff that is served via HTTP/webserver > ! !-- css - for stylesheets > ! !-- js - for javascript scripts > ! > !- templates - for templates > !- include - includes (for instance in C/C++ projects) > !- lib - for libraries > !- test - for tests or test drivers > !- third_party - for third party stuff (that is required to run the project) > !- ci - for CI related scripts or other > !- docker - for docker > !- media - for video, pictures or other related project media > !- benchmark - for speed tests and benchmarks > !- config - for configurations > !- etc - for anything else > !- ... > > This is not a complete list and different people prefer a different project > layout. There might be other subfolders. > Often the name varies depending on language or framework. Also some build > technologies enforce a specific layout. > > For example if you work with web applications you often have a layout as > described in [1], with Java software > like maven you usually have no "bin" but a "target" folder, see [2]. There > never was an agreement of a layout that > fits all the needs - so we can only speak about a "typical folder structure". > > Same for files. As files in the root folder I "typically" would expect only a > few files: > - a README.txt or README.md > - a license file > - config files for build systems (like pom.xml for Maven, package.json in > NodeJs/npm, Gruntfile.js for Grunt, bower.json for bower, ...) > - a .travis.yml for travis builds > - ... > > A "src" or "source" subdir is very often used to host the code. Thats why the > Iceberg dialog just allows > to tell in which subfolder of the project Iceberg will find the code if you > structure your project with such > a layout. If you leave it blank all packages are expected in the root folder. > > So you can either put the packages directly into the root like in > > https://github.com/astares/iceberg > > or have a "src" subdirectory or other as in > > https://github.com/pharo-project/pharo > > or many of the other Pharo or non-Pharo projects on GitHub. > > Hope this explains it.
+1000 thanks Torsten :) Esteban > > Bye > T. > > [1] https://www.sohamkamani.com/blog/2015/08/21/frontend/ > [2] > https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html > > >> Gesendet: Dienstag, 28. November 2017 um 20:25 Uhr >> Von: stephan <step...@stack.nl> >> An: pharo-dev@lists.pharo.org >> Betreff: Re: [Pharo-dev] Iceberg workflow >> >> On 28-11-17 19:40, Torsten Bergmann wrote: >>> 2c) Code subdirectory: enter "src" here !!! >> >> Do we really need that? Why would I care about that? >> >> Stephan >> >> >> >