Commit graph

280 commits

Author SHA1 Message Date
David Adam
6d6f67ee67 make_pkg: use a temporary directory rather than just /tmp 2016-05-25 17:11:02 +00:00
David Adam
987f7cafd3 make_tarball: use a temporary directory rather than just /tmp 2016-05-25 16:56:00 +00:00
David Adam
b883e59ee9 make_tarball: search for a tar that supports the options we need 2016-05-25 16:56:00 +00:00
David Adam
79fa4d5c4a make_tarball: allow output to an environment-controlled path 2016-05-25 16:56:00 +00:00
David Adam
23de5908cf make_tarball: minor cleanup 2016-05-25 16:56:00 +00:00
David Adam
8fba36b242 make_tarball: generate SHA-256 hashes, not SHA-1
Closes #3048.
2016-05-23 22:25:57 +00:00
David Adam
85e701f422 build_tools: drop make_deb and description-pak
[ci skip]
2016-05-22 22:54:44 +00:00
David Adam
21fc2decd7 lint, style: use git plumbing commands
Rather than using porcelain commands, try using plumbing for a more
stable interface with less string munging.
2016-05-18 23:00:30 +00:00
Kurtis Rader
b055b8440c enhance the key_reader program
The original `key_reader` program was useful but didn't do much that `xxd`
or `od -tx1z` didn't do. Furthermore, it wasn't built and installed by
default. This change adds features that make it superior to those programs
for decoding interactive key presses and makes it a first-class citizen
like the `fish_indent` program that is always available.

Fixes #2991
2016-05-10 14:11:30 -07:00
Kurtis Rader
0d1d324e9f only deal with files that exist
I noticed while working on an unrelated change that deleting a file caused
`make lint` to behave in an unexpected manner.
2016-05-08 12:08:23 -07:00
Kurtis Rader
e1a706bd77 limit make style-all to fish scripts in share
I noticed that if I've previous done `make test` that a subsequent `make
style-all` attempts to restyle all the fish scripts in the *test* directory.
Those files are transient and not part of the git repository. Limit restyling
all fish scripts just to those in the *share* directory tree. There are a
couple elsewhere in the repo (e.g., *build_tools*) but they can be handled on
an individual basis.
2016-05-03 19:37:27 -07:00
Kurtis Rader
df10b53c0c restyle builtin modules to match project style
Now that the IWYU cleanup has been merged compile all, not just a couple, of
the builtin modules independent of builtin.cpp. That is, no longer `#include
builtin_NAME.cpp` in builtin.cpp. This is more consistent, more in line with
what developers expect, and is likely to reduce mistakes.

Reduces lint errors from 384 to 336 (-13%). Line count from 6307 to 4988 (-21%).

Another step in resolving issue #2902.
2016-04-26 21:58:59 -07:00
Kurtis Rader
1f06e5f0b9 add better support for IWYU and fix things
Remove the "make iwyu" build target. Move the functionality into the
recently introduced lint.fish script. Fix a lot, but not all, of the
include-what-you-use errors. Specifically, it fixes all of the IWYU errors
on my OS X server but only removes some of them on my Ubuntu 14.04 server.

Fixes #2957
2016-04-26 15:02:22 -07:00
David Adam
f28a1c58f3 build_tools/make_pkg: fixups for versioning and Xcode preferences
[ci skip]
2016-04-20 14:54:49 +08:00
David Adam
9aeed0dc06 Merge branch 'Integration_2.3.0'
Merge the pcre2 10.20 to 10.21 update.

Closes #2943.
2016-04-19 16:28:03 +08:00
Aaron Gyes
0fd3f5c0dd Update to pcre2 10.21
Point build tools at 10.21
2016-04-19 11:49:12 +08:00
Kurtis Rader
706bfa70c1 improve the style.fish script
If there are uncommitted changes use `git-clang-format` to limit the style
fixups to the lines being modified.

Refuse to do a `make style-all` if there are uncommitted changes.

Include a fix for the parsing of `git status` output that was recently
incorporated into the lint.fish script.
2016-04-12 19:57:07 -07:00
Kurtis Rader
6431c0de16 fix bug in lint.fish helper script
I just noticed that depending on the state of your working tree there can be
one or more spaces after the modification token and the file name. If there is
more than one space that causes the `string split` to produce unexpected
output.
2016-04-12 18:32:20 -07:00
Kurtis Rader
784b438d4a fix git command in lint.fish script 2016-04-07 13:47:51 -07:00
Kurtis Rader
8e8b5a6481 augment the guide for contributing
Include information about how to deal with lint warnings and suppress
`clang-format` reformatting of blocks of code.

Move information only relevant to developers from the README.md to the
CONTRIBUTING.md document.

Closes #2901
2016-04-05 19:19:57 -07:00
Kurtis Rader
fd1b7ba529 support making fish code match the style guide
This changes implements two new make targets: `style` and `style-all`. These
make it easy to ensure that a change conforms to the project style guides for
C++ and fish code.

Fixes #571
2016-04-04 21:00:43 -07:00
Kurtis Rader
47f1a92cc4 fixes for cppcheck lint warnings
Refine the linting behavior.

Fix several of the, mostly trivial, lint errors.
2016-04-04 14:34:28 -07:00
Kurtis Rader
6fa09e6a70 add make targets to lint the code
Fixes #2818
2016-04-01 16:29:06 -07:00
Kurtis Rader
35cee1e39c remove "doc" make target and rename "user_doc"
Fixes #2874
2016-03-30 19:20:23 -07:00
Ian Ray
9ecd73d956 Generate version numbers for Xcode builds
Teach Xcode to run new script xcode_version_gen.sh before building
the fish_shell and fish_indent targets.  The script generates file
fish-build-version.h for inclusion by fish_version.cpp.

Note that Xcode always runs the script because of the phony target
named force-fish-build-version.h, but fish-build-version.h is only
touched if the contents of FISH-BUILD-VERSION-FILE change.

Fixes #890
2015-09-29 14:55:51 -07:00
David Adam
299a383d98 Makefile: add target for Include What You Use (iwyu)
Requires http://include-what-you-use.org/ and Clang to operate.
Doesn't quite work for the builtin_* collection; that has to be done by
hand.
2015-07-29 21:41:57 +08:00
ridiculousfish
16ad5d3a2e Add cppcheck.sh driver script for running cppcheck 2015-07-25 17:33:34 -07:00
Kevin Ballard
ec5f3d0cc8 Don't require .git before running git-describe
When calculating the version, we don't need to test for the presence of
.git before running `git describe`. This lets us work properly in a
detached work tree if GIT_DIR is set.
2014-10-27 15:46:22 -07:00
Konrad Borowski
c3bacc78c7 Mark unknown versions as unknown. 2014-10-12 15:01:48 +02:00
Mark Griffiths
aed92b9a2c Merge branch 'master' into documentation-update 2014-09-07 16:37:31 +01:00
Mark Griffiths
35e6fb3788 Updated build_doc…sh to run cleanly in Xcode build
If the lexicon input filter isn't specified (as is the case in the
current Xcode project, the script quietly continues without it.
2014-09-03 14:43:26 +01:00
Mark Griffiths
14a7118499 Revert 60b9f8d..e4d6eaf
This rolls back to commit 60b9f8db18.
2014-09-03 14:43:26 +01:00
Mark Griffiths
07f8fc7697 Update autoconf and README for Doxygen 1.8 2014-09-03 14:43:25 +01:00
Mark Griffiths
c900f23662 Add lexicon filter to manpages.
Fixed manpage 'NAME'. Under Doxygen 1.8, the output format has
changed, so the old sed script was leaving man pages with two titles.
2014-09-03 14:43:25 +01:00
ridiculousfish
35f2302352 Pass --always to git describe to ensure we always get a version
number. Hopefully fixes travis-ci. See #1287
2014-02-05 16:20:09 -08:00
David Adam
8cb051d44d use annotated tags only for version checking
Note: if you have previously cloned the repository, the tags for
previous versions have been edited. Use `git fetch --tags` to
synchronise your local copy.
2014-01-24 20:51:06 +08:00
David Adam
2efc0bad1c add correct version number to manpage output 2013-12-01 12:37:29 +08:00
ridiculousfish
460bfc6853 Update OS X make_pkg script to also produce fish.app 2013-10-05 17:06:22 -07:00
ridiculousfish
09ff1e7af0 Update make_tarball.sh to work on Darwin 2013-10-05 01:56:25 -07:00
David Adam (zanchey)
5b5b53872c tarball generation: include config.h.in, set mode and ownership
Include config.h.in as well as configure.

Also sets correct owner, group and mode for all appended files.

Update the mtime of all appended files so that configure and config.h.in
are always newer than configure.ac.

(Fixes many problems introduced by 5023ade7, and makes the commit
message actually true.)
2013-09-13 11:59:03 +08:00
David Adam (zanchey)
1442a2abe8 test documentation: update wording, generate test manual page (closes #734) 2013-09-13 11:59:03 +08:00
David Adam (zanchey)
5023ade7ac tarball generation should build configure script
For the next release, this means that `autoconf` is no longer required
if building from the tarball. The website and documentation should be
updated accordingly at that time.
2013-09-06 10:43:43 +08:00
David Adam (zanchey)
8159f55243 git version generation fixes
- Remove the `version` file created for the tarball after the tarball is finished
- Use the builtin type instead of which.
2013-09-02 20:08:46 +08:00
David Adam (zanchey)
a00b979bb6 tarball contents should match the filename 2013-08-11 23:23:28 +08:00
David Adam (zanchey)
2a06c72113 Generate version numbers dynamically
This commit hooks the Makefile up to generate a FISH_BUILD_VERSION
symbol and kills off PACKAGE_VERSION in .cpp files.

It also modifies the tarball generation script to add the necessary
version file for releases.
2013-08-11 23:13:38 +08:00
David Adam (zanchey)
05563ab11e add git_version_gen: generate a version number from the git tree
Originally from the git sources (GIT-VERSION-GEN)
(C) Junio C Hamano <junkio@cox.net>
Reused under GPL v2.0
2013-08-11 23:13:38 +08:00
ridiculousfish
ce279e9c2d Use gnutar instead of tar for making tarballs 2013-05-17 00:41:06 -07:00
ridiculousfish
7abf6c71ad Typos in the fish OS X package installer rtf file 2013-05-05 02:42:31 -07:00
Tin Tvrtkovic
32c1d50887 Refactored out individual VCS completions.
Autogenerated completions for Mercurial using a recent version (no extensions installed).
2013-04-28 14:54:59 +02:00
ridiculousfish
a81e70350b Teach OS X package builder script to look up the version dynamically 2013-04-13 23:13:18 -07:00
ridiculousfish
22c670c3d3 Replace OS X installer PackageMaker document with a distribution file and script 2013-04-13 02:00:32 -07:00
ridiculousfish
9762a8ca1e Remove xsel from the build
https://github.com/fish-shell/fish-shell/issues/633
2013-03-30 00:13:44 -07:00
ridiculousfish
93dfb6f7d6 Teach build_documentation.sh to not generate the test man page on any platform, or the open man page on OS X. The system man pages are better. 2013-02-16 13:35:59 -08:00
ridiculousfish
3d1ad89963 Teach build_documentation.sh to look in /Applications/Doxygen.app 2013-01-07 19:29:33 -08:00
ridiculousfish
b7c4a4fc3b Teach Xcode how to pass arguments to build_documentation.sh 2013-01-03 15:26:29 -08:00
ridiculousfish
9f33050a32 Change build_documentation to take its paths as arguments, and the Makefile.in to pass them 2013-01-03 15:17:48 -08:00
ridiculousfish
4cb70e8e2a Fix a bad use of test 2012-12-27 21:40:23 -08:00
ridiculousfish
abf3ee6563 Another attempt to make build_documentation.sh work in Linux 2012-12-27 21:39:11 -08:00
ridiculousfish
1a0a3d85ca Try to make mktemp work on Linux 2012-12-27 21:12:22 -08:00
ridiculousfish
1bbac9e5ce Make the Makefile use the new build_documentation.sh script (gulp) 2012-12-27 20:33:13 -08:00
ridiculousfish
efa6e38741 Factored out help_doc generation into build_tools/build_documentation.sh 2012-12-27 17:31:13 -08:00
ridiculousfish
fc898eff65 Move make_vcs_completions.py to build_tools, and eliminate make_completions.py, which was a manage parser - we have a much better one now 2012-12-26 18:57:47 -08:00
Łukasz Niemier
47df1ae40a Remove trailing whitespaces and change tabs to spaces 2012-11-18 11:23:22 +01:00
ridiculousfish
56599621cc Make add-shell correctly handle /etc/shells files that do not end with newlines
Fixes https://github.com/fish-shell/fish-shell/issues/77
2012-07-22 17:00:44 -07:00
ridiculousfish
69ace201f8 Fix for https://github.com/fish-shell/fish-shell/issues/79
Release tarballs with the user docs already build, removing the doxygen dependency
2012-07-09 19:41:51 -07:00
ridiculousfish
4912967eab Large set of changes related to making fish relocatable, and improving the build and install story.
- etc/config.fish and share/config.fish are now "universal" and no longer reference install paths or need to be touched by autotools. They've been removed from config.fish.in to config.fish.
- fish now attempts to determine __fish_datadir and __fish_sysconfdir relative to the path of the fish executable itself (typically by walking up one directory). This means that you can copy the directory hierarchy around and things will still work. The compiled-in paths are used as a backup.
- The fish Xcode project now can build fish natively, without needing autotools.
- Version bumped to 2.0
2012-07-08 15:20:39 -07:00
ridiculousfish
bc9bae0f7f Update make_tarball.sh to respect new branch name 2012-07-01 14:19:39 -07:00
ridiculousfish
b187538339 Bump OS X installer package version 2012-06-05 02:06:44 -07:00
ridiculousfish
e7db18bae2 Added Debian description-pak file 2012-06-02 18:07:11 -07:00
ridiculousfish
51f9ff5389 Updated make_tarball.sh to stop dumping files in the extract directory 2012-05-30 01:06:25 -07:00
ridiculousfish
4986e6e3f9 Fix to set up 10.6 SDK correctly when building on 10.7 2012-05-30 00:27:50 -07:00
ridiculousfish
4afdcf56fc Tweak a few default colors
Fix the make_pkg script to actually build an installable package that doesn't immediately barf
2012-05-29 21:14:19 -07:00
ridiculousfish
92ce84c26a More tweaks to Debian build script 2012-05-25 00:48:39 -07:00
ridiculousfish
9d31e52b2a Updated Debian package build script 2012-05-24 23:58:16 -07:00
ridiculousfish
dcd7d6769d Updated some build scripts 2012-05-24 23:56:07 -07:00
ridiculousfish
87c0e0e971 Tweaked make_deb script 2012-05-22 00:09:39 -07:00
ridiculousfish
6f9a523151 Some tweaks to build tools
Started make_deb.sh for Debian package
2012-05-22 00:05:41 -07:00
ridiculousfish
977c585f8b Made the OS X installer package flat 2012-05-17 19:37:26 -07:00
ridiculousfish
2d3d6e1c17 Added PackageMaker file
Updated make_pkg.sh to use it
2012-05-11 17:26:08 -07:00
ridiculousfish
b0f4ff2879 Added build_tools folder so we can automate release builds 2012-05-10 02:11:28 -07:00