Browse code

* new clean command 'full' is now also the new default

Nat! authored on 01-08-2017 17:40:51
Showing 5 changed files
... ...
@@ -1,3 +1,9 @@
1
+## 3.10.0
2
+
3
+* new clean command 'full' is now also the new default
4
+* new build and root setting . See dox/settings/dispense_style/DISPENSE_STYLE.md
5
+
6
+
1 7
 ### 3.9.3
2 8
 
3 9
 * fix some problems with tar archives
... ...
@@ -27,9 +27,14 @@ brew install mulle-kybernetik/software/mulle-bootstrap
27 27
 Run with sudo:
28 28
 
29 29
 ```
30
+sudo -s
31
+
30 32
 curl -sS "https://www.mulle-kybernetik.com/dists/admin-pub.asc" | apt-key add -
33
+
31 34
 echo "deb [arch=all] http://www.mulle-kybernetik.com `lsb_release -c -s` main" \
32 35
 > "/etc/apt/sources.list.d/mulle-kybernetik.com-main.list"
36
+
37
+apt-get update
33 38
 apt-get -y --allow-unauthenticated install mulle-bootstrap
34 39
 ```
35 40
 
... ...
@@ -19,7 +19,6 @@ Setting Name            |  Description
19 19
 `embedded_repositories` | Repositories to embed, specify the URLs
20 20
 `tarballs`              | Tarballs to install (currently filesystem only)
21 21
 `version`               | mulle-bootstrap version that was used for init
22
-`dispense_style`        | either "configuration-sdk", "configuration" or "none"
23 22
 
24 23
 > None of these settings are required, they are used to control the
25 24
 > **mulle_bootstrap** build processs
... ...
@@ -48,7 +47,6 @@ Setting Name                     |  Description                               |
48 47
                                  | relative to dependencies                   | `/usr/local`
49 48
 `dispense_other_product`         | if the build should dispense other files   | NO
50 49
 `sdks`                           | SDKs to build                              | config setting
51
-`dispense_style`                 | either "configuration-sdk", "configuration" or "none" | "none"
52 50
 `xcode_proper_skip_install`      | assume SKIP_INSTALL is set correctly in    |
53 51
                                  | Xcode project                              | NO
54 52
 `xcode_public_headers`           | Substitute for PUBLIC_HEADERS_FOLDER_PATH  |
... ...
@@ -123,6 +121,7 @@ Setting Name                      |  Description
123 121
                                   | cleans dependencies to avoid surprising       |
124 122
                                   | worked the second time" builds due to a wrong |
125 123
 `configurations`                  | configurations to build                       | Release
124
+`dispense_style`                  | either "auto", configuration-sdk", "configuration" or "none" | "none"
126 125
 `framework_dir_name`              | name of the Frameworks folder                 | `Frameworks`
127 126
 `header_dir_name`                 | name of the headers folder in dependencies.   |
128 127
                                   | e.g. You dislike "include" and favor          |
... ...
@@ -40,6 +40,8 @@ clean_usage()
40 40
 Usage:
41 41
    ${MULLE_EXECUTABLE} clean [command]
42 42
 
43
+   Default clean command is "full".
44
+
43 45
 Commands:
44 46
    build : remove intermediate build files to conserve space. It deletes
45 47
 `echo "${BUILD_CLEANABLE_SUBDIRS}" | sort | sed '/^$/d' | sed -e 's/^/      /'`
... ...
@@ -49,8 +51,9 @@ Commands:
49 51
 ${OUTPUT_CLEANABLE_FILES}
50 52
 ${OUTPUT_CLEANABLE_SUBDIRS}"  | sort| sed '/^$/d' | sed -e 's/^/      /'`
51 53
 
52
-   config : useful if config changes are not picked up
53
-`echo "${CONFIG_CLEANABLE_SUBDIRS}" | sort| sed '/^$/d' | sed -e 's/^/      /'`
54
+   full : useful to pickup config changes and to rebuild
55
+`echo "${CONFIG_CLEANABLE_SUBDIRS}
56
+"${BUILD_CLEANABLE_SUBDIRS}" | sort| sed '/^$/d' | sed -e 's/^/      /'`
54 57
 
55 58
    install : keep only addictions and dependencies
56 59
 `echo "${BUILD_CLEANABLE_SUBDIRS}
... ...
@@ -179,16 +182,20 @@ setup_clean_environment()
179 182
 
180 183
    BUILD_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "clean_folders" "${CLONESBUILD_DIR}
181 184
 ${DEPENDENCIES_DIR}/tmp"`"
185
+
186
+   # OUTPUT is: BUILD +  ...
182 187
    OUTPUT_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "output_clean_folders" "${DEPENDENCIES_DIR}"`"
183
-   CONFIG_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "config_clean_folders" "${BOOTSTRAP_DIR}.auto"`"
188
+
189
+   # INSTALL is: BUILD + ...
184 190
    INSTALL_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "install_clean_folders" "${REPOS_DIR}
185
-${STASHES_DEFAULT_DIR}
186
-.bootstrap.auto"`"
191
+${STASHES_DEFAULT_DIR}"`"
192
+
193
+   # FULL is: BUILD + OUTPUT + ...
194
+   FULL_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "full_clean_folders" "${BOOTSTRAP_DIR}.auto"`"
195
+
196
+   # DIST is: BUILD + OUTPUT + FULL + INSTALL + ...
187 197
    DIST_CLEANABLE_SUBDIRS="`read_sane_config_path_setting "dist_clean_folders" \
188
-"${REPOS_DIR}
189
-${ADDICTIONS_DIR}
190
-${STASHES_DEFAULT_DIR}
191
-${BOOTSTRAP_DIR}.auto"`"
198
+"${ADDICTIONS_DIR}"`"
192 199
 
193 200
    # scrub old stuff
194 201
    if [ -d ".repos" ]
... ...
@@ -328,22 +335,30 @@ clean_execute()
328 335
 
329 336
    setup_clean_environment
330 337
 
338
+   # BUILD
331 339
    case "${style}" in
332
-      build|dist|output|install)
340
+      build|dist|full|output|install)
333 341
          clean_directories "${BUILD_CLEANABLE_SUBDIRS}"
334 342
       ;;
335 343
 
336
-      config)
337
-      ;;
338
-
339 344
       *)
340 345
          internal_fail "Unknown clean style \"${style}\""
341 346
       ;;
342 347
    esac
343 348
 
349
+   # OUTPUT
344 350
    case "${style}" in
345
-      config)
346
-         clean_directories "${CONFIG_CLEANABLE_SUBDIRS}"
351
+      dist|full|output)
352
+         clean_directories "${OUTPUT_CLEANABLE_SUBDIRS}"
353
+         clean_files "${OUTPUT_CLEANABLE_FILES}"
354
+      ;;
355
+
356
+   esac
357
+
358
+   # FULL
359
+   case "${style}" in
360
+      dist|full)
361
+         clean_directories "${FULL_CLEANABLE_SUBDIRS}"
347 362
 
348 363
          if [ -d "${BOOTSTRAP_DIR}.local" ]
349 364
          then
... ...
@@ -357,20 +372,14 @@ clean_execute()
357 372
       ;;
358 373
    esac
359 374
 
375
+   # INSTALL
360 376
    case "${style}" in
361
-      output|dist)
362
-         clean_directories "${OUTPUT_CLEANABLE_SUBDIRS}"
363
-         clean_files "${OUTPUT_CLEANABLE_FILES}"
364
-      ;;
365
-
366
-   esac
367
-
368
-   case "${style}" in
369
-      install)
377
+      dist|install)
370 378
          clean_directories "${INSTALL_CLEANABLE_SUBDIRS}"
371 379
       ;;
372 380
    esac
373 381
 
382
+   # DIST
374 383
    case "${style}" in
375 384
       dist)
376 385
          clean_directories "${DIST_CLEANABLE_SUBDIRS}"
... ...
@@ -445,10 +454,10 @@ clean_main()
445 454
 
446 455
    local style
447 456
 
448
-   style=${1:-"output"}
457
+   style=${1:-"full"}
449 458
 
450 459
    case "${style}" in
451
-      "build"|"config"|"dist"|"install"|"output")
460
+      "build"|"full"|"dist"|"install"|"output")
452 461
          if [ -z "${MINION_NAME}" ]
453 462
          then
454 463
             clean_execute "${style}"
... ...
@@ -207,7 +207,6 @@ _flags_expanded_binpath_value()
207 207
 }
208 208
 
209 209
 
210
-
211 210
 _flags_emit_option_value()
212 211
 {
213 212
    local prefix="$1"