ed336411 |
2.0
===
|
55a86360 |
### YOUR OLD STUFF MAY NOT RUN ANYMORE |
7d49c598 |
Do a `mulle-bootstrap dist clean`.
|
55a86360 |
### YOUR OLD SETTINGS MAY NOT WORK ANYMORE! |
7d49c598 |
Move all repo specific setting directories from
`.bootstrap/settings/<reponame> `
to
`.bootstrap/<reponame>`
|
55a86360 |
### YOUR OLD SCRIPTS MAY NOT WORK ANYMORE!
* Fetch script names have changed. *-install.sh is now *-fetch.sh.
|
7d49c598 |
## Changes |
8f77be37 |
|
f36a470f |
* Add pre-build.sh script phase (for libcurl really) |
ed336411 |
* Brew formulas are now installed locally into "addictions". A folder which
lies besides "dependencies". This is a pretty huge change. By removing pips and
gems, mulle-bootstrap can now claim to do only project relative installs.
* mulle-bootstrap xcode changed to emit a non-xcode project relative
`$(DEPENDENCIES_DIR)` setting. Admittedly an experimental hack. But the old
more proper way, didn't work with cmake generated xcode projects.
* reorganized repository structure a bit |
eff55101 |
* You can now specify ALL (always YES) or NONE (always NO) at the y/n prompt. |
f36a470f |
* Support for MINGW on Windows for cmake and configure (experimental) |
5c4e1033 |
* Finally added a proper dependency resolver |
a3018cdd |
* -f option now recognized by build and fetch
* rewrote mulle-bootstrap so that the files in libexec are included and not |
f36a470f |
executed, which is nicer for less environment pollution and ever so slightly |
a3018cdd |
better performance. |
f36a470f |
* rewrote mulle-bootstrap so that it works on systems, which do not have
symlinks available. This meant that I had to redo the whole settings
inheritance scheme.
* -v is now more interesting to watch |
d2100287 |
* renamed build setting OTHER_CPPFLAGS to OTHER_CXXFLAGS (!) |
8f77be37 |
* UNAME is now simplified and lowercased(!)
* redid the settings merge and inheritance logic. It's now a bit more scrutable. |
7d49c598 |
* removed build_order from settings |
55a86360 |
* script names have changed. For instance, post-install.sh is now post-fetch.sh. |
085db3f3 |
* dist-clean is gone, now dist means "clean dist". You can also say dist clean
it doesn't matter. |
7be3796e |
* don't pollute .gitignore with embedded repositories inside .repos#
* reduced configurability of mulle-bootstrap, since I didn't use it so far much and it slows things down on MINGW
|
ed336411 |
|
020d550a |
1.1
===
* Fix tar install, which was broken
* Fix some wordings |
5fb25a38 |
* You can now put configuration setting like variables into the URL. Like so:
https://${host:-www.mulle-kybernetik.com}:foo.git. Define the host like
a regular fetch setting. `echo "x.y.com" > .bootstrap/host` |
c4ce7ff9 |
* Fix help screen for refresh and update
* Don't complain if there are no dependencies generated |
020d550a |
|
eff55101 |
|
821cd36e |
1.0
===
|
70513e67 |
Version 1.0 breaks compatibility with the previous version. You should "clean"
everything. |
821cd36e |
* **change in the dependencies/ structure**
it's now dependencies/Debug/lib for Debug and dependencies/lib for Release
* The default built is Release only |
70513e67 |
* mulle-bootstrap tag can now '-f' force tags and '-d' delete tags |
821cd36e |
* mulle-bootstrap no longer places headers into `dependencies/usr/local/include`
but just into `dependencies/include`
* the 'tag' command is now less powerful. It just tags the fetched repositories, |
70513e67 |
because that's mulle-bootstraps scope. The tag 'script facility' has been |
821cd36e |
eliminated.
* new clean target "install" |
15af882e |
* removed convert-pre-0.10 and ibuild commands |
70513e67 |
* ConsoleMovies are gone, I am too lazy to maintain them. |
a75ed0ba |
* Improve generation of -F and -L flags in cmake and configure
* cmake and configure always add `/usr/local/include` and link with `/usr/local/lib`
(mostly due to brew installing dependencies there).
* redid the verbosity logging with -v, -vv , -vvv, -t |
94eb4f61 |
* clean before build is no longer the default
|
821cd36e |
|
4aa41e69 |
0.26
===
* Check library scripts version vs. executable version (paranoia)
* Skip Dirty Harry with -f flag.
* improve FAQ a little
* Reverse oder of repositories when updating, because this catches deep |
58c301d4 |
renames. Update now also fetches repositories, if they aren't there
yet.
* Make the Dirty Harry check less foolproof, but also less annoying.
|
cbf01546 |
0.25
===
* Remove python dependency
* **bootstrap: refresh between fetch and build**
|
fdd375ea |
0.24
===
* Fix releasenotes underscores
* Fix xcodebuild path
|
61fc7238 |
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. |
6d5e9672 |
* xcodebuild routine does not overwrite `INSTALL_PATH` anymore.
* `mulle-bootstrap clean` has **output** as the new default |
61fc7238 |
* Fix accidental IFS overwrite problem, resulting in git calls failing |
bf4c7902 |
* Install brews first, since they might load prerequisites for shell scripts. |
6d5e9672 |
* Allow user to specify `source_dir` build setting for projects, that do |
bf4c7902 |
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. |
6d5e9672 |
url;name;branch;scm
|
bf4c7902 |
* Improve repository merge order again.
* Fix cmake to not always compile with DEBUG options. Allow to supply
cmake flags via "cmakeflags" root build setting.
|
61fc7238 |
|
602ae7d9 |
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 |
6d5e9672 |
on OS X (if a `CMakeLists.txt` is available). xcodebuild becomes a fallback |
602ae7d9 |
preference. The reasons are: |
6d5e9672 |
1. CMake + Make seem faster than xcodebuild |
602ae7d9 |
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. |
6d5e9672 |
* Uses `CMAKE_EXE_LINKER_FLAGS` and `CMAKE_SHARED_LINKER_FLAGS` instead of
`CMAKE_LD_FLAGS`. |
602ae7d9 |
* Fix wrong --recursive for svn checkout.
|
fcfae396 |
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).
|
7a4ae0c8 |
0.20
=== |
f146fd2e |
|
6d5e9672 |
* Replace `CLONES_FETCH_SUBDIR` with `CLONESFETCH_SUBDIR`. |
7a4ae0c8 |
* 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). |
6d5e9672 |
* Pass `DEPENDENCIES_DIR` via command line, which fixes some subtle problems |
7a4ae0c8 |
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 |
0109072d |
* Better deep fetch and refresh avoids redoing repositories (could be
better though still) |
f146fd2e |
* 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
|
7a4ae0c8 |
|
290ab3f7 |
0.19
=== |
7a4ae0c8 |
* 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 |
290ab3f7 |
pick up changes in recursive repositories. And fetch additional repos as
needed, so you don't need to clean dist. |
7a4ae0c8 |
* Produce more helpful output if cmake is missing.
* Experimental support for "mulle-bootstrap clone", which will clone and build |
290ab3f7 |
a remote repository. |
7a4ae0c8 |
* Nicer markup for RELEASENOTES.md |
290ab3f7 |
|
b11d86bc |
0.18
=== |
7a4ae0c8 |
* Refixed: Fix old favorite bug build_ignore became a directory bug) again ...
* Added refresh, which will be called before build and update automatically |
b11d86bc |
to rebuild .bootstrap.auto.
|
700d4f51 |
0.17
=== |
7a4ae0c8 |
* Fixed the broken inheritance. The "Always redo bootstrap.auto folder |
700d4f51 |
on fetch" fix in 0.15, was in the wrong position. So 0.15 and 0.16 are
totally broken releases. Sorry.
|
e3c8618a |
0.16
=== |
7a4ae0c8 |
* Fixed misnamed exekutor.
* Fix old favorite bug build_ignore became a directory bug) again ... |
e3c8618a |
|
23cfa536 |
0.15
=== |
7a4ae0c8 |
* `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 |
23cfa536 |
to clean dist anymore after editing .bootstrap files. |
7a4ae0c8 |
* Forgot to write-protect dependencies, when only partial builds were done. |
23cfa536 |
|
1b26e970 |
0.14
=== |
7a4ae0c8 |
* Fix various uglies.
* Make white terminals more happening with color choices.
* -v circumvents building into a logfile, which is sometimes more convenient. |
1b26e970 |
|
3882a58c |
0.13
=== |
7a4ae0c8 |
* Fix colorization by using printf, instead of echo. |
3882a58c |
|
57730883 |
0.12
=== |
7a4ae0c8 |
* Run post-install.sh also on embedded repositories. Sometimes useful, when |
57730883 |
you need ./configure to produce some headers. |
7a4ae0c8 |
* Add parameters to "Executing script" line.
* Add "checkout" git flags, to fine tune the clone. But use --recursive |
57730883 |
per default.
0.11
=== |
7a4ae0c8 |
* Fixes another stale headers problem. Project is creeping towards a 1.0. |
57730883 |
|
fe01cf28 |
0.10 |
19a91594 |
=== |
7a4ae0c8 |
* Fetch settings can be platform specific by using the `uname` as a file |
23cfa536 |
extension. e.g. repositories.Darwin. Other settings may follow, if the need
arises. So far it hasn't. |
6d5e9672 |
* Added `embedded_repositories`` for those special moments, where you don't want |
7fdfcd11 |
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 |
fe01cf28 |
your project, just clone them. |
7a4ae0c8 |
* Because I needed ancient and dying svn for MulleScion, you can now remap |
7fdfcd11 |
from the default git to svn, by creating a file <reponame>.scm. That contains |
7a4ae0c8 |
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 |
6d782b8f |
unnecessarily more complicated.
|
19a91594 |
0.9.8
=== |
7a4ae0c8 |
* Brings more Linux fixes |
19a91594 |
|
d5a9eaee |
0.9.7
=== |
7a4ae0c8 |
* Allow mulle-bootstrap version to work everywhere. |
d5a9eaee |
|
2d8f68ea |
0.9.6
=== |
7a4ae0c8 |
* Figured out that some terminal windows have a white background (duh).
* Fixed shifts for Ubuntu's hated dash.
* Fixed some other Linux problems. |
2d8f68ea |
|
16b407c7 |
0.9.5 |
b6db9b87 |
=== |
7a4ae0c8 |
* 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. |
16b407c7 |
|
6d5e9672 |
* Don't trace environment reads of `MULLE_BOOTSTRAP_ANSWER` and
* `MULLE_BOOTSTRAP_VERBOSE`. |
7a4ae0c8 |
* Fix xcodebuild log filename generation
* Fix dry run some more.
* Less output during dispensal, when not using -v.
* Reduce usage output to 25 lines. |
eaa65bf9 |
|
93bd7113 |
0.9.1
=== |
7a4ae0c8 |
* Fix cmake and configure build. |
93bd7113 |
|
422c21da |
0.9
=== |
7a4ae0c8 |
* 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 |
422c21da |
sharing dependencies with many subprojects. |
7a4ae0c8 |
* 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. |
422c21da |
0.8.1
=== |
7a4ae0c8 |
* And the fix, just minutes after the "release". warn scripts didn't |
422c21da |
find a function, and now I have cleaned this up properly, I think. |
7a4ae0c8 |
* No more duplicate functions. |
422c21da |
|
a7b563e1 |
0.8
=== |
7a4ae0c8 |
* 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 |
a7b563e1 |
the headers. |
7a4ae0c8 |
* Automatically append boring directories to .gitignore after fetch.
* Inverted script default answer, because it pains me. Also it's not |
a7b563e1 |
useful when using -a to just "breeze" through. |
7a4ae0c8 |
* Redirect build logs to "build/.repos/.logs", because especially |
a7b563e1 |
xcodebuild is just too verbose.
|
49b677c4 |
0.7.1
=== |
7a4ae0c8 |
* Fixed an internal error, when using mulle-bootstrap update. |
49b677c4 |
|
18907b05 |
0.7
=== |
7a4ae0c8 |
* Added version command |
18907b05 |
|
d7f96955 |
0.6
=== |
7a4ae0c8 |
* Improve scripts handling and add a some new phases to |
2d8f68ea |
the proceedings. Actually the whole script stuff didn't work before... |
7a4ae0c8 |
* Scripts in general aren't documented yet, because it's still very much |
d7f96955 |
in fluctuation.
|
7a4ae0c8 |
* More output during setting inheritance. Fix proper inheritance of
* build_order and build_ignore. |
d7f96955 |
|
7a4ae0c8 |
* Lots of en-passant bug fixes. Should be in general better than 0.5 |
d7f96955 |
|
7a4ae0c8 |
* Add -V option. |
1e8d5d86 |
|
7a4ae0c8 |
* Added new did-install script phase. Depending on actual usage, I'll |
1e8d5d86 |
probably ditch some of the other phases again. This is all in flux. |