#!/usr/bin/make -f

# Upstream version and date as found in upstream jquery-ui.js file
timestamp = '2016-09-14'
version = $(shell dpkg-parsechangelog -SVersion | cut -d - -f 1 | sed 's/+dfsg//')

%:
	dh $@

override_dh_auto_configure:
	find demos -name "*.html" -exec sed --in-place "s#\.\./\.\./themes/base/all\.css#/usr/share/javascript/jquery-ui/themes/base/jquery-ui.css#" {} \;
	find demos -name "*.html" -exec sed --in-place "s#\.\./\.\./external/requirejs/require\.js#/usr/lib/nodejs/require.js#" {} \;
	dh_auto_configure

override_dh_auto_build: jquery-ui.js jquery-ui.min.js themes/base/jquery-ui.css
	for file in $$(find ui -name '*.js'); do \
		uglifyjs $$file --output $${file%.js}.min.js --compress; \
	done
	for file in $$(find themes -name '*.css'); do \
		yui-compressor $$file -o $${file%.css}.min.css; \
	done
	dh_auto_build

build.js: debian/build.js
	cp $< $@

jquery-ui.js: build.js
	nodejs /usr/lib/nodejs/r.js -o build.js
	sed -i -e 's/@VERSION/$(version)/; s/@DATE/$(timestamp)/' $@
	@nodejs --check $@ || (mv $@ $@.failed; false)

jquery-ui.min.js: jquery-ui.js
	uglifyjs $^ --output $@ --compress

themes/base/jquery-ui.css:
# Can probably be done with "nodejs /usr/lib/nodejs/r.js" as well, but don't
# know how now.
	cd themes/base ; cat \
		../../debian/intro.css \
		core.css \
		accordion.css \
		autocomplete.css \
		menu.css \
		button.css \
		controlgroup.css \
		checkboxradio.css \
		datepicker.css \
		dialog.css \
		draggable.css \
		resizable.css \
		progressbar.css \
		selectable.css \
		selectmenu.css \
		slider.css \
		sortable.css \
		spinner.css \
		tabs.css \
		tooltip.css \
		theme.css \
	> ../../$@
	sed -i -e 's/@VERSION/$(version)/; s/@DATE/$(timestamp)/' $@
# Strip comments containing names of defaults 
	sed -i -e 's#/\*{\w*}\*/##'g $@
# Strip copyright block per file in concatentated file
	sed -i -e 's#^/\*!$$##; s#^ \*.*##; s#^ \*$$##' $@

override_dh_auto_test: jquery-ui.js jquery-ui.min.js themes/base/jquery-ui.css
	nodejs --check jquery-ui.js
	nodejs --check jquery-ui.min.js
# Reference files are taken from the quick download ZIP file from
# http://jqueryui.com
	diff -Bw debian/reference-jquery-ui.js jquery-ui.js
	diff -Bw debian/reference-jquery-ui.css themes/base/jquery-ui.css

override_dh_compress:
# examples/autocomplete/search.php is needed for some examples to work;
# unfortunately this doesn't help with file browsing
	dh_compress --exclude=search.php

override_dh_auto_clean:
	find demos -name "*.html" -exec sed --in-place "s#/usr/share/javascript/jquery-ui/themes/base/jquery-ui\.css#../../themes/base/all.css#" {} \;
	find demos -name "*.html" -exec sed --in-place "s#/usr/lib/nodejs/require\.js#../../external/requirejs/require.js#" {} \;
