> 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
>> 
>> 
>> 
> 


Reply via email to