0.25 === * Remove python dependency * **bootstrap: refresh between fetch and build** 0.24 === * Fix releasenotes underscores * Fix xcodebuild path 0.23 === * Added -k options to build, to control cleaning before build. You can now specify the default configurations to build with -c. e.g. `mulle-bootstrap -c "Debug" * Improved library and frameworks searchpath generation. * You can pass build a "-j <cores>" flag, for cmake/make to parallelize the build. * Specify `ARCHS='${NATIVE_ARCH_ACTUAL}' mulle-bootstrap build`, when you want to override the ARCHS setting for an Xcode build. Kinda hackish. * xcodebuild routine does not overwrite `INSTALL_PATH` anymore. * `mulle-bootstrap clean` has **output** as the new default * Fix accidental IFS overwrite problem, resulting in git calls failing * Install brews first, since they might load prerequisites for shell scripts. * Allow user to specify `source_dir` build setting for projects, that do not have CMakeLists.txt or .xcodeproj or configure in the top level. * the Source Code Management system is no longer read from a .scm file, but instead specified in the fourth field of repositories. The default is still git and the only available alternative is still svn. url;name;branch;scm * Improve repository merge order again. * Fix cmake to not always compile with DEBUG options. Allow to supply cmake flags via "cmakeflags" root build setting. 0.22 === * Fix repository order when merging. You should know, that the repository order in `.bootstrap/repositories` needs to be in proper sorted order. Only than can mulle-bootstrap figure out the recursive dependencies correctly. * Allow clone of specific branches by changing the repository spec line to url;name;branch ``` https://www.mulle-kybernetik.com/repositories/mulle-configuration;;MulleFoundation ``` uses the default name, but fetches the MulleFoundation branch. * Huge change: CMake (and configure) are now the prefered build systems even on OS X (if a `CMakeLists.txt` is available). xcodebuild becomes a fallback preference. The reasons are: 1. CMake + Make seem faster than xcodebuild 2. It forces me to keep up the CMakeLists.txt with the Xcode project If you don't like it change the build setting 'build_preferences'. * mulle-bootstrap recognizes that bare repositories need to be cloned more often now, if not always. * Make mulle-bootstrap more resilient against aborted fetches, added Dirty Harry quote. * Uses `CMAKE_EXE_LINKER_FLAGS` and `CMAKE_SHARED_LINKER_FLAGS` instead of `CMAKE_LD_FLAGS`. * Fix wrong --recursive for svn checkout. 0.21 === * Fix a bug when updating * When updating ignore symlinked repositories and do not update embedded repositories of said symlinks. * Fixed option handling, so now -y -v and -v -y are possible. It used to be that the order was -y -v. * Embeded repository settings do not get inherited, from other repos, which is just confusing. * Make the zombiefication code a bit more clever, when expected repos aren't there (yet). 0.20 === * Replace `CLONES_FETCH_SUBDIR` with `CLONESFETCH_SUBDIR`. * mulle-bootstrap now uses the zombie repository detection to actually bury unused repositories. Check out "tests/refresh/refresh.sh" how this actually works. The upshot is, all changes in the repositories settings are now reflected on refresh. * Fix a bug in `combined_escaped_search_path`, which produced ugly and wrong search paths (that didn't matter). * Pass `DEPENDENCIES_DIR` via command line, which fixes some subtle problems with missing libraries, due to -force_load and friends. * Started mulle-bootstrap project. The general idea is to do also manage the project that contains the .bootstrap folder (at least a little bit). So `mulle-bootstrap clone` is now `mulle-bootstrap project clone * Better deep fetch and refresh avoids redoing repositories (could be better though still) * Don't append to log files, overwrite them. * script build shows better info on failure * Fix recursive repository agglomeration to not output duplicate lines * Grep those lines with an exact line match 0.19 === * Forgot a -f on a ln -s , which could result in an irritating output. * Now also refresh before fetching. mulle-bootstrap will now be able to pick up changes in recursive repositories. And fetch additional repos as needed, so you don't need to clean dist. * Produce more helpful output if cmake is missing. * Experimental support for "mulle-bootstrap clone", which will clone and build a remote repository. * Nicer markup for RELEASENOTES.md 0.18 === * Refixed: Fix old favorite bug build_ignore became a directory bug) again ... * Added refresh, which will be called before build and update automatically to rebuild .bootstrap.auto. 0.17 === * Fixed the broken inheritance. The "Always redo bootstrap.auto folder on fetch" fix in 0.15, was in the wrong position. So 0.15 and 0.16 are totally broken releases. Sorry. 0.16 === * Fixed misnamed exekutor. * Fix old favorite bug build_ignore became a directory bug) again ... 0.15 === * `tag` checks in all repositories, that a tag does not exist. * Remove some fluff from regular output. * Fix a bug involving settings copy (build_ignore became a directory bug) * Executed commands are now prefixed with ==> for better readability. * Always redo bootstrap.auto folder on fetch, which means that you don't need to clean dist anymore after editing .bootstrap files. * Forgot to write-protect dependencies, when only partial builds were done. 0.14 === * Fix various uglies. * Make white terminals more happening with color choices. * -v circumvents building into a logfile, which is sometimes more convenient. 0.13 === * Fix colorization by using printf, instead of echo. 0.12 === * Run post-install.sh also on embedded repositories. Sometimes useful, when you need ./configure to produce some headers. * Add parameters to "Executing script" line. * Add "checkout" git flags, to fine tune the clone. But use --recursive per default. 0.11 === * Fixes another stale headers problem. Project is creeping towards a 1.0. 0.10 === * Fetch settings can be platform specific by using the `uname` as a file extension. e.g. repositories.Darwin. Other settings may follow, if the need arises. So far it hasn't. * Added `embedded_repositories`` for those special moments, where you don't want to link another project, but just steal a few files. These gits are installed in your projects root and they are not built. You can not symlink them into your project, just clone them. * Because I needed ancient and dying svn for MulleScion, you can now remap from the default git to svn, by creating a file <reponame>.scm. That contains the string "svn" then. * *** Renamed "gits" to "repositories" *** * Use mulle-bootstrap convert-pre.0.10 ~/src to convert all .bootstrap folders that `find` can find. * Do `mulle-bootstrap -n -v convert-pre-0.10 ${HOME}` to check what it's doing. * Install dummy dirs for xcodebuild too, to avoid boring compiler warnings. * Always overwrite headers, otherwise old and stale headers make life unnecessarily more complicated. 0.9.8 === * Brings more Linux fixes 0.9.7 === * Allow mulle-bootstrap version to work everywhere. 0.9.6 === * Figured out that some terminal windows have a white background (duh). * Fixed shifts for Ubuntu's hated dash. * Fixed some other Linux problems. 0.9.5 === * Messed up the tagging somewhat... 0.9.1 and 0.9.2 were the same and * 0.9.3 doesn't even exist. So now 0.9.5 is the one. * Don't trace environment reads of `MULLE_BOOTSTRAP_ANSWER` and * `MULLE_BOOTSTRAP_VERBOSE`. * Fix xcodebuild log filename generation * Fix dry run some more. * Less output during dispensal, when not using -v. * Reduce usage output to 25 lines. 0.9.1 === * Fix cmake and configure build. 0.9 === * Specifying repos with mulle-bootstrap build <repos> was broken. * Added -y option, so everything is answered YES. I use this all the time. * Log xcodebuild command line into logfile. * Fix useless errors during dry run. * ** Changed the way custom "build.sh" scripts are executed. ** * You can give a xcodeproj to mulle-bootstrap xcode directly, nice for sharing dependencies with many subprojects. * Fixes the collection and dispensal of built frameworks. * Added logging to various 'cd' commands. * Collect and dispense symbolic links for directories too (not just for files) * Beautified output a little bit. * Respect the terse flag (-s) during mulle-bootstrap xcode add. * Add VENDOR_PREFIX to mulle-bootstrap-tag as third parameter. 0.8.1 === * And the fix, just minutes after the "release". warn scripts didn't find a function, and now I have cleaned this up properly, I think. * No more duplicate functions. 0.8 === * Added dist shortcut, because I always like to type "dist-clean". * Allow upper-case user input for yes/no questions. * Write protect dependencies folder, because I have a tendency to edit the headers. * Automatically append boring directories to .gitignore after fetch. * Inverted script default answer, because it pains me. Also it's not useful when using -a to just "breeze" through. * Redirect build logs to "build/.repos/.logs", because especially xcodebuild is just too verbose. 0.7.1 === * Fixed an internal error, when using mulle-bootstrap update. 0.7 === * Added version command 0.6 === * Improve scripts handling and add a some new phases to the proceedings. Actually the whole script stuff didn't work before... * Scripts in general aren't documented yet, because it's still very much in fluctuation. * More output during setting inheritance. Fix proper inheritance of * build_order and build_ignore. * Lots of en-passant bug fixes. Should be in general better than 0.5 * Add -V option. * Added new did-install script phase. Depending on actual usage, I'll probably ditch some of the other phases again. This is all in flux.