Commit graph

310 commits

Author SHA1 Message Date
Steve Purcell
7eea9a4aa1 Add missing package-build-stable var 2014-03-27 13:35:58 +00:00
Donald Curtis
b1efca47e0 write-pkg-readme requires the target dir
another typo fix for packages.
2014-03-25 01:33:48 -04:00
Donald Curtis
ccf8a94667 Fix typo from stable import. 2014-03-25 01:29:45 -04:00
Donald Curtis
b350df249c Enable stable package building for git.
Builds in the plumbing for checking out stable versions of git/github packages.

Contributions by @Bruce-Connor and @Wilfred.
2014-03-23 18:12:20 -04:00
Donald Curtis
90c421c6df create archive directory if it doesn't exist 2014-03-23 17:42:50 -04:00
Steve Purcell
686ee3a775 Print a warning when :files is redundant
If a :files spec is provided and expands to the same set of files as
package-build-default-files-spec, then print a warning.
2014-02-21 10:01:54 +00:00
Steve Purcell
b18abf016c Update copyright year 2014-02-21 09:35:23 +00:00
Steve Purcell
a333ded641 Fix up checkdoc warnings 2014-02-16 09:26:21 +00:00
Johan Andersson
771e764786 Skip trash argument for delete-directory function.
Emacs <= 23 does not support this argument.
2014-02-15 14:52:19 +01:00
Donald Curtis
314674b9e6 run makeinfo from the directory containing input
fixes #1097
2014-02-14 23:48:24 -05:00
Donald Curtis
c30e7917f4 add .dir-locals.el to the list of excluded files 2014-02-06 23:34:56 -05:00
Steve Purcell
56116ebaf7 Provide :branch for git recipes
See https://github.com/cask/cask/issues/136
2014-02-06 20:32:13 +00:00
Steve Purcell
70ddd52881 Don't assume *-readme.txt files should always be written to package-build-archive-dir
Fixes #1463
2014-02-04 16:43:13 +00:00
Steve Purcell
bfba389ab0 Fix conditional default-directory 2014-01-31 08:39:28 +00:00
Steve Purcell
0c167860b3 Check for existence of working directory when running a process 2014-01-31 08:20:39 +00:00
Steve Purcell
8dc0fd3a35 Ensure default-directory ends with a slash
See #1431, #1444
2014-01-31 08:17:06 +00:00
Steve Purcell
f30a6707a6 Don't bind default-directory to working-dir on checkout
This reverts commits d7f413f and bf2d52b

See #1444
2014-01-30 14:43:52 +00:00
Johan Andersson
bf2d52b26b Default directory should end with slash.
We can only do that if the directory already exist.  But sometimes the
command that is to be run is what creates the directory, hence it does
not exist.  So we only end with slash if the directory exists.
2014-01-28 19:07:07 +01:00
Johan Andersson
4a0b7b0163 Improve debug information when running process fail. 2014-01-28 19:06:30 +01:00
Johan Andersson
f3ea2a3c60 Allow symbol or string for building package.
This makes sense since functions such as package-build-checkout take a
symbol as argument.  Preferably package-build should use one of them all
over place and not mix.
2014-01-28 19:04:50 +01:00
Johan Andersson
d7f413f039 Bind default-directory to working-dir on checkout.
Without this, actions in resp. checkout function will affect the project
that is currenly `default-directory`.
2014-01-28 14:22:38 +01:00
Steve Purcell
58b7799a69 Include "doc/dir" in the default :files list
See https://github.com/flycheck/flycheck/issues/274
2014-01-27 18:04:52 +00:00
Steve Purcell
bd34c21623 Revert "Start handling extra package properties such as URL, keywords"
This reverts commit b65bdcfa2b.
2014-01-15 08:32:33 +00:00
Steve Purcell
a555fea6d9 Re-use existing function for determining path of .entry file 2014-01-14 21:22:25 +00:00
Steve Purcell
b65bdcfa2b Start handling extra package properties such as URL, keywords
For now, we just ensure that the info parsed out of source .el and -pkg.el
files gets preserved in the built packages and archive-contents digest.

See #1233
2014-01-14 21:22:25 +00:00
Steve Purcell
cce51eaae3 Make file spec expansion function public after all
See #1274
2014-01-03 19:04:21 +00:00
Steve Purcell
c05a403945 Expand file list specs in package-build-package for a more convenient API
The expansion functions therefore become private once again.

See #1274.
2014-01-03 18:27:32 +00:00
Steve Purcell
2e01dc88a5 Make file list expansion a public function, and adjust package-build-archive API
See #1274
2014-01-03 17:36:00 +00:00
Steve Purcell
8e8c937ac5 Fix typo in autoload cookie 2014-01-03 17:36:00 +00:00
Steve Purcell
35850157e2 Provide package-build-verbose, and use it to control message logging
See #1274
2013-12-28 12:23:37 +00:00
Steve Purcell
1ada1121af Provide package-build-checkout as a public function
See #1274
2013-12-28 12:14:54 +00:00
Johan Andersson
78638dd0f2 Load json-fix without message. 2013-12-28 09:50:35 +01:00
Donald Curtis
c9a5c08e5e Use timezone info when parsing log timestamps. 2013-12-06 21:32:14 -08:00
Donald Curtis
52368184e5 Try to parse git log timezone information. 2013-12-06 20:43:31 -08:00
Steve Purcell
b5551d6609 Use --first-parent to include merge commits in git log search for change dates 2013-12-06 08:26:20 +00:00
Steve Purcell
75d39c590c Revert "look at merge commits for git repos as these should effect the version number"
This reverts commit fe8c32952e.
2013-12-06 08:23:57 +00:00
Melpa
fe8c32952e look at merge commits for git repos as these should effect the version number 2013-12-03 22:53:00 -08:00
Steve Purcell
8f337ec5ff When updating git repos, also grab and update submodules
See #1213, re. yasnippet
2013-12-02 09:34:54 +00:00
Steve Purcell
b564228de0 Re-apply "Neater display of build results" commit (lost in fasterbuild merge?) 2013-12-02 09:26:35 +00:00
Donald Curtis
49495e9b06 Allow for builds to run simultaneously.
By recording each package's archive-entry separately we are able to
build each recipe independently and then compile the archive contents
afterwards.
2013-11-25 16:52:09 +00:00
Steve Purcell
0d5cbbc41a Neater display of the results of building a package interactively 2013-11-13 20:12:14 +00:00
Steve Purcell
bec4005772 Don't pretty-print archive-contents
This step can take many seconds, and is performed for every package build.
2013-11-13 20:07:00 +00:00
Donald Curtis
8bc9315d36 Add case-insensitive compare for package name.
This makes it so single-file packages will be compared with the recipe
name in a case-insensitive way.

Closes #1106
2013-11-12 20:53:17 -08:00
Steve Purcell
2395623558 Check for response code from emacswiki
See #1151
2013-11-05 14:26:06 +00:00
Steve Purcell
c4fa0ea263 Fix extraction of wiki timestamps in Emacs HEAD 2013-10-20 10:26:19 +01:00
Steve Purcell
7fa83afc1c Also exclude "tests.el" by default 2013-10-19 16:54:58 +01:00
Steve Purcell
5bfcbb77a8 Refuse to build single-file packages where source file name mismatches
If a package is called "foo", but contains only "bar.el", then the
package is arguably broken: the result will be a "foo.el" with the
contents of "bar".

This commit detects that situation and fails the package build.

/cc @milkypostman -- let's see what this breaks.
2013-10-04 14:00:29 +01:00
Steve Purcell
b41bb364f9 Call check-parens when building packages interactively (see #930) 2013-08-06 15:15:54 +01:00
Steve Purcell
0c91eb0787 If available, wrap shell commands using GNU "timeout" to enforce a 30 minute limit 2013-07-24 15:40:59 +01:00
Steve Purcell
74c5af6e1a Include *.el.in in the default files list, and rename to .el on copy 2013-07-22 10:11:44 +01:00
Steve Purcell
42f3015298 Ensure we use vectors for parsed package info, even in Emacs HEAD
`package-buffer-info` in Emacs HEAD now returns CL structs, which
subtly breaks package-build, since they still kinda look like vectors.

This commit introduces a wrapper for `package-buffer-info` so that we
get the same sort of data back in any Emacs version.
2013-07-22 10:10:28 +01:00
Donald Curtis
206f042576 fix to problem of parsing csv dates
closes #859
2013-07-10 00:08:31 -07:00
Donald Curtis
528b1320a7 fix eldoc typo and indentation 2013-07-08 23:52:06 -07:00
Donald Curtis
1636f0caa0 don't assume positive timezone offset
closes #859
2013-07-08 23:35:34 -07:00
Steve Purcell
d89cc499c5 Better method of showing archive-contents after building recipe
This removes a redundant "changed on disk" prompt when the file is
already open.
2013-06-02 10:54:19 +01:00
Steve Purcell
af903d39cf Send output from info commands to "*package-build-info*" (see #786) 2013-05-29 09:29:48 +01:00
Donald Curtis
ba57a4e35f cleanup the info building code
use dolist instead of cl-loop

don't overwrite info files

remove texi files in the destination directory
2013-05-27 12:08:11 -05:00
Donald Curtis
65d2daafe5 don't force build of info files 2013-05-27 12:07:31 -05:00
Donald Curtis
fecc3a31fa exclude texi(nfo)? files from the final archive 2013-05-27 09:25:05 -05:00
Donald Curtis
4cdf235762 exclude -test.el and -tests.el in default :files 2013-05-27 09:00:35 -05:00
Donald Curtis
946c19b1df add texinfo as a valid default extension 2013-05-26 15:18:51 -05:00
Donald Curtis
c59e177fba force build info files and ignore errors
some files will not build but we try to generate the info anyways,
despite errors.
2013-05-26 15:18:51 -05:00
Wilfred Hughes
c5157b46ac Generate .info and dir files.
Signed-off-by: Donald Curtis <dcurtis@milkbox.net>
2013-05-26 10:01:22 -05:00
Donald Curtis
3cd2169111 Revert "Generate .info and dir files."
This reverts commit 7ce4353889.

Unintentionally pushod to master branch.
2013-05-22 17:46:47 -05:00
Wilfred Hughes
7ce4353889 Generate .info and dir files.
Signed-off-by: Donald Curtis <dcurtis@milkbox.net>
2013-05-22 17:45:32 -05:00
Steve Purcell
53c0639d2a Don't enable any local variables while building packages
See bbatsov/zenburn-emacs#107
2013-05-13 15:47:16 +01:00
Steve Purcell
8a1a7f521f Adjust description line in package-build.el 2013-05-13 08:16:19 +01:00
Donald Curtis
05f660e639 add :exclude handler
closes #709
2013-05-11 18:27:10 -05:00
Steve Purcell
d9ccbfc38d Just add "[wiki]" etc to package descriptions, not "[source: wiki]" 2013-05-09 12:32:36 +01:00
Donald Curtis
9e60d5e557 look for -pkg.el.in file in pkg-source directory
in case the `package.el` file is located in a subdirectory of the repository, we should look for the `package-pkg.el.in` file in that subdirectory.
2013-05-02 21:34:41 -05:00
Steve Purcell
ba91624a44 Update copyright dates 2013-04-25 12:10:51 +01:00
Steve Purcell
54da4472bf Merge pull request #645 from milkypostman/cl-lib
Switch from cl to cl-lib
2013-04-08 01:10:39 -07:00
Donald Curtis
4f70dda369 don't delete the archive until a proper checkout, in case of error 2013-04-07 23:59:24 -05:00
Steve Purcell
aca476a4f8 Switch from cl to cl-lib 2013-04-07 15:29:04 -05:00
Steve Purcell
dd4983d59c Slightly tidier code for rewriting Version -> X-Original-Version 2013-04-07 11:05:06 +01:00
Steve Purcell
8302f8d308 Save upstream Version header line as X-Original-Version
Closes #659
2013-04-07 11:02:27 +01:00
Donald Curtis
8d535c49ca make remove message go do stderr 2013-04-01 12:43:10 -05:00
Steve Purcell
832741b2bb Fix elint warnings about error symbol in condition-case 2013-03-31 12:25:47 +01:00
Donald Curtis
1de33588fc always remove the old archive before rebuilding 2013-03-28 17:12:52 -05:00
Donald Curtis
c7eb3ce90b improve removing of an archive
- removing an archive removes the file but doesn't dump the archive-contents each time
- removing an archive also removes the corresponding readme file
2013-03-28 17:12:52 -05:00
Donald Curtis
d2de69278e use archive-file-name for find-package-file
removes some duplicated functionality
2013-03-28 17:12:52 -05:00
Donald Curtis
27a8d21c6f add initialization variables for the internal lists since they can be nil 2013-03-28 17:12:52 -05:00
Steve Purcell
98663a34f8 Just warn if single-file packages are non-compliant
(Closes #625)
2013-03-28 20:05:25 +00:00
Steve Purcell
0dca11c434 Ensure backup files are not created during single-file package build 2013-03-28 15:31:34 +00:00
Steve Purcell
52de0cde23 Add "foo.el ends here" trailing lines to single-file pkgs if missing
See #625
2013-03-28 15:22:15 +00:00
Steve Purcell
3e2e2e059e Restrict local variables when opening package source files 2013-03-28 13:50:57 +00:00
Steve Purcell
a3d2ea68e3 Generate hard build errors when single-file packages are invalid 2013-03-28 11:13:24 +00:00
Steve Purcell
5893fb850e Print warning when a single-file package fails package-buffer-info 2013-03-27 19:35:45 +00:00
Steve Purcell
4e5b2905b4 Preserve line-ending encoding of single-file packages
See #619
2013-03-27 18:22:09 +00:00
Steve Purcell
919bb8bb32 Don't insert-file-literally with single-file packages
See #619
2013-03-27 18:12:57 +00:00
Steve Purcell
41c3ab7c49 After interactively building a package, prompt to install locally 2013-03-26 21:09:50 +00:00
Steve Purcell
58bf468f42 When writing single-file packages, update Version header
Closes #588
2013-03-26 20:24:02 +00:00
Steve Purcell
da15f0e6c7 Merge pull request #607 from milkypostman/create-recipe-helpers
Helpers for recipe authors
2013-03-26 01:10:04 -07:00
Steve Purcell
7828be20df Extract new pb/update-or-insert-version function 2013-03-25 14:23:47 +00:00
Steve Purcell
b2609a0a01 Extract default :files spec to a defconst 2013-03-24 13:17:25 +00:00
Steve Purcell
ae77c7ff77 Helpers for recipe authors
- Add helper function `package-build-create-recipe`
- Add `package-build-minor-mode`, enabled for recipes: C-c C-c builds current recipe
- Opening recipe files causes `package-build` to get loaded, and
  `package-build-minor-mode` to get enabled
2013-03-24 13:10:45 +00:00
Steve Purcell
9d78285d60 Pop up the archive-contents buffer after package-build-current-recipe 2013-03-24 11:28:42 +00:00
Steve Purcell
cafc402e71 Add "dir" and "*.info" to the default :files spec
Since most packages do not have `dir` or `*.info` files, this required
changing the behaviour when a wildcard entry in `:file` expands to an
empty file list. Previously, an error would be raised in this case; now,
an error is raised only when the *entire* `:files` spec expands to an
empty file list.

The slight danger, then, is that certain build failures due to upstream
reorganisation of files might be less obvious.
2013-03-13 21:00:24 +00:00
Donald Curtis
23d30ceb0a implement a better lazy loading of internal variables 2013-03-11 07:10:15 -05:00
Donald Curtis
0c0ee353e5 more typos... 2013-01-07 17:03:53 -06:00