Custom.yaml

Cecil edited this page Oct 31, 2015 · 1 revision

Shoes 3.2.22 introduced a new way to set the paths and local options for building. So far, this only used for building on Windows (for Windows) or building on Linux for Windows. Those are rake file targets 'win7' and 'xwin7'. You specify your unique setting in win7-custom.yaml or xwin7-custom.yaml.

You can still modify the env.rb if you want but that turns out to be problem if two developers are pushing env.rb changes to github - he keeps his dependencies in C:\Sandbox and I keep mine in E:\shoesdepss\mingw. Or I have two dependencies locations (I do) and he has two different Ruby's. Any change made to env.rb has to be undone by the other party. Wasteful and annoying. So we invented *-custom.yaml which are little files that aren't sent or synchronized with github. It's your local settings that get plugged into env.rb.

Here's my win7-custom.yaml:

Deps: E:/shoesdeps/mingw
Ruby: C:/Ruby21
MS-Theme: true 

and my xwin7-custom.yaml

Deps: /home/ccoupe/Projects/shoesdeps/mingw
Ruby: /home/ccoupe/Projects/shoesdeps/mingw/usr/local
MS-Theme: true 
Debug: false

They both happen to build the same thing from the same deps but that is my setup. Now my setup isn't part of env.rb. If I want to build with all the debugging info included, I can set my custom.yaml to do that and no one knows or has to undo my changes to env.rb.

Deps: should be the full path name to where you unziped ShoesDeps.zip (where the bin, etc, include, lib, share folders are)

Ruby:should be the full path name to the Ruby toplevel folder (has bin, include, lib inside) that you want copied in the build. This may not be the location of the Ruby that it running the rake (the build) They can be two different Rubies. In the xwin7 case they have to be different.

Debug:Is 'true' or 'false'. If your *-custom.yaml doesn't have a Debug entry then it's going to assume 'false'

MS-Theme:is 'true' or 'false' (default is false). This setting only works for win7 and xwin7 builds. If set to false (default) the resulting Shoes will have the Look and Feel of earlier Shoes 3.2. If set to true it uses the new with 3.2.22 theme engine.

ENV priority

In the command line or a shell script or .bat you can set the environment variable ENV_CUSTOM with the path to the the .yaml file to use. If set it will be used instead of 'win7-custom.yaml' (or 'xwin7-custom.yaml'). Be careful and understand what you're doing if you use this option. I can imagine a few cases where it might be used - I can think of better ways, too.

custom-yaml for other platforms

This turned out to be half decent idea and has been implemented for all the Tight Shoes builds (mavericks, x86_64_linux, xi686_linux, and expanded to cover other developer/platform parameters. Quite a few other parameters. Like the gems to include in Shoes and where they are located and which version of GTK to use. Let's show what's being used in 3.2.25. This is my xwin7-custom.yaml

Deps: /home/ccoupe/Projects/shoesdeps/mingw
Ruby: /home/ccoupe/Projects/shoesdeps/mingw/usr/local
Gemloc: /home/ccoupe/Projects/gems/shoes
Extloc: /home/ccoupe/Projects/gems/shoes
Exts:
  - ftsearch
  - chipmunk
Gems:
  - hpricot
  - sqlite3
InclGems:
  - sqlite3
  - nokogiri-1.6.6.2-x86-mingw32
  - mini_portile-0.6.2
  - byebug-5.0.0
  - columnize-0.9.0
  - rb-readline-0.5.2
MS-Theme: true 
Debug: false
GtkVersion: 3

Notice the file paths are absolute because it's important. If you're thinking of building you own Shoes and you don't care about sqlite3, chipmunk, byebug then don't include them in yours. You haven't changed any thing at github - those are your local settings. If you want to include a new gem in your Shoes, then you add it here (after building it and copying it to that GemLoc: place - there are wiki articles about that)

Notice the differences with mavericks-custom.yaml

Deps: /usr/local
Zlib: /usr/local/opt/zlib/lib
Gemloc: /Users/ccoupe/Projects/gems/shoes
Extloc: /Users/ccoupe/Projects/gems/shoes
Exts:
  - ftsearch
  - chipmunk
Gems:
  - hpricot
  - sqlite3
InclGems:
  - mini_portile-0.6.2
  - nokogiri-1.6.6.2
  - sqlite3
  - byebug-5.0.0
  - columnize-0.9.0
  - rb-readline-0.5.2
Debug: true
CFLAGS: -DNEW_RADIO

and x86_64-linux-custom.yaml

Ruby: /usr/local
Deps: 
Gemloc: /home/ccoupe/Projects/gems/shoes
Extloc: /home/ccoupe/Projects/gems/shoes
Exts:
  - ftsearch
  - chipmunk
Gems:
  - sqlite3
  - hpricot
InclGems: 
  - sqlite3
  - mini_portile-0.6.2
  - nokogiri-1.6.6.2
  - byebug-5.0.0
  - columnize-0.9.0
  - rb-readline-0.5.2
Debug: false
Gtk:  gtk+-2.0

You do have to read the env.rb to see how the custom.yaml is processed for your platform of interest. Notice there is some consistency across Platforms but it's actually unique to the env.rb that reads it.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.