Commit Graph

116 Commits

Author SHA1 Message Date
Allan Odgaard
aa96f1f342 Account for tar potentially failing 2014-10-03 21:49:13 +02:00
Allan Odgaard
e92759af78 Ensure we create signature before uploading file
This is so that we do not upload anything if signature creation fails.
2014-10-03 21:49:13 +02:00
Allan Odgaard
e13ec4dc18 Call developer shell tools via xcrun instead of using $xcodedir 2014-09-05 14:31:05 +02:00
Allan Odgaard
de60f228ac Do not assume CC/CXX is a single executable
The downside is that we no longer have our .o files depend on the compiler (so we need to do a clean build after upgrading the compiler) and if there is a space in the path to the compiler, it will fail.

The upside is that we can let CC/CXX be a command with arguments, e.g. ‘xcrun clang’.
2014-09-05 14:05:17 +02:00
Joachim Mårtensson
2df7620b8d Add Ruby 2.0 support for build scripts 2014-08-03 09:05:33 +02:00
Allan Odgaard
d422a21006 Do proper string conversion of non-string values
Only values from the root target goes through this code, so it wasn’t causing a problem, as none of those keys had a multi-element array, but in ruby 2.0 embedding an array in a string seems to use inspect instead of to_s:

	Ruby 1.8: "#{['foo']}" #=> foo
	Ruby 2.0: "#{['foo']}" #=> ["foo"]
2014-08-03 09:05:09 +02:00
Allan Odgaard
dfe38c3708 Set required version of ninja to 1.5 2014-07-24 08:18:50 +02:00
Brad Choate
6172d9ae8f Adding some 2012 committers. 2014-07-22 13:10:46 -07:00
Brad Choate
e94408b0c4 Support a "--warn" switch for gen_html.
Default is to suppress any warnings for unassociated GitHub profiles.
2014-07-22 12:13:35 -07:00
Allan Odgaard
f2387d8d23 Workaround for ruby 2.0 warning (shadowing outer local variable) 2014-07-06 22:42:00 +02:00
Allan Odgaard
1c742b0559 The cap’n proto rule should not be a generator rule
Also change 1 → true for another use of generator (for consistency).
2014-07-05 21:33:29 +02:00
Boris Dušek
320c3ec23a Add contributor emails
In other words, I don't like build warnings of any kind :-)
And they deserve credit for their contributions.
2014-06-29 18:21:50 +02:00
Allan Odgaard
2427464f60 Disable tar’s support for extended attributes and resource forks
A problem has been reported where tar will freeze while extracting the default bundles archive to a networked Application Support folder.

From the bug report (Michael Kuron):

File servers tested: SMB on OS X 10.9.3, AFP on OS X 10.9.3, AFP on OS X 10.6.8, SMB on Windows 2008 R2.

Multiple machines tested.

Using ‘gnutar’ from MacPorts does not show the problem.

Setting ‘COPYFILE_DISABLE=1’ before running tar does not show the problem (the workaround used in this commit).
2014-06-28 17:42:23 +02:00
Allan Odgaard
9f10bd56c7 Set ‘depfile = $out.d’ (may require ninja 1.5 for proper escapes) 2014-06-28 17:42:23 +02:00
Allan Odgaard
cb775822aa Use current ruby (rather than 1.8) for a few helper scripts 2014-06-28 17:42:23 +02:00
Allan Odgaard
42ff7850f3 Switch from gdb → lldb and run in current terminal (ninja 1.5) 2014-04-18 06:40:48 +07:00
Allan Odgaard
2134e957e6 Display progress during upload (ninja 1.5) 2014-04-18 06:40:48 +07:00
Allan Odgaard
e6d8ffed43 Create archive of default bundles by using the server side status 2014-04-14 08:55:06 +07:00
Allan Odgaard
75dc734a87 When tar fails, it does not remove the output file 2014-04-06 19:36:08 +07:00
Boris Dušek
c3088da9a5 Add my work email as contributor address 2014-04-01 14:03:29 +07:00
Allan Odgaard
3bc0c65c7a Introduce variable for where cap’n’proto is installed
Set the `capnp_prefix` variable when calling ./configure.

E.g. build and install cap’n’proto in $HOME/build:

    ./configure --disable-shared --prefix="$HOME/build"
    make -j6 check && make install

Then configure TextMate to find it there:

    capnp_prefix="$HOME/build" ./configure
2014-03-30 11:18:41 +07:00
Allan Odgaard
3aa383a166 GitHub releases API is no longer in preview 2014-02-14 13:35:54 +07:00
Allan Odgaard
d52eda852e Disable timestamp server for code signing
This slows down signing enormously (10+ seconds) and fails most of the time when internet connectivity is suboptimal (might be related to being behind a proxy).
2014-02-10 13:51:04 +07:00
Allan Odgaard
8ff36f3402 Revert "Use custom script to simulate “codesign --deep”"
This reverts commit 434917b1e9.
2014-02-10 13:48:58 +07:00
Allan Odgaard
885325e992 Use netrc for GitHub credentials
This changes the authentication mechanism from passing an authorization token / API key to using basic auth. Basic auth didn’t work when I initially tested the upload API, but hopefully GitHub has since added it (I did request it, but didn’t get a reply, so no idea if the omission was an oversight or by design).
2013-12-13 18:39:24 +07:00
Allan Odgaard
1293828e79 Upload to existing release if it already exists
Creating a release with attachment is non-atomic in that the release is first created and then we upload to that release but our build file has it as a single action, so this action should be able to handle partial success from a previous execution.
2013-12-12 14:11:26 +07:00
Allan Odgaard
72adfe9115 Change ruby syntax: [ foo ].shelljoin → foo.shellescape 2013-12-05 12:14:13 +07:00
Allan Odgaard
f880f3df63 Add credits email hash for rdwampler 2013-12-01 14:59:09 +07:00
Allan Odgaard
9a017f97ff Use GitHub’s (preliminary) API for uploading releases 2013-12-01 14:56:48 +07:00
Allan Odgaard
bc7cbffb0c Add -t/--tag option to bin/upload
Presently unused but mandatory.
2013-12-01 14:49:25 +07:00
Allan Odgaard
d2935f976b Add upload (ninja) target 2013-12-01 14:48:27 +07:00
Allan Odgaard
f80794e3b0 Update shebang to explicitly call ruby 1.8 2013-12-01 14:46:43 +07:00
Allan Odgaard
434917b1e9 Use custom script to simulate “codesign --deep”
The problem is that with a bad internet connection there is a very high probability that “codesign --deep” will fail due to having to contact the timestamp server for each embedded executable object.

Long-term we probably want to sign the sub-targets as they are produced and/or link the entire thing together so that there is only a single sign target (plus embedded plug-ins).
2013-12-01 14:35:09 +07:00
Allan Odgaard
f88c028d97 Only show one warning per missing user when generating credits 2013-11-03 20:37:47 +01:00
Allan Odgaard
78b110dc0e Use /usr/bin/tar instead of gnutar (which is removed on 10.9)
We were using gnutar to avoid the extended header keywords that bsdtar add to the archive (for non-ASCII file names) as those will cause older versions of gnutar (like the one included with 10.8 and earlier) to give warnings/errors when extracting the archive.

Issue #1180
2013-11-03 20:37:47 +01:00
Allan Odgaard
a9a1c38006 Sign embedded bundles
This is required when signing on OS X 10.9.

Although the option is not documented for the version of codesign included with 10.8, using it does not result in an error.

Closes #1158
2013-10-27 11:37:27 +01:00
Allan Odgaard
c5ecf8f6c6 Handle *.c++ files in gen_build
We already handle these when mapping extension to file type.
2013-08-24 01:19:29 +02:00
Allan Odgaard
8a2ad5ed20 Add support for capnp files (build system) 2013-08-16 22:40:09 +02:00
Allan Odgaard
09511a9092 Introduce single function for mapping extension to language 2013-08-16 22:40:09 +02:00
Allan Odgaard
2c55141e47 Support setup functions for tests
Previously this had to be done via global constructor functions but it would seem the execution of these may happen before initialization of global data.
2013-08-16 22:40:08 +02:00
Allan Odgaard
84dc2dd871 Allow a target to use both new and old test system
Presently the new test system cannot be used for (interactive) GUI tests, so we keep the old one until we have that feature in the new.
2013-08-01 19:01:24 +02:00
Allan Odgaard
f0bd118738 Update build (generator) script
Use APP_VERSION instead of APP_REVISION in various target names.

Indicate a few build commands are generators, so that their output is not removed on ‘ninja -t clean’.

Move generated dummy files (for tagging, uploading, deploying, etc.) to sub-directories to reduce noise in build directory.
2013-08-01 11:36:27 +02:00
Allan Odgaard
cdbadad8bd Add script used to update Changes.md 2013-07-31 21:16:47 +02:00
Allan Odgaard
2f4370dc9b Implement ‘-=’ for target files
Presently only for “string keys” like compiler and linker flags.
2013-07-30 23:11:48 +02:00
Jacob Bandes-Storch
847bef3bdd Use @rpath so frameworks can be loaded from the app bundle
@executable_path is the originally-executed program, whereas @loader_path is the program that caused the load to occur (e.g. a Quick Look generator). @rpath can be changed at link time — a QL generator can specify a value that points to the enclosing app bundle’s Frameworks directory.
2013-07-30 22:16:17 +02:00
Jacob Bandes-Storch
5a7bd6c914 Add usernames for missing GitHub email addresses 2013-07-28 21:57:51 +02:00
Jacob Bandes-Storch
80327f7bb7 Modify gen_build to accept keys for copying into nested directories 2013-07-27 19:21:07 -07:00
Allan Odgaard
6f264a2520 Fix issue with reference types used in assertions 2013-07-26 13:53:57 +02:00
Allan Odgaard
a42e93f8b8 Ensure -include «pch» is the first compiler option
This is incase we want to set ‘-include’ via a FLAGS variable, as that only works when it is listed after a potential precompiled header include.
2013-07-21 13:25:29 +02:00
Allan Odgaard
03d72414f3 Specify that dependency files are ‘gcc’ (for ninja 1.3.0) 2013-05-17 15:31:14 +07:00