summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2015-01-12 20:09:40 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2015-01-12 20:12:30 -0800
commitf6de5eb2e20454b0bff875d6e78d76bf5c93a86d (patch)
tree14ee4fc65a5e2fc38011b66409cdbcd9a5293d0b
parent3e6afcb30b9378d3cafc14d8cb2fca2930c244ac (diff)
Simplified release archive.
We now simply use git archive (which is also what github would use on their releases page). This is possible because we now include some generated files in the repository. The fact is that this is what people are going to use anyway, so instead of testing two different setups (our hand-crafted archive and the git repo), it's better just to use one.
-rw-r--r--.travis.yml6
-rw-r--r--Makefile46
2 files changed, 10 insertions, 42 deletions
diff --git a/.travis.yml b/.travis.yml
index e179160..d67dd57 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,9 +16,11 @@ before_install:
elif [ ${TRAVIS_OS_NAME:-'linux'} = 'osx' ]
then
brew update
- brew install python3
+ # We test on OSX without python3, to make sure that works
+ # brew install python3
brew install valgrind
fi
script:
- - make testtarball
+ - make
+ - make test
- PROG=`ls cmark-*.*/build/src/cmark` make leakcheck
diff --git a/Makefile b/Makefile
index 46f49f0..b77ab94 100644
--- a/Makefile
+++ b/Makefile
@@ -18,8 +18,10 @@ NUMRUNS?=10
PROG?=$(BUILDDIR)/src/cmark
BENCHINP?=README.md
JSMODULES=$(wildcard js/lib/*.js)
+VERSION?=$(SPECVERSION)
+RELEASE?=CommonMark-$(VERSION)
-.PHONY: all spec leakcheck clean fuzztest dingus upload jshint test testjs benchjs update-site upload-site check npm debug mingw archive tarball ziparchive testarchive testtarball testziparchive testlib bench astyle
+.PHONY: all spec leakcheck clean fuzztest dingus upload jshint test testjs benchjs update-site upload-site check npm debug mingw archive tarball ziparchive testtarball testziparchive testlib bench astyle
all: $(PROG) man/man3/cmark.3
@echo "Binaries can be found in $(BUILDDIR)/src"
@@ -53,28 +55,9 @@ mingw:
man/man3/cmark.3: src/cmark.h | $(PROG)
python3 man/make_man_page.py $< > $@ \
-archive: spec.html
- @rm -rf $(PKGDIR); \
- mkdir -p $(PKGDIR)/$(SRCDIR) \
- $(PKGDIR)/api_test $(PKGDIR)/man/man1 $(PKGDIR)/man/man3 \
- $(PKGDIR)/test $(PKGDIR)/data ; \
- srcfiles=`git ls-tree --full-tree -r HEAD --name-only $(SRCDIR) test api_test`; \
- for f in $$srcfiles; \
- do cp -a $$f $(PKGDIR)/$$f; \
- done; \
- cp -a $(SRCDIR)/scanners.c $(PKGDIR)/$(SRCDIR)/; \
- cp -a man/CMakeLists.txt man/make_man_page.py $(PKGDIR)/man;\
- cp -a man/man1/cmark.1 $(PKGDIR)/man/man1;\
- cp -a man/man3/cmark.3 $(PKGDIR)/man/man3;\
- cp -a data/CaseFolding-3.2.0.txt $(PKGDIR)/data/;\
- cp CMakeLists.txt $(PKGDIR); \
- perl -ne '$$p++ if /^### JavaScript/; print if (!$$p)' Makefile > $(PKGDIR)/Makefile; \
- cp -a Makefile.nmake nmake.bat $(PKGDIR); \
- cp -a README.md COPYING spec.txt spec.html $(PKGDIR)/; \
- tar czf $(TARBALL) $(PKGDIR); \
- zip -q -r $(ZIPARCHIVE) $(PKGDIR); \
- rm -rf $(PKGDIR) ; \
- echo "Created $(TARBALL) and $(ZIPARCHIVE)."
+archive:
+ git archive --prefix=$(RELEASE)/ -o $(RELEASE).tar.gz HEAD
+ git archive --prefix=$(RELEASE)/ -o $(RELEASE).zip HEAD
clean:
rm -rf $(BUILDDIR) $(MINGW_BUILDDIR) $(MINGW_INSTALLDIR) $(TARBALL) $(ZIPARCHIVE) $(PKGDIR)
@@ -102,23 +85,6 @@ $(TARBALL): archive
$(ZIPARCHIVE): archive
-testarchive: testtarball testziparchive
- rm -rf $(PKGDIR)
-
-testtarball: $(TARBALL)
- rm -rf $(PKGDIR); \
- tar xvzf $(TARBALL); \
- cd $(PKGDIR); \
- mkdir build && cd build && cmake .. && make -j2 && \
- (ctest || (cat build/Testing/Temporary/LastTest.log && exit 1))
-
-testziparchive: $(ZIPARCHIVE)
- rm -rf $(PKGDIR); \
- unzip $(ZIPARCHIVE); \
- cd $(PKGDIR); \
- mkdir build && cd build && cmake .. && make -j2 && \
- (ctest || (cat build/Testing/Temporary/LastTest.log && exit 1))
-
$(ALLTESTS): spec.txt
python3 test/spec_tests.py --spec $< --dump-tests | python3 -c 'import json; import sys; tests = json.loads(sys.stdin.read()); print("\n".join([test["markdown"] for test in tests]))' > $@